通過改進產品的性能對測試也是大有幫助的。很顯然的,如果產品的性能影響了測試速度,鑒別出性能比較差的產品功能,并度量該產品功能的性能,把它作為影響測試進度的缺陷,提交缺陷報告。
步驟二:定義需求
在前面的故事中,自動化工程師和自動化測試的發起者的目標存在偏差。為了避免這種情況,需要在自動化測試需求上保持一致。應該有一份自動化測試需求,用來描述需要測試什么。測試需求應該在測試設計階段詳細描述出來,自動化測試需求描述了自動化測試的目標。很多人認為自動化測試顯然是一件好事情,但是,他們不愿意對自動化測試的目標給出清晰的描述。下面是人們選用自動化測試的幾個原因:
1、加快測試進度從而加快產品發布進度
2、更多的測試
3、通過減少手工測試降低測試成本
4、提高測試覆蓋率
5、保證一致性
6、提高測試的可靠性
7、測試工作可以由技術能力不強測試人員完成
8、定義測試過程,避免過分依賴個人
9、測試變得更加有趣
10、提高了編程技能
開發管理、測試管理和測試人員實現自動化測試的目標常常是有差別的。除非三者之間達成一致,否則很難定義什么是成功的自動化測試。
當然,不同的情況下,有的自動化測試目標比較容易達到,有的則比較難以達到。測試自動化往往對測試人員的技術水平要求很高,測試人員必須能理解充分的理解自動化測試,從而通過自動化測試不斷發現軟件的缺陷。不過,自動化測試不利于測試人員不斷的積累測試經驗。不管怎么樣,在開始自動化測試之前應該確定自動化測試成功的標準。
手工測試人員在測試執行過程中的一些操作能夠發現不引人注意的問題。他們計劃并獲取必要的測試資源,建立測試環境,執行測試用例。測試過程中,如果有什么異常的情況發生,手工測試人員立刻可以關注到。他們對比實際測試結果和預期測試結果,記錄測試結果,復位被測試的軟件系統,準備下一個軟件測試用例的環境。他們分析各種測試用例執行失敗的情況,研究測試過程可疑的現象,尋找測試用例執行失敗的過程,設計并執行其他的測試用例幫助定位軟件缺陷。接下來,他們寫作缺陷報告單,保證缺陷被修改,并且總結所有的缺陷報告單,以便其他人能夠了解測試的執行情況。
千萬不要強行在測試的每個部分都采用自動化方式。尋找能夠帶來最大回報的部分,部分的采用自動化測試是最好的方法?;蛟S你可能發現采用自動化執行和手動確認測試執行結果的方式是個很好的選擇,或許你可以采用自動化確認測試結果和手工測試執行相結合和方式。我聽到有人講,除非測試的各個環節都采用自動化方式,否則不是真正意義上的自動化測試,這真是胡言亂語。如果僅僅是為了尋找挑戰,可以嘗試在測試的每個環節都采用自動化方法。但是,如果尋找成功測試的方法,請關注那些可以快速建立的,可以反復利用的自動化測試。
步驟三:驗證概念
在前面的故事當中,那個自動化測試人員在對測試方向一片茫然的情況下一頭扎進了自動化測試項目中。不過,在項目的進行中,他得到了來自各個方面的支持。
你可能還沒有認識到這一點,不過,你必須驗證自動化測試項目的可行性。驗證過程花費的時間往往比人們預期的要長,并且需要來自你身邊的各種人的幫助。
很多年前,我從事一個測試自動化項目的工作,參加項目的人員有各種各樣的好點子。我們設計了一個復雜的自動化測試系統,并且非常努力工作去實現系統的每個模塊。我們定期的介紹測試自動化的設計思路和工作進度,甚至演示已經完成的部分功能。但是,我們沒有演示如何利用該套測試自動化系統如何開展實際的測試工作。最后,整個項目被取消了,此后,我再也沒有犯這個錯誤。
你需要盡可能快地驗證你采用的測試工具和測試方法的可行性,站在產品的角度驗證你所測試的產品采用自動化測試的可行性。這通常是很困難的,需要盡快地找出可行性問題的答案,需要確定你的測試工具和測試方法對于被測試的產品和測試人員是否合適。你需要做是驗證概念 —— 一個快速、有說服力的測試套可以證明你選在測試工具和測試方法的正確性,從而驗證了你的測試概念。你選擇的用來驗證概念的測試套是評估測試工具的最好的方式。
原文轉自:http://www.uml.org.cn/Test/201312093.asp