軟件測試報告設(shè)計錯誤
計算機程序為人們帶來好處,那是它們的工作。程序是包括設(shè)備、其他軟件和人員的系統(tǒng)的組成部分。如果軟件產(chǎn)品難以使用,使用時容易搞亂,不能與其他軟件協(xié)同工作,或只捆綁在范圍很窄的硬件上,那么軟件產(chǎn)品的價值就會降低。測試員可能是開發(fā)團隊中看到或評估設(shè)計錯誤及其他現(xiàn)用系統(tǒng)影響的唯一成員,如果測試員不報告設(shè)計錯誤,誰還會報告呢?
有人(包括一些測試顧問)認為測試員不應(yīng)該在錯誤報告灰粽包含設(shè)計錯誤,因為程序的設(shè)計在項目初期就應(yīng)該已經(jīng)定下來,測試員沒有專門知識評估設(shè)計。我們認為對于這兩個方面,這都是一種錯誤觀點。
關(guān)于設(shè)計的后期評判。即使產(chǎn)品事先已經(jīng)完全設(shè)計好(在現(xiàn)實世界的真實項目中不太可能),人們也要到系統(tǒng)構(gòu)架完成時才會充分理解系統(tǒng)的含義。只有當開始使用系統(tǒng)時才會發(fā)現(xiàn)系統(tǒng)設(shè)計錯誤,這完全是合理的。當發(fā)現(xiàn)設(shè)計問題時必須報告,很多設(shè)計問題要到系統(tǒng)幾乎完成時才會被發(fā)現(xiàn)。
關(guān)于專門知識的問題。的確,測試員理解和評估設(shè)計決策的能力是不同的。另一方面,測試員是公司中為數(shù)不多的在軟件銷售或正式使用之前,從頭到尾考慮完整系統(tǒng)的人。如果測試員沒有相關(guān)的專門技術(shù),則需要小心。例如,測試員在批評程序的用戶界面之前,也許應(yīng)該核對一下針對該系統(tǒng)編寫的用戶界面設(shè)計指南,并向比自己更了設(shè)計問題的人咨詢。不過如果確信自己發(fā)現(xiàn)了一個錯誤,可將其放入跟蹤系統(tǒng)中。
測試小組通過聘用具有不同背景的員工,可以增強自身評估設(shè)計錯誤的能力。具有領(lǐng)域?qū)iT知識的測試員(了解該產(chǎn)品將怎樣使用、為什么這樣使用的深入知識)能夠?qū)y試和解釋集中到會為合理用戶帶來不便的問題上。這只是對測試小組有幫助的與主題有關(guān)的專門知識的一個領(lǐng)域。如果一個測試員了解數(shù)據(jù)庫設(shè)計,另一個測試員了解網(wǎng)絡(luò)安全,還有一個了解用戶界面,等等,測試小組作為一個整體,就可以對產(chǎn)品不同設(shè)計方面做出有見識,有價值的評估。