喻偉
摘要:隨著軟件工程越來越復雜,軟件的重要性也越來越大。軟件測試是一門涉及廣泛知識的學科,軟件測試行業(yè)在國內(nèi)方興未艾,測試工程師門需掌握各種測試技術和工具,測試團隊的管理也需完善和提高。論文介紹了軟件測試的含義、特點,還介紹了相關一下輔助工具;還簡述了執(zhí)行自動化測試的項目條件,還有測試的過程。
關鍵詞:自動化測試;手工測試;測試工具;功能測試;回歸測試
1自動化測試的含義
1.1自動化測試
自動化測試是測試人員將人工操作行為轉換為機器執(zhí)行,從而減少頻繁重復工作的內(nèi)容,減輕工作量,還可以達到省時省力。通常在編寫完測試用例并通過各部門的評審后,執(zhí)行人員會按照測試用例描述的操作步驟依次執(zhí)行測試,然后將返回內(nèi)容與預期內(nèi)容進行對比,驗證是否滿足實際。在這個過程,為了獲得更優(yōu)秀的效率,便有了對使用機器執(zhí)行操作的訴求。
自動化測試,即是使用機器替代人力進行的一系列測試驗證工作,它關注的是,整個驗證過程是由電腦按照既定邏輯自動實現(xiàn)的,更表現(xiàn)了自動化的思維。
1.2自動化和手工區(qū)別
部分測試人員和一些不明白自動化測試的程序員、產(chǎn)品經(jīng)理、項目經(jīng)理甚至老板,一直對手工測試和自動化測試這兩種方法存在很多爭議的,但其實這兩種測試方法應一直并存存在,誰也無法取締誰,各自存在不同的優(yōu)劣勢。
手工測試也因有其缺點,亟需一種補充手段,在這需求背景下自動化測試應運而生,但自動化測試不應全盤接受,將手工測試棄之如敝履,因為對數(shù)據(jù)和業(yè)務邏輯的正確性檢驗、人們對美觀的具現(xiàn)化,這些都是人才能具備,機械在現(xiàn)階段技術水平暫無法踏足。
但是測試只使用手工方式,那么就會出現(xiàn)比較低的測試工作效率,無法實現(xiàn)高效率,尤其重復工作如回歸測試等,這種無味且枯燥的工作重復,就使得測試人員造成壓力、情緒低落等不良影響。這就是自動化應一種補充的手段,而不應取代手工。
1.3自動化測試的優(yōu)缺點:
1.3.1優(yōu)點:
1)對系統(tǒng)項目開展回歸驗證的更有效率。在接口層面更是效果顯著。因接口測試的實現(xiàn)是按照用例的操作步驟設計的,易于將結果與設計的理想值對比,機械大量一起執(zhí)行,因而效率極大得到提升,加快項目進度。
2)可以執(zhí)行更多重復性高的測試。無論是API還是UI自動化,可讓大量重復性的測試在極短的時間運行完畢,避免人工因大量重復造成錯漏。
3)可以執(zhí)行一些手工測試幾乎不能完成的測試任務。舉例對于性能測試的執(zhí)行需要幾千幾萬的人員,1s內(nèi)同時點擊、秒殺,同時瀏覽商品詳情頁面,同時登錄等,但是卻可以通過,編寫腳本,通過調(diào)控并發(fā)數(shù),模擬巨量用戶操作,完成性能檢測任務。
4)測試資源的釋放。自動化實現(xiàn)繁多且枯燥的操作,從而使機械式的工作狀態(tài)的人員得以解放,有有條件創(chuàng)造更好的測試框架和用例??梢宰寽y試人員專注于流程、業(yè)務、界面、數(shù)據(jù)驗證部分,提高手工測試的準確性和效率。
1.3.2缺點:
自動化測試無法百分百的發(fā)現(xiàn)系統(tǒng)中全部問題,但自動化測試也能發(fā)現(xiàn)軟件包含了負載測試,性能測試,回歸測試等百分之三十三點三的問題。而業(yè)務邏輯、頁面設計錯誤的百分之七十二點七的問題發(fā)現(xiàn),則現(xiàn)技術不能完成,
1.4手工測試的不可替代性
工具只能執(zhí)行既定策略進行測試任務,不具備自主辨別邏輯錯誤的能力,而人恰恰擅長于此,這就成了不可替代手工的原因。具體表示在以下幾點:
1)設計:測試經(jīng)驗、對業(yè)務錯誤的設想能力是工具不具備的。
2)系統(tǒng)的體驗方面:隨機不按既定邏輯的操作,對美的理解都是工具腳本難以實現(xiàn)的領域。
3)正確性的檢驗:工具對正確性的判斷都來自程序員,不具備智能理解需求的能力。
2使用自動化測試的前提條件
自動化測試有其實行的前提條件,要分析系統(tǒng)的開發(fā)模型,與實施自動化是否適合,一般需考慮以下幾點:
2.1 需求變動是否頻繁
需求變動會引起測試用例的更新或者失效,從而相應以此為基的自動化腳本也會發(fā)生更新或者失效。當腳本發(fā)生改變后需要調(diào)試修改,甚至需要開發(fā)新的組件包來滿足測試需求,都更大了加重了測試成本。這樣與實現(xiàn)自動化降低測試成本的目的相違背,這樣可以將這項目的自動化測試實施標記為失敗。
對于系統(tǒng)整體功能需求是穩(wěn)定的,修改多數(shù)存在邏輯相關較多的小部分功能時,可以有選擇地將穩(wěn)定功能實現(xiàn)自動化。
2.2 項目周期足夠長
因自動化框架和自動化腳本編寫都是需要開發(fā),需要一個或多個技術強、經(jīng)驗豐富的測試人員或測試開發(fā)人員,成本往往不低,實現(xiàn)都需要一定時間,如果項目規(guī)模小,復用性比較低,那么將其測試工作自動化,明顯是一個不劃算的行動。
2.3 自動化測試腳本可重復使用
自動化腳本需要一個或多個技術強、經(jīng)驗豐富的測試人員或測試開發(fā)人員,成本往往不低,所以應制定一套框架和標準提供復用性,最大化經(jīng)濟效益。
2.4做“驗證”,效果更好
因為自動化測試存在一定的缺點,不擅長發(fā)現(xiàn)問題,而是更擅長對問題修改的驗證,或是用于對系統(tǒng)進行改動后,對原有功能進行可用性檢查。
3自動化測試框架的實現(xiàn)過程
3.1 需求分析
當項目有實現(xiàn)自動化的條件、技術和資源時。測試領導們就可以針對于項目開發(fā)測試過程,考慮各方面的因素,以便于后續(xù)自動化測試工作的開展實現(xiàn)。
3.2自動化測試框架的搭建
以小型公司UI自動化為例,用最簡單實際的方式。
3.2.1要關注業(yè)務。
當架構師或tester只為了炫技,為了實現(xiàn)而實現(xiàn),不貼合業(yè)務,不能確實為測試工作做出貢獻,這樣偏離自動化的初衷,導致項目測試質(zhì)量下降,造成損失。
3.2.2標準化,先苦后甜
有統(tǒng)一的技術棧,運行環(huán)境,代碼風格,使得閱讀性、可維護性都會上一個臺階,在框架工具包和test case日益增多時,更能體現(xiàn)標準化在效率和質(zhì)量上的可貴。
3.2.3理性看待、合理運用
要計算自動化的實現(xiàn)成本,效益和成本的不匹配,不適合做自動化的就不要強求。但也不應自動化暫時實現(xiàn)得不好就否定它。未來AI發(fā)展也會影響測試行業(yè),自動化的發(fā)展會乘風再踏上另一個臺階。
4結束語
在本論文的寫作過程中,通過上網(wǎng)和查閱書籍收集相關資料從中了解到了軟件測試的發(fā)展歷程,軟件自動化測試的由來,自動化測試的性能和其所用的工具,這些工具所使用的使用范圍。
參考文獻:
[1]《輕輕松松自動化測試》 作者,朱少民,由電子工業(yè)出版社于2009-7-1出版
[2]姚征。對機械設計制造及 其自動化專業(yè)課程設置的探討[J].電子制作,2014(6)。
[3]王冬冬。分析機械設計制造及其自動化中計算機技術的應用研究,2017。
沈陽理工大學應用技術學院