崔國(guó)華 張皎丹
[摘 ? ?要]信息技術(shù)軟件在各個(gè)行業(yè)中應(yīng)用,包括軍事領(lǐng)域、公共交通、電子電器、互聯(lián)網(wǎng)IT等領(lǐng)域,軟件方便了人們的生活,提升人們的生活品質(zhì)。但軟件數(shù)量過多時(shí),每個(gè)軟件的質(zhì)量無法確定,還需通過軟件測(cè)試分析軟件開發(fā)質(zhì)量,及時(shí)找到軟件漏洞,通過自動(dòng)化測(cè)試方法可快速獲得數(shù)據(jù),對(duì)結(jié)果進(jìn)行分析,幫助開發(fā)人員解決軟件問題,提升軟件使用范圍及用戶體驗(yàn)感。
[關(guān)鍵詞]軟件;自動(dòng)化測(cè)試;測(cè)試技術(shù)
[中圖分類號(hào)]TP311.52 [文獻(xiàn)標(biāo)志碼]A [文章編號(hào)]2095–6487(2022)03–0–03
Research and Application of Software Automation Testing Method
Cui Guo-hua,Zhang Jiao-dan
[Abstract]Information technology software is applied in various industries, including military field, public transportation, electronic appliances, Internet IT and other fields. Software facilitates people's life and improves people's quality of life. However, when the number of software is too large, the quality of each software cannot be determined. It is necessary to analyze the software development quality through software testing and find software vulnerabilities in time. Through automated testing methods, data can be quickly obtained, and the results can be analyzed to help developers solve software problems. Improve the scope of software use and user experience.
[Keywords]software; automated testing; testing technology
全球計(jì)算機(jī)技術(shù)高速發(fā)展,各個(gè)行業(yè)均普遍使用軟件技術(shù),軟件在使用過程中性能質(zhì)量是軟件有效應(yīng)用的關(guān)鍵。軟件種類及數(shù)量較多且開發(fā)難度大,為測(cè)試人員工作帶來巨大的挑戰(zhàn)。部分中小型企業(yè)軟件測(cè)試力量不足,軟件測(cè)試人才數(shù)量不多,無法對(duì)開發(fā)的軟件進(jìn)行測(cè)試。短時(shí)間開發(fā)高質(zhì)量軟件具有必要性,軟件測(cè)試是整個(gè)開發(fā)環(huán)節(jié)中的重點(diǎn),貫穿整個(gè)軟件開發(fā)周期。伴隨軟件底層算法更加復(fù)雜,軟件結(jié)構(gòu)也不斷豐富,傳統(tǒng)測(cè)試技術(shù)無法滿足新軟件產(chǎn)品需求,市場(chǎng)上開發(fā)的軟件需要盡快投入市場(chǎng),導(dǎo)致測(cè)試過程及結(jié)果可能出現(xiàn)遺漏,軟件測(cè)試的整體有效性不足。對(duì)此,采取新型軟件測(cè)試技術(shù),開發(fā)軟件自動(dòng)化測(cè)試功能,有利于高質(zhì)量完成軟件測(cè)試目標(biāo),使軟件產(chǎn)品盡快進(jìn)入市場(chǎng)。
1 軟件自動(dòng)化測(cè)試的意義
企業(yè)開發(fā)軟件產(chǎn)品過程中,在設(shè)計(jì)功能時(shí)思考用戶需求及產(chǎn)品可靠性,開發(fā)人員技術(shù)水平存在差異,容易導(dǎo)致軟件開發(fā)存在疏漏,軟件測(cè)試的重要性隨之凸顯。軟件測(cè)試可協(xié)助軟件開發(fā)人員發(fā)現(xiàn)軟件的漏洞,包括代碼Bug及功能問題、實(shí)際運(yùn)行困境。在軟件測(cè)試技術(shù)的干預(yù)下,及時(shí)將軟件故障排除,保證軟件穩(wěn)定及健康的運(yùn)行。在軟件測(cè)試技術(shù)發(fā)展中,相比人工測(cè)試方法,自動(dòng)化軟件測(cè)試有利于提升測(cè)試的整體效率。企業(yè)常見的測(cè)試方式是自動(dòng)化結(jié)合人工測(cè)試,并非是單純的自動(dòng)化測(cè)試,這種方式也在一定程度上體現(xiàn)了自動(dòng)化測(cè)試技術(shù),雖然具有較大的優(yōu)勢(shì),但不能完全消除軟件問題,通過人為測(cè)試有利于補(bǔ)充自動(dòng)化測(cè)試的缺陷。自動(dòng)化技術(shù)在一次檢測(cè)后,可基本找到軟件問題,人工針對(duì)問題進(jìn)行二次測(cè)試,隨后提出解決問題的方案,降低整體檢測(cè)成本,提升軟件測(cè)試工作效率。
2 自動(dòng)化軟件測(cè)試技術(shù)的分類
2.1 功能驅(qū)動(dòng)下的自動(dòng)化測(cè)試技術(shù)
該技術(shù)將獨(dú)立項(xiàng)目劃分多個(gè)模塊,劃分的子模塊作為單獨(dú)測(cè)試的載體,與其他模塊分離,測(cè)試人員以此完成單獨(dú)模塊測(cè)試,數(shù)據(jù)及函數(shù)均與原本項(xiàng)目一致。在這種功能分區(qū)基礎(chǔ)上,測(cè)試人員便于維護(hù)及快速測(cè)試,工作效率進(jìn)一步提升。
2.2 關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測(cè)試技術(shù)
該技術(shù)相比其他測(cè)試技術(shù),關(guān)注邏輯界面,在測(cè)試過程中屬于比較抽象的測(cè)試方法,對(duì)腳本進(jìn)行抽象化處理,便于測(cè)試人員關(guān)注軟件邏輯功能,無需關(guān)注代碼,降低測(cè)試整體難度,在測(cè)試過程中也便于更改。關(guān)鍵字與數(shù)據(jù)建立聯(lián)系后,測(cè)試過程中將測(cè)試的腳本與數(shù)據(jù)分開,在具體場(chǎng)景及細(xì)節(jié)上進(jìn)行相關(guān)描述,整個(gè)測(cè)試過程更為抽象。
2.3 數(shù)據(jù)驅(qū)動(dòng)自動(dòng)化測(cè)試技術(shù)
在該技術(shù)中將被檢測(cè)的數(shù)據(jù)與測(cè)試腳本分離,被檢測(cè)的數(shù)據(jù)以多種形式儲(chǔ)存,將期望值及輸入值等記錄列表,每次讀取數(shù)據(jù)時(shí)不會(huì)產(chǎn)生遺漏。優(yōu)于測(cè)試腳本與數(shù)據(jù)分離,其本身具有儲(chǔ)存數(shù)據(jù)信息標(biāo)記,腳本也可完成獨(dú)立測(cè)試,保持自動(dòng)化測(cè)試的穩(wěn)定性。在測(cè)試過程中劃分不同模塊,測(cè)試人員維護(hù)較為便利,便于測(cè)試人員創(chuàng)新測(cè)試方式。數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試技術(shù)也存在缺陷,主要體現(xiàn)在軟件兼容性上,同一測(cè)試腳本可在不同軟件中應(yīng)用,需有效進(jìn)行改動(dòng),整體測(cè)試成本隨之增高。
2.4 指令驅(qū)動(dòng)自動(dòng)化測(cè)試技術(shù)
該測(cè)試技術(shù)在驅(qū)動(dòng)數(shù)據(jù)的基礎(chǔ)上發(fā)展,通過響鈴可驅(qū)動(dòng)系統(tǒng),快捷完成測(cè)試。相比數(shù)據(jù)驅(qū)動(dòng)測(cè)試方法,指令驅(qū)動(dòng)方式無需單純儲(chǔ)存數(shù)據(jù),而是將數(shù)據(jù)存放在指令中,該方法在一定程度上提升了測(cè)試效率。
2.5 錄制回放
該技術(shù)是建立在腳本寫法的基礎(chǔ)上,原理是將書寫的腳本錄制及回放,腳本對(duì)軟件功能進(jìn)行模擬,軟件用戶完成對(duì)應(yīng)的操作,該技術(shù)無需過多的技巧,整體架構(gòu)穩(wěn)定性不足,已經(jīng)逐漸不在軟件測(cè)試中應(yīng)用,屬于軟件早期自動(dòng)化測(cè)試技術(shù)。
2.6 獨(dú)立測(cè)試腳本
線性腳本難度低,本身可使用不同語(yǔ)言,編程后完成交互測(cè)試,測(cè)試過程相對(duì)便捷,但也存在比較明顯的缺陷,系統(tǒng)及腳本屬于綁定方式,受到腳本影響會(huì)增加測(cè)試人員的工作難度及浪費(fèi)更多的測(cè)試成本,維護(hù)費(fèi)用較高,適合中小型企業(yè)的軟件測(cè)試項(xiàng)目。結(jié)構(gòu)化腳本是難度較高的測(cè)試方式,其中包括大量的結(jié)構(gòu)化內(nèi)容,如函數(shù)、循環(huán)等,對(duì)邏輯性及穩(wěn)定性要
求高。
3 軟件測(cè)試技術(shù)應(yīng)用的誤區(qū)
軟件自動(dòng)化測(cè)試技術(shù)可提升軟件測(cè)試效率,在實(shí)踐過程中也存在誤區(qū),對(duì)常見誤區(qū)進(jìn)行分析,為軟件測(cè)試技術(shù)的有效應(yīng)用提供幫助。
(1)軟件自動(dòng)化測(cè)試完全取代軟件測(cè)試:軟件測(cè)試是先進(jìn)行人為操作,操作開始后,對(duì)軟件進(jìn)行檢測(cè),根據(jù)操作結(jié)果判斷軟件性能。目前的自動(dòng)化檢測(cè)技術(shù)還無法完成全程檢測(cè),依舊需要人類的大腦進(jìn)行判斷,對(duì)此,無法在全部情景中使用自動(dòng)化軟件測(cè)試技術(shù),自動(dòng)化測(cè)試技術(shù)也無法全面替代手工檢測(cè)。
(2)對(duì)軟件易用性進(jìn)行判斷:軟件自動(dòng)化測(cè)試技術(shù)屬于1種工具,這種工具往往不具備審美能力及情感意識(shí),對(duì)軟件界面的美觀性及整潔性也無法有效判斷,對(duì)此,在軟件易用性上無法完全依靠自動(dòng)化測(cè)試技術(shù),還需人的主觀意識(shí)進(jìn)行判斷。
(3)只要使用自動(dòng)化軟件測(cè)試技術(shù)便能縮減檢測(cè)時(shí)間,保證檢測(cè)質(zhì)量:軟件在自動(dòng)化檢測(cè)前,會(huì)耗費(fèi)一定的時(shí)間及精力構(gòu)建測(cè)試環(huán)境,錄制運(yùn)行腳本及建立數(shù)據(jù)表格,相比傳統(tǒng)手工檢測(cè)方式,自動(dòng)化測(cè)試軟件往往需要耗費(fèi)5~10倍的研發(fā)時(shí)間。對(duì)規(guī)模小、功能單一的軟件,使用自動(dòng)化測(cè)試技術(shù)往往適得其反,測(cè)試時(shí)間不斷延長(zhǎng),測(cè)試效率也無法提升。自動(dòng)化測(cè)試工具需要具有圖形界面,對(duì)測(cè)試人員的能力要求不高,以技術(shù)目前的發(fā)展情況來看,自動(dòng)化測(cè)試技術(shù)并非是萬能的,若想建立有效的自動(dòng)化測(cè)試腳本,工作人員應(yīng)當(dāng)掌握腳本語(yǔ)言,并快速進(jìn)行編輯。面對(duì)上述誤區(qū),還需引起足夠的重視,從而認(rèn)識(shí)到自動(dòng)化測(cè)試的優(yōu)勢(shì)及劣勢(shì),避免在測(cè)試過程中走入誤區(qū)。
4 自動(dòng)化軟件測(cè)試技術(shù)的使用條件及場(chǎng)景
4.1 使用條件
自動(dòng)化軟件測(cè)試工具包括功能測(cè)試工具及負(fù)載壓力測(cè)試工具、測(cè)試輔助工具等。根據(jù)軟件開發(fā)的功能需求,自動(dòng)化測(cè)試的關(guān)鍵便是對(duì)功能需求進(jìn)行自動(dòng)化檢測(cè),若功能經(jīng)常變動(dòng),檢測(cè)的意義不大,也會(huì)出現(xiàn)其他的功能性漏洞。自動(dòng)化在一輪測(cè)試中體現(xiàn),在腳本重復(fù)利用過程中,也能縮減成本,針對(duì)長(zhǎng)期開發(fā)的軟件項(xiàng)目,自動(dòng)化技術(shù)應(yīng)用效果明顯,短期項(xiàng)目以人工檢測(cè)即可,主要是測(cè)試軟件自編寫到應(yīng)用需要耗費(fèi)大量的人力、物力等成本。
在定制類軟件測(cè)試過程中,此類軟件均是基于客戶需求開發(fā)的軟件,此類軟件需要設(shè)置針對(duì)性的測(cè)試方法,維護(hù)基本上由客戶負(fù)責(zé),運(yùn)行環(huán)境及程序語(yǔ)言也由客戶確定,企業(yè)針對(duì)此類軟件的項(xiàng)目經(jīng)驗(yàn)少,在測(cè)試軟件開發(fā)中,自動(dòng)化測(cè)試技術(shù)的應(yīng)用效率不高。
(1)針對(duì)短期項(xiàng)目,軟件工程開發(fā)時(shí)間短暫,測(cè)試時(shí)間有限,針對(duì)該問題,不建議耗費(fèi)大量的時(shí)間進(jìn)行檢測(cè),即便有時(shí)間及精力構(gòu)建測(cè)試環(huán)境及設(shè)計(jì)測(cè)試腳本,但依舊會(huì)出現(xiàn)腳本利用率不高的問題,導(dǎo)致軟件自動(dòng)化測(cè)試技術(shù)性價(jià)比不高。
(2)針對(duì)運(yùn)行規(guī)則較為復(fù)雜的產(chǎn)品,對(duì)軟件測(cè)試系統(tǒng)的復(fù)雜性要求較高,人工檢測(cè)是主要檢測(cè)方法,自動(dòng)化測(cè)試技術(shù)往往無法設(shè)計(jì)相關(guān)腳本。
(3)針對(duì)運(yùn)行次數(shù)不多的軟件,通過自動(dòng)化技術(shù)檢測(cè)可能導(dǎo)致資源浪費(fèi)。對(duì)此,在自動(dòng)化測(cè)試軟件應(yīng)用前,應(yīng)當(dāng)掌握軟件適合場(chǎng)景,根據(jù)軟件適合場(chǎng)景合理使用自動(dòng)化測(cè)試軟件。
4.2 自動(dòng)化軟件測(cè)試技術(shù)的應(yīng)用場(chǎng)景
4.2.1 Linux GUI自動(dòng)化測(cè)試
Linux自動(dòng)化測(cè)試以開源軟件為主,屬于關(guān)鍵詞驅(qū)動(dòng)方法,GUI測(cè)試中關(guān)注圖形界面測(cè)試,對(duì)軟件窗口及界面圖標(biāo)、指示設(shè)備進(jìn)行測(cè)試,均能見到良好的測(cè)試效果。
4.2.2 Python CLI自動(dòng)化測(cè)試
CLI測(cè)試模型關(guān)注命令協(xié)議及命令集構(gòu),測(cè)試的基本原理是將用戶操作指令作為驅(qū)動(dòng)端,經(jīng)終端將命令發(fā)布,通過遠(yuǎn)程通信協(xié)議提示服務(wù)器進(jìn)入運(yùn)行階段,終端對(duì)服務(wù)器進(jìn)行驅(qū)動(dòng),通過命令集解析用戶要求。在測(cè)試過程中,需選擇合理化的測(cè)試框架,最終完成總結(jié)及整合。
4.2.3 云端軟件測(cè)試技術(shù)
在云服務(wù)器及云計(jì)算技術(shù)發(fā)展下,軟件平臺(tái)架構(gòu)發(fā)生變化,自本地及實(shí)體服務(wù)器過渡到云端服務(wù)器,對(duì)軟件進(jìn)行測(cè)試,達(dá)到理想的測(cè)試效果,及時(shí)發(fā)現(xiàn)軟件漏洞。云服務(wù)器有利于對(duì)資源進(jìn)行整合及共享,測(cè)試人員可充分利用云平臺(tái)測(cè)試軟件,提升軟件測(cè)試的整體效率。云端軟件測(cè)試技術(shù)的優(yōu)勢(shì)明顯,但實(shí)際應(yīng)用中也面較多的困難,還需要進(jìn)一步改進(jìn)。
4.2.4 Selenium為框架的自動(dòng)化測(cè)試工具
在工具庫(kù)中選擇等待檢測(cè)的模塊作為行為參數(shù),匹配對(duì)應(yīng)的數(shù)據(jù),生成測(cè)試用例,隨后組成自動(dòng)化測(cè)試腳本,配置測(cè)試工具相關(guān)參數(shù),對(duì)測(cè)試程序進(jìn)行調(diào)整,對(duì)測(cè)試結(jié)果進(jìn)行輸出及對(duì)問題進(jìn)行調(diào)試,完成自動(dòng)化測(cè)試。在腳本語(yǔ)言上,可供選擇的腳本語(yǔ)言較多,常見的腳本語(yǔ)言是python及Java,其中,廣泛使用的腳本語(yǔ)言是Java,在各個(gè)領(lǐng)域的軟件開發(fā)上,Java均是主流選擇。Python作為1種簡(jiǎn)單易學(xué)的編程語(yǔ)言,在數(shù)據(jù)分析及Web開發(fā)上使用率高,人工智能及自動(dòng)化測(cè)試上也略有涉及。Python方便靈活,測(cè)試可根據(jù)用戶的需求快速調(diào)整,測(cè)試效率較高。Selenium作為自動(dòng)化測(cè)試的主要工具,相比其他自動(dòng)化測(cè)試工具優(yōu)勢(shì)較為明顯,支持多腳本語(yǔ)言及平臺(tái),可收集各類開發(fā)平臺(tái),具有移動(dòng)測(cè)試的優(yōu)勢(shì),可安插各類插件,對(duì)軟件檢測(cè)效果顯著。
4.2.5 robot Framework框架的自動(dòng)化測(cè)試技術(shù)
該技術(shù)作為Python創(chuàng)建的自動(dòng)化測(cè)試框架,支持多個(gè)客戶及多個(gè)接口同步測(cè)試,具有較高的拓展性。通過關(guān)鍵字進(jìn)行驅(qū)動(dòng),測(cè)試效率高,難度較低,在測(cè)試行業(yè)應(yīng)用范圍廣。robot Framework框架通過Txt文件保存測(cè)試用例,使用符號(hào)完成分隔,適用于不同的編輯軟件。測(cè)試設(shè)計(jì)用例過程中,應(yīng)當(dāng)根據(jù)用戶需求進(jìn)行調(diào)整,robot Framework框架可使用循環(huán)語(yǔ)句,測(cè)試用例具有廣泛性及實(shí)用性。對(duì)測(cè)試用例進(jìn)行標(biāo)簽分類,分類方式較為便利。robot Framework框架可提供數(shù)據(jù)支持驅(qū)動(dòng)及關(guān)鍵字驅(qū)動(dòng)等多種驅(qū)動(dòng)模式。在關(guān)鍵字調(diào)用時(shí),將關(guān)鍵字轉(zhuǎn)變?yōu)榛A(chǔ)字號(hào),便于創(chuàng)建更為復(fù)雜的測(cè)試用例。robot Framework框架生成的測(cè)試報(bào)告一般是html文件格式,便于測(cè)試人員閱讀及查找問題。robot Framework框架具有監(jiān)聽接口,用戶自行測(cè)試過程中,可自定義用例的前置條件及后置條件,與其他測(cè)試工具相比,可完成整個(gè)測(cè)試過程的監(jiān)測(cè)。
比如,在電力營(yíng)銷系統(tǒng)開發(fā)過程中,其中含有豐富的系統(tǒng)功能,功能結(jié)構(gòu)具有相似性,為便于大眾使用瀏覽器,系統(tǒng)具有兼容性。單純手工進(jìn)行測(cè)試,需要大量的重復(fù)性操作,費(fèi)時(shí)費(fèi)力且耗費(fèi)資金,針對(duì)長(zhǎng)期的測(cè)試項(xiàng)目,也容易發(fā)生遺漏,為保證測(cè)試的覆蓋面積,針對(duì)軟件功能設(shè)置robot Framework框架的自動(dòng)化測(cè)試軟件,有利于快速檢測(cè)軟件性能。
5 軟件自動(dòng)化測(cè)試技術(shù)的發(fā)展趨勢(shì)
自動(dòng)化測(cè)試技術(shù)的優(yōu)勢(shì)是提升測(cè)試效果,保證測(cè)試結(jié)果的準(zhǔn)確性,減輕測(cè)試人員的工作壓力。軟件測(cè)試中,應(yīng)當(dāng)結(jié)合軟件開發(fā)情況,提升軟件開發(fā)人員的專業(yè)技術(shù)水平,對(duì)軟件結(jié)構(gòu)進(jìn)行優(yōu)化,進(jìn)一步提升軟件性能,促進(jìn)軟件自動(dòng)化技術(shù)高速發(fā)展。軟件開發(fā)與測(cè)試工作緊密結(jié)合,提升代碼可測(cè)試性,通過模塊設(shè)計(jì)及高聚內(nèi)封裝設(shè)計(jì)方法,確保自動(dòng)化測(cè)試軟件的開發(fā)質(zhì)量。
在軟件測(cè)試技術(shù)發(fā)展中,應(yīng)當(dāng)完善測(cè)試標(biāo)準(zhǔn),在標(biāo)準(zhǔn)化及規(guī)范化的原則,不影響軟件基本性能的基礎(chǔ)上,將易測(cè)試?yán)砟顫B透到軟件設(shè)計(jì)中,進(jìn)一步提升軟件測(cè)試的規(guī)范性。
現(xiàn)階段,計(jì)算機(jī)信息技術(shù)不斷發(fā)展,測(cè)試技術(shù)性能不斷提升,逐漸朝向成熟的方向進(jìn)展,呈現(xiàn)出多態(tài)性及封裝性的趨勢(shì),還需不斷開發(fā)全新的自動(dòng)化測(cè)試技術(shù),包括云計(jì)算測(cè)試方法及冒煙測(cè)試方法等。為保證測(cè)試的實(shí)際效果,未來的軟件測(cè)試技術(shù)應(yīng)當(dāng)不斷拓展測(cè)試范圍,關(guān)注數(shù)據(jù)測(cè)試工作,將數(shù)據(jù)測(cè)試貫穿到整個(gè)軟件開發(fā)過程中,做好預(yù)防及處理工作,規(guī)避測(cè)試工作的缺陷,節(jié)約成本的同時(shí),提升測(cè)試軟件整體收益。
6 結(jié)束語(yǔ)
在軟件開發(fā)過程中,測(cè)試人員應(yīng)當(dāng)對(duì)軟件性能進(jìn)行分析,通過人工檢測(cè)及自動(dòng)化檢測(cè)方法,找到軟件開發(fā)的問題,提升軟件開發(fā)質(zhì)量。相比傳統(tǒng)測(cè)試中的問題,應(yīng)當(dāng)進(jìn)一步拓展測(cè)試范圍,使用先進(jìn)的測(cè)試技術(shù),進(jìn)一步規(guī)范測(cè)試標(biāo)準(zhǔn),保證測(cè)試結(jié)果的準(zhǔn)確性。現(xiàn)階段,我國(guó)軟件公司應(yīng)加強(qiáng)團(tuán)隊(duì)建設(shè),關(guān)注軟件測(cè)試隊(duì)伍,尤其是開發(fā)自動(dòng)化測(cè)試軟件,新型測(cè)試技術(shù)可滿足軟件測(cè)試要求,減少人工檢測(cè)的弊端,減輕企業(yè)面臨的測(cè)試成本?,F(xiàn)階段,大數(shù)據(jù)及云計(jì)算技術(shù)發(fā)展,企業(yè)應(yīng)當(dāng)積極開發(fā)自動(dòng)化測(cè)試軟件,對(duì)軟件功能進(jìn)行優(yōu)化,從而準(zhǔn)確測(cè)試軟件功能,開發(fā)滿足人們需求的高質(zhì)量軟件。
參考文獻(xiàn)
[1] 冷知見.軟件自動(dòng)化測(cè)試方法的研究與應(yīng)用[D].武漢:武漢理工大學(xué),2011.