對 測試工具 能夠發揮作用,大家都已經了解并認可了,但是很多引入自動化 測試工具 的軟件公司并沒有能夠讓 測試自動化 發揮應有的作用,其主要原因有以下幾個方面: 1. 不正確的觀念或不現實的期望 沒有建立一個正確的 軟件測試 自動化的觀念" name="description" />
MILY: 宋體"> 對測試工具能夠發揮作用,大家都已經了解并認可了,但是很多引入自動化測試工具的軟件公司并沒有能夠讓測試自動化發揮應有的作用,其主要原因有以下幾個方面:
沒有建立一個正確的軟件測試自動化的觀念,或操之過急,或認為測試自動化可以代替手工測試,或認為測試自動化可以發現大量新缺陷,或不夠重視而不愿在初期投入比較大的開支等。多數情況下,對軟件測試自動化存在過于樂觀的態度、過高的期望,人們都期望通過這種測試自動化的方案能解決目前遇到的所有問題。而同時測試工具的軟件廠商自然會強調其工具的優勢、有利的或成功的一面,可能對要取得這種成功所要做出持久不懈的努力和困難卻只字不提。結果,最初的期望,便得不到實現。
2.缺乏具有良好素質、經驗的測試人才 有些軟件公司舍得花幾十萬元去買測試工具軟件,但缺乏具有良好素質、經驗的測試人才。軟件測試自動化并不是簡簡單單地使用測試工具,還需要有良好的測試流程、全面的測試用例(Test case)等來配合腳本的編寫,這就要求測試人員不僅熟悉產品的特性和應用領域、熟悉測試流程,而且很好地掌握測試技術和編程技術。
3.測試工具本身的問題影響測試的質量 通過自動測試工具測試的Test Case是不需要再進行手工測試的,將自動測試與手工測試有效的結合,并在最終的測試報告中也體現自動測試的結果,是比較正確的做法。
4.沒有進行有效的、充分的培訓 人員和培訓是相輔相成的,如果沒有良好的、有效的、充分的培訓,測試人員對測試工具了解缺乏深度和廣度,從而導致其使用效率低下,應用結果不理想。這種培訓是一個長期的過程,不是通過一兩次講課的形式就能達到效果。而且,在實際的使用測試工具的過程中,測試工具的使用者可能還存在著這樣那樣的問題,這也需要有專人負責解決,否則的話,會嚴重影響測試工具的使用積極性。
例如,國內多數軟件公司是針對最終用戶進行項目開發--工程性質的軟件,而不是產品開發。項目開發周期短,不同的用戶需求不一樣,而且在整個開發過程中需求和用戶界面變動較大,這種情況下就不適合引入黑盒測試軟件,因為黑盒測試軟件的基本原理是錄制/回放(雖然通過修改,形成結構化測試腳本),對于不停變化的需求和界面,可能修改和錄制腳本的工作量大大超過測試實施的工作量,運用測試工具不但不能減輕工作量,反而加重了測試人員的負擔。這種情況下可以考慮引入白盒測試工具,以提升代碼質量。
6. 沒有形成一個良好的使用測試工具的環境 建立良好的測試工具應用環境,需要測試流程和管理機制做相適應的變化,也只有這樣,測試工具才能真正發揮其作用。例如,對于基于 GUI 錄制/回放的自動測試來說,產品界面的改變對腳本的正常運行影響較大。再者,白盒測試工具的一般在單元測試階段使用,而單元測試在多數公司是由開發人員自己完成,如果沒有流程來規范開發人員的行為,在項目進度壓力比較大的情況下,開發人員很可能就會有意識地不使用測試工具,來逃避問題。所以,有必要將測試工具的使用在開發和測試的流程中明確起來,如在項目各個里程碑所提交的文檔中,必須包含某些測試工具生成的報告,如集成測試時DevPartner工具生成的測試覆蓋率報告、Logiscope生成的代碼質量報告等。 7.其它技術問題和組織問題 軟件測試自動化所需要的測試腳本其維護量很大,而且軟件產品本身代碼的改變也需要遵守一定的規則,從而保證良好的測試腳本使用重復性,也就是說測試自動化和軟件產品本身不能分離。 其次,提供軟件測試工具的第三方廠家,對客戶的應用缺乏足夠理解,很難提供強有力的技術支持和具體問題的解決能力。也就是說,軟件測試工具和被測試對象—軟件產品或系統的互操作性會存在或多或少問題,加之技術環境的不斷變化,所有這些對測試自動化的應用推廣和深入,都帶來很大的影響。 還有安全性的錯覺,如果軟件測試工具沒有發現被測軟件的缺陷,并不能說明軟件中不存在問題,可能測試工具本身不夠全面的問題或測試的預期結果設置不對。 |
原文轉自:http://www.anti-gravitydesign.com