自動化測試的7個步驟

發表于:2015-04-24來源:uml.org.cn作者:火龍果軟件點擊數: 標簽:自動化測試
我們對自動化測試充滿了希望,然而,自動化測試卻經常帶給我們沮喪和失望。雖然,自動化測試可以把我們從困難的環境中解放出來,在實施自動化測試解決問題的同時,又帶來同樣

  【摘要】 我們對自動化測試充滿了希望,然而,自動化測試卻經常帶給我們沮喪和失望。雖然,自動化測試可以把我們從困難的環境中解放出來,在實施自動化測試解決問題的同時,又帶來同樣多的問題。在開展自動化測試的工作中,關鍵問題是遵循軟件開發的基本規則。本文介紹自動化測試的 7 個步驟:改進自動化測試過程(improve the testing process),定義需求(define requirements),驗證概念(prove the concept),支持產品的可測試性(champion product testability),具有可延續性的設計(design for sustainability),有計劃的部署(plan for deployment)和面對成功的挑戰。按照以上 7 個步驟,安排你的人員、工具和制定你的自動化測試項目計劃,你將會通往一條成功之路。

  一個故事 :

  我在很多軟件公司工作過,公司規模有大有小,也和來自其他公司的人員交流,因此經歷過或者聽說過影響自動化測試效果的各種各樣的的問題。本文將提供若干方法規避可能在自動化測試中出現的問題。我先給大家講一個故事,以便各位了解自動化測試會出現哪些問題。

  以前,我們有一個軟件項目,開發小組內所有的人都認為應該在項目中采用自動化測試。軟件項目的經理是 Anita Delegate 。她評估了所有可能采用的自動化測試工具,最后選擇了一種,并且購買了幾份拷貝。她委派一位員工 ——Jerry Overworked 負責自動化測試工作。Jerry 除了負責自動化測試工作,還有其他的很多任務。他嘗試使用剛剛購買的自動化測試工具。當把測試工具應用到軟件產品測試中的時候,遇到了問題。這個測試工具太復雜,難于配置。他不得不給測試工具的客戶支持熱線打了幾個電話。最后, Jerry 認識到,他需要測試工具的技術支持人員到現場幫助安裝測試工具,并找出其中的問題。在打過幾個電話后,測試工具廠商派過來一位技術專家。技術專家到達后,找出問題所在,測試工具可以正常工作了。這還算是順利了。但是,幾個月后,他們還是沒有真正實現測試自動化, Jerry 拒絕繼續從事這個項目的工作,他害怕自動化測試會一事無成,只是浪費時間而已。

  項目經理 Anita 把項目重新指派給 Kevin Shorttimer ,一位剛剛被雇傭來做軟件測試的人員。 Kevin 剛剛獲得計算機科學的學位,希望通過這份工作邁向更有挑戰性的、值得去做的工作。 Anita 送 Kevin 參加工具培訓,避免 Kevin 步 Jerry 的后塵 —— 由于使用測試工具遇到困難而變得沮喪,導致放棄負責的項目。 Kevin 非常興奮。這個項目的測試需要重復測試,有點令人討厭,因此,他非常愿意采用自動化測試。一個主要的版本發布后, Kevin 準備開始全天的自動化測試,他非??释玫揭粋€機會證明自己可以寫非常復雜的,有難度的代碼。他建立了一個測試庫,使用了一些技巧的方法,可以支持大部分的測試,這比原計劃多花費了很多時間,不過, Kevin 使整個測試工作開展的很順利。他用已有的測試套測試新的產品版本,并且確實發現了 bug 。接下來, Kevin 得到一個從事軟件開發職位的機會,離開了自動化的崗位。

  Ahmed Hardluck 接手 Kevin 的工作,從事自動化測試執行工作。他發現 Kevin 留下的文檔不僅少,并且沒有太多的價值。 Ahmed 花費不少時間去弄清楚已有的測試設計和研究如何開展測試執行工作。這個過程中, Ahmed 經歷了很多失敗,并且不能確信測試執行的方法是否正確。測試執行中,執行失敗后的錯誤的提示信息也沒有太多的參考價值,他不得不更深的鉆研。一些測試執行看起來仿佛永遠沒有結束。另外一些測試執行需要一些特定的測試環境搭建要求,他更新測試環境搭建文檔,堅持不懈地工作。后來,在自動化測試執行中,它發現幾個執行失敗的結果,經過分析,是回歸測試的軟件版本中有 BUG ,導致測試執行失敗,發現產品的 BUG 后,每個人都很高興。接下來,他仔細分析測試套中的內容,希望通過優化測試套使測試變得更可靠,但是,這個工作一直沒有完成,預期的優化結果也沒有達到。按照計劃,產品的下一個發布版本有幾個主要的改動, Ahmed 立刻意識到產品的改動會破壞已有的自動化測試設計。接下來,在測試產品的新版本中,絕大多數測試用例執行失敗了, Ahmed 對執行失敗的測試研究了很長時間,然后,從其他人那里尋求幫助。經過商討,自動化測試應該根據產品的新接口做修改,自動化測試才能運轉起來。最后,大家根據新接口修改自動化測試,測試都通過了。產品發布到了市場上。接下來,用戶立刻打來投訴電話,投訴軟件無法工作。大家才發現自己改寫了一些自動化測試腳本,導致一些錯誤提示信息被忽略了。雖然,實際上測試執行是失敗的,但是,由于改寫腳本時的一個編程錯誤導致失敗的測試執行結果被忽略了。這個產品終于失敗了。

原文轉自:http://www.uml.org.cn/Test/201312093.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97