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