軟件測試管理beta測試和缺陷轟炸
利用軟件測試軟件是加快工作進展的絕佳方式,有助于找出其它方式可能遺漏的軟件缺陷。
成為高效測試員的另一條途徑是借助他人的力量。
一、讓他人測試你的軟件
1)讓其他人檢查軟件有助于打破殺蟲劑怪現象;
2)人們互相之間不僅看到的不同,而且測試方法也不同;
3)讓別人幫忙測試有助于消除煩躁心情;
4)觀察別人解決問題的方式是學習新測試技術的上佳方法。
人們很容易落入希望自己單獨負責測試軟件的陷阱中,不要這樣做。
二、測試共享
可能的話,除非軟件項目特別小,否則至少有幾個測試員來測試軟件。
一個常用方法是在一定時間內簡單互換測試任務。
至少可以讓他人花時間審查等價劃分和測試用例,他們可以根據自身經驗為測試提供新的或不同的思路。
共享測試任務的有趣方法是安排缺陷轟炸(bug bash)。
缺陷轟炸:是在一段時間(一般為幾個小時)內整個測試小組停下指定的常規測試任務,參加轟炸。
在缺陷轟炸中,選擇軟件中某一區域,所有測試員集中測試這個區域或者這組特性。
選擇區域可能是軟件缺陷聚集之處,看是否還有更多潛伏的問題;也可能是懷疑不存在軟件缺陷的區域。
利用缺陷轟炸可以確定普通測試是否會遺漏軟件缺陷,代碼編寫質量如何。
選擇區域雖然有不少內在規則,但是最終要用缺陷轟炸讓許多人從特定的軟件區域尋找軟件缺陷。
請求協助尋找軟件缺陷的最佳伙伴是產品支持或者客戶服務小組——他們在客戶打電話或者通過電子郵件咨詢問題時與客戶交談。
注意:產品支持人員接到的最常見求援電話可能是易用性問題。許多打來電話的人只是想知道軟件怎樣使用,因此較好的做法是讓產品支持小組在設計早期協助測試,以指出和修復易用性軟件缺陷。
三、beta測試
另一種讓他人驗證和確認軟件的常用過程稱為beta測試(beta testing)。
beta測試是用于描述外部測試過程的術語。在該過程中,軟件分發給選定的潛在客戶群,讓他們在實際環境中使用軟件。
beta測試一般在產品開發周期行將結束時進行。理想情況下只是確認軟件準備向實際客戶發布。
beta測試的目標可能很廣泛,從讓新聞媒體報道軟件初期使用印象倒用戶界面確認到最后一步尋找軟件缺陷。
軟件測試員要讓管理beta測試的人知道beta測試的目標。
考慮以下幾個問題:
1)誰是beta測試者?
2)怎樣知道beta測試者使用過軟件?
3)beta測試可以成為尋找配置和兼容性軟件缺陷的好方法;
4)易用性測試是beta測試能有所作為的另一個領域;
5)撇開配置、兼容性和易用性,beta測試在尋找軟件缺陷方面竟然出人意料的差。
注意:試圖依靠beta測試來代替實際測試是軟件產品開發的主要誤區之一,不要這樣做。如果這樣做可行,為什么軟件設計和編程不這樣做呢?
6)beta測試程序會耗費測試員大量的時間。
測試新手的常見任務是與beta客戶一起,幫助解決他們的問題,回答提問,確認他們找到的軟件缺陷。
經證實,beta測試是使獨立、翔實的測試數據回歸軟件的好方法,但是必須正確定義和管理才有效——幾乎可以說這也需要測試。
四、外包測試
許多公司的一種常用做法是向擅長各方面軟件測試的其它公司外包或提交部分測試工作。
配置和兼容性測試通常是外包測試的理想選擇,這些測試一般需要擁有眾多不同硬件和軟件組合的大小測試實驗室,以及一些人員來管理。
本地化測試是另一個通常被外包測試的例子。除非擁有相當龐大的測試小組,否則配備能懂產品支持的各種語言的測試員是不可能的。
作為測試新手,雖然不要求決定外包哪些測試任務,但是如果外包的測試是你負責測試的軟件部分,你就需要與外包公司一起工作。
外包任務的成敗很大程度上取決于軟件測試員??紤]:1)測試公司究竟要咨詢哪些測試任務?誰來定義?誰來批準?
2)他們遵守哪個進度?誰來制定進度?如果超過最后期限會怎樣?
3)為測試公司提供哪些內容?
4)測試公司提供哪些內容?至少要提供他們找出的軟件缺陷。
5)如何與測試公司聯系?
6)怎樣知道測試公司是否滿足期望?他們怎樣知道是否滿足期望?
以上課題在匆忙外包測試任務時常常被忽視。
五、總結
應該使用任何方式使測試更加有效。
1)是決定使用技術;
2)是要求增加人手;
3)是靠蠻力手工測試。
每一個軟件測試問題都是唯一的,每次測試都能夠學到新知識。
原文轉自:http://www.anti-gravitydesign.com