2008年8月5日 星期二

軟體測試的動作完成後,我們還該做些甚麼...

產品進入驗證的程序,我們驗出了Bug...那相關的人還需要做哪些事情呢?
這個問題,我也常常思考。例如:
「我都已經驗出Bug,你們開發人員應該想辦法找出原因去修啊!!」
或是
「我找出Bug了,我是不是可以重現這個Bug...我應該要如何重現?」

剛剛在網路上看些有關軟體品質工作的文章,其中有段敘述如下:

在很多時候我們都把測試的目的定位為尋找軟件的BUG,而且是儘可能的找出BUG來,而測試人員所做的事情就是找軟件的毛病,只要找出毛病就可以了,這樣很容易帶了一系列的問題。比如測試人員給某網站做測試,並遞交了一份簡單的測試報告:「當100用戶共同按某提交按鈕時,發生大量的提交失敗」。對於測試人員來說,他已經完成了他自己的任務,找出了BUG,但是,這樣的測試報告對於開發人員和項目管理者卻毫無用處。報告中並未提及造成提交失敗的原因,是硬件資源不足、網絡問題、支撐軟件參數設置錯誤還是應用開發問題等等。

測試的目的是證偽,但不能片面的理解為簡單的找不BUG就可以了。軟件測試應該經歷以下四個步驟:

1.測試人員描述發現的問題(找到BUG);
2.測試人員詳細闡明是在何種情況下測試發現的問題,包括測試的環境、輸入的數據、發現問題的類型、問題的嚴重程度等情況;
3.測試人員協同開發人員一起去分析BUG的原因,找出軟件的缺陷所在;
4.測試人員根據解決的情況進行分類彙總,以便日後進行軟件設計的時候提供參考,避免以後出現類似軟件缺陷。


這個文章來自中國,自然有些用詞比較不習慣。
沒辦法,台灣有關軟體品質的文章或是論壇不多,一方面資源不夠,一方面台灣大多數的軟體開發公司都是中小型企業,要做到所謂的「軟體品質管理」,他們就會想到CMMI,一旦想到CMMI那就代表很多的錢錢...然後大家又閃到老遠...

軟體測試的目標是甚麼,其實就是改善軟體的品質。
除了抓出Bug外,我們是不是還可以做的更多呢?

1 則留言:

David Ko (柯仁傑) 提到...

Hi

很久沒看到全職的QA, 歡迎一起交流軟體測試上的心得.

最近在survey agile testing的文章, 歡迎給一些意見
http://www.wretch.cc/blog/kojenchieh