作為一名研發(fā)人員,與測試人員打交道的機會是非常多的。研發(fā)人員與測試人員是制約與被制約的關系??上У氖茄邪l(fā)是被測試制約,原因很簡單:測試人員決定了研發(fā)人員出活的質(zhì)量好壞(從根本原因上說,質(zhì)量的好壞都是研發(fā)人員做的,測試人員只是檢驗,從而讓其更好)。
測試人員的日常工作就是負責測試研發(fā)人員開發(fā)的產(chǎn)品是不是可用的,這就好比一個廚師炒了一盤菜,有專門的品菜員來嘗你炒的好不好吃,品完了再給客人上桌(當然現(xiàn)實中可能沒有這回事)。如果這個品菜員發(fā)現(xiàn)你辣椒放多了,那你就完了,弄不好一個月的菜都白炒了。如果品菜員沒有發(fā)現(xiàn)辣椒放多了,而客人吃的時候發(fā)現(xiàn)辣椒放多了,吃完了直打噴嚏,并因此大發(fā)雷霆,甚至叫人把店砸了,那問題就嚴重了。這時候這個嚴重的問題導致品菜員和廚師要各打50大板,這50大板是各打各的沒有任何關系,甚至廚師那邊如果不打,品菜員這邊也不管,他只挨他的打就是了,也就是廚師與品菜員是屬于不同的考評體系。因此每個合格的品菜員在品菜的時候都想盡了一切辦法,千方百計挑毛病。
研發(fā)與測試的關系就是廚師與品菜員的關系,這時候你知道了品菜員有多么關鍵,因為如果一盤不合格的菜上了桌,吃出問題麻煩就大了。因此品菜員大權在握決定了廚師炒菜的好壞。說研發(fā)一直被測試欺負一點也不為過,因為品菜員是菜品質(zhì)量的最后一道關,他放過去菜就上桌了。對于產(chǎn)品來說,測試是產(chǎn)品的最后一道關,如果他沒發(fā)現(xiàn)問題,產(chǎn)品就往外賣了,如果用戶這時候發(fā)現(xiàn)問題,后果可想而知。因此測試可以對研發(fā)進行制約,提出質(zhì)量上的各種要求,研發(fā)不服可以上訴,但是研發(fā)自己不具備對測試提出的問題拍板的權力,他只有解釋的權力。
這就是著名的測試驅(qū)動研發(fā)模型,簡單來說就是測試說了算,他說這里有問題要改,研發(fā)就要改,如果研發(fā)說不改,可以說服測試,但測試有拒絕的權力,如果研發(fā)仍堅持不改,那就要上訴。如果測試說不改(這種情況基本不存在,從上面可以理解測試人員對產(chǎn)品質(zhì)量的要求要遠高于研發(fā),這就好比如果品菜員覺得這盤菜炒得好,那廚師可能不管真好還是假好,馬上上桌,所以品菜員一定要把握菜品的整體質(zhì)量),那研發(fā)一般默認。