楊曉峰 錢斐斐 劉國靖
【摘要】? ? 本文首先針對(duì)早先以及當(dāng)下所使用的主流軟件自動(dòng)化測(cè)試方法進(jìn)行逐一介紹,并結(jié)合筆者個(gè)人經(jīng)驗(yàn),論述了在應(yīng)用軟件自動(dòng)化測(cè)試方法環(huán)節(jié)常發(fā)生的相關(guān)類型錯(cuò)誤,并針對(duì)其中部分不建議運(yùn)用軟件自動(dòng)化測(cè)試的情境開展了分析。希望可以給從事相關(guān)領(lǐng)域研究的人員帶來有效的幫助。
【關(guān)鍵詞】? ? 軟件自動(dòng)化測(cè)試? ? 方法? ? 錯(cuò)誤分析? ? 不適用場(chǎng)景
引言:
伴隨著全球范圍內(nèi)計(jì)算機(jī)技術(shù)的迅速進(jìn)步,各行業(yè)領(lǐng)域針對(duì)各類軟件的應(yīng)用已經(jīng)變得越來越普及,軟件在使用過程中的整體性能質(zhì)量也越來越被人們所重視,而在這一過程中,針對(duì)軟件進(jìn)行測(cè)試時(shí)了解軟件整體質(zhì)量的一種重要手段。因此,對(duì)于從事相關(guān)領(lǐng)域工作的人員來說,了解當(dāng)前較為常見的軟件自動(dòng)化測(cè)試方法,認(rèn)識(shí)軟件自動(dòng)化測(cè)試環(huán)節(jié)中常出現(xiàn)的相關(guān)問題,對(duì)一些不建議采用軟件自動(dòng)化測(cè)試的情境有所了解,便成為了其所必須要關(guān)注的課題。
一、常見的軟件自動(dòng)化測(cè)試方法
1.1早期的軟件自動(dòng)化測(cè)試技術(shù)介紹
軟件自動(dòng)化測(cè)試技術(shù)最早誕生于上世紀(jì)九十年代,經(jīng)常采用硬件方法來開展鍵盤錄入和使用,之后通過播放來實(shí)現(xiàn)對(duì)軟件的重復(fù)測(cè)試。但需要注意的是,該檢測(cè)技術(shù)尚無法完成測(cè)試點(diǎn)功能,簡(jiǎn)單地說,就是不能就某一功能點(diǎn)進(jìn)行功能和屬性的檢查,在該方式當(dāng)中,對(duì)操作過程和數(shù)據(jù)信息進(jìn)行記錄是尚未分離的,所以該自動(dòng)化測(cè)試技術(shù)的維護(hù)成本較高。另外,一旦對(duì)操作界面進(jìn)行了調(diào)整,之前的腳本便不能再次使用,必須要重新對(duì)其進(jìn)行錄制。這種方式下,腳本的使用效率相對(duì)較為低下,并且在完成軟件測(cè)試時(shí),整體效率較為低下。
1.2憑借數(shù)據(jù)驅(qū)動(dòng)的測(cè)試技術(shù)
在上世紀(jì)九十年代的中后期,伴隨著軟件測(cè)試水平的不斷進(jìn)步,使得錄制和播放測(cè)試腳本的功能能夠轉(zhuǎn)移到軟件層實(shí)現(xiàn),并且也提升了檢查點(diǎn)性能,也就是可以依靠對(duì)某一功能使用過程中相關(guān)數(shù)據(jù)、屬性的變動(dòng)與預(yù)估數(shù)據(jù)進(jìn)行比較,來對(duì)軟件功能效果進(jìn)行確認(rèn)。
該技術(shù)和最早的軟件自動(dòng)化測(cè)試技術(shù)最大的不同就是可以從數(shù)據(jù)文件中對(duì)相關(guān)信息進(jìn)行讀取,數(shù)據(jù)與操作流程腳本之間可以完全脫離,因此該技術(shù)被叫做依托數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試技術(shù)。該技術(shù)把數(shù)據(jù)錄入、預(yù)期數(shù)據(jù)輸出自動(dòng)匯總成表格,表中每一行數(shù)據(jù)就代表著每一次測(cè)試流程,在測(cè)試過程中,對(duì)表格中的數(shù)據(jù)進(jìn)行逐行讀取,之后依靠變量的方式傳送到之前錄制完成或手工錄入的腳本之中,采用相同的測(cè)試方式來對(duì)不相同的數(shù)據(jù)進(jìn)行排列組合。該方法針對(duì)擁有多種不同數(shù)據(jù)作為測(cè)試的軟件系統(tǒng)來說效率得到了非常顯著的提升。
1.3依托關(guān)鍵字驅(qū)動(dòng)測(cè)試技術(shù)
該技術(shù)最早誕生于二十一世紀(jì)初葉,它是依托數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試技術(shù)的升級(jí)版。依托關(guān)鍵字驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試技術(shù)通過自然語言來對(duì)測(cè)試軟件的整體情況進(jìn)行表述,把測(cè)試腳本進(jìn)行抽象化處理,讓不了解任何代表的非專業(yè)技術(shù)人員,還可以利用工具開展測(cè)試,該測(cè)試技術(shù)采用關(guān)鍵字構(gòu)成的測(cè)試原理邏輯。
其核心工作原理為:腳本和數(shù)據(jù)相互獨(dú)立,測(cè)試表述和具體細(xì)節(jié)相互獨(dú)立、界面元素名稱與測(cè)試對(duì)象內(nèi)部稱謂相互獨(dú)立。核心關(guān)鍵字涉及有被操作對(duì)象(Item)、價(jià)值(Value)、操作(Operation),使用面對(duì)對(duì)象的方式可將其體現(xiàn)為Item Operation(Value)。
1.4依托領(lǐng)域驅(qū)動(dòng)測(cè)試技術(shù)
該技術(shù)是基于關(guān)鍵字驅(qū)動(dòng)基礎(chǔ)上優(yōu)化改進(jìn)而來的,該技術(shù)的最主要特征為:從領(lǐng)域模型視角進(jìn)行觀察,面對(duì)待測(cè)軟件的領(lǐng)域語言進(jìn)行測(cè)試案例描繪,并進(jìn)行建模、針對(duì)測(cè)試用例和領(lǐng)域關(guān)鍵字進(jìn)行分析、設(shè)計(jì)、研發(fā)以及組織管理,由此進(jìn)行相關(guān)的測(cè)試活動(dòng)。在使用該測(cè)試技術(shù)的過程中,表現(xiàn)出如下優(yōu)點(diǎn):
第一,測(cè)試用例使用領(lǐng)域語言進(jìn)行描繪,普通人在理解過程中沒有難度,比較簡(jiǎn)單;
第二,測(cè)試用例能夠憑借把領(lǐng)域關(guān)鍵字與設(shè)置數(shù)據(jù)進(jìn)行重新組合來獲取;
第三,在被測(cè)試軟件成品的實(shí)現(xiàn)方式發(fā)生調(diào)整時(shí),能夠更新領(lǐng)域驅(qū)動(dòng)測(cè)試庫來對(duì)新發(fā)生的變化進(jìn)行有效匹配,測(cè)試用例在自動(dòng)化測(cè)試的過程中,不再需要進(jìn)行任何形式的修改或調(diào)整。
1.5依托功能驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試技術(shù)
依托功能驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試技術(shù)是把軟件的整個(gè)系統(tǒng)劃分成若干個(gè)獨(dú)立板塊,在開展自動(dòng)化測(cè)試的過程中,對(duì)每個(gè)板塊進(jìn)行獨(dú)立的自動(dòng)化測(cè)試,每一個(gè)板塊都可以理解成一個(gè)個(gè)獨(dú)立的,能夠完成測(cè)試任務(wù)的載體,每一個(gè)載體的本質(zhì)就是包含有自動(dòng)化測(cè)試的函數(shù),為獨(dú)立的測(cè)試用例,同時(shí)能夠基于實(shí)際需求調(diào)配代表單一獨(dú)立功能板塊的應(yīng)用模塊,讀取驅(qū)動(dòng)當(dāng)中所必須的測(cè)量信息。
在應(yīng)用模塊中,存儲(chǔ)著所有對(duì)系統(tǒng)界面操作的錄入信息,由于應(yīng)用模塊是獨(dú)立存在的區(qū)域,所以對(duì)其以后進(jìn)行的維護(hù)工作也是相對(duì)較為獨(dú)立的。因?yàn)樵谠摐y(cè)試技術(shù)背景下,所有與被測(cè)試軟件系統(tǒng)相關(guān)聯(lián)的操作和屬性,均儲(chǔ)存在每一個(gè)應(yīng)用模塊腳本當(dāng)中,在系統(tǒng)界面出現(xiàn)變動(dòng)之后,后續(xù)只需要對(duì)產(chǎn)生影響的應(yīng)用模塊腳本進(jìn)行修改即可,其他腳本不再需要進(jìn)行大的調(diào)整。
1.6依托指令驅(qū)動(dòng)測(cè)試技術(shù)
該測(cè)試的基本原理是對(duì)驅(qū)動(dòng)軟件測(cè)試技術(shù)的改良優(yōu)化,其所有流程所包含的功能都是憑借指令驅(qū)動(dòng)來達(dá)到的,可以支持由不同序列或者多種不同路徑構(gòu)成的測(cè)試。指令驅(qū)動(dòng)測(cè)試構(gòu)建在數(shù)據(jù)驅(qū)動(dòng)自動(dòng)化測(cè)試方式之上,在表格中,存儲(chǔ)的信息不再是數(shù)據(jù),而是各類指令,它是獨(dú)立于執(zhí)行測(cè)試工具,也是對(duì)數(shù)據(jù)驅(qū)動(dòng)模式合理優(yōu)化,時(shí)至今日,依托指令驅(qū)動(dòng)的軟件測(cè)試技術(shù)被認(rèn)為是目前最為先進(jìn)的軟件自動(dòng)化測(cè)試技術(shù)。
二、使用測(cè)試技術(shù)過程中存在的誤區(qū)
雖然軟件自動(dòng)化測(cè)試技術(shù)擁有良好的效率和可重復(fù)操作性,但是在實(shí)踐過程中,仍然存在有一定的局限,筆者接下來就使用軟件自動(dòng)化測(cè)試技術(shù)過程中的一些常見誤區(qū)進(jìn)行概述。
2.1使用軟件自動(dòng)化測(cè)試技術(shù)完全代替軟件手工測(cè)試
在許多情境之下,針對(duì)軟件的測(cè)試一定需要通過人來進(jìn)行操作,即只有在上一個(gè)操作流程完成之后,才能夠基于操作結(jié)果來判定執(zhí)行方案,或者輸入測(cè)試數(shù)據(jù)內(nèi)容,以現(xiàn)有的技術(shù)能力來說,此項(xiàng)工作機(jī)器仍然是無法完成的,必須要通過人類大腦的決策,因此不能期待在全部的情境當(dāng)中均使用軟件自動(dòng)化測(cè)試技術(shù),更不能在現(xiàn)有技術(shù)能力下,使用軟件自動(dòng)化測(cè)試技術(shù)來代替手工測(cè)試。
2.2可以對(duì)軟件的易用性進(jìn)行判定
因?yàn)檐浖詣?dòng)化測(cè)試技術(shù)的本質(zhì),只是一種工具,而對(duì)于工具來說,審美能力和想象能力并不是其應(yīng)當(dāng)具備的一種能力,對(duì)于針對(duì)軟件界面是否整潔美觀、軟件是否具有易用性等內(nèi)容,軟件自動(dòng)化測(cè)試技術(shù)是不能夠代替人類來進(jìn)行判斷的,所以在這些方面,仍然需要通過人類的主觀意識(shí)來決定。
2.3只要采用軟件自動(dòng)化測(cè)試技術(shù)便能夠降低測(cè)試時(shí)長(zhǎng),提高測(cè)試工作效率
需要注意的是,在使用軟件自動(dòng)化測(cè)試技術(shù)的過程之前,一定要花費(fèi)一定的時(shí)間和精力用于建立測(cè)試環(huán)境、進(jìn)行腳本錄制、建立數(shù)據(jù)表格式、輸入數(shù)據(jù)等,和傳統(tǒng)的手工測(cè)試進(jìn)行對(duì)比,需要消耗5-10倍時(shí)間來研發(fā)一個(gè)自動(dòng)化測(cè)試用例,所以若無法轉(zhuǎn)化額外的資源與時(shí)間,便不能夠開展大量的投入來建立軟件自動(dòng)化測(cè)試框架,針對(duì)部分規(guī)模相對(duì)較小、測(cè)試用例相對(duì)更少的軟件系統(tǒng)來講,使用軟件自動(dòng)化測(cè)試技術(shù)可能會(huì)適得其反,導(dǎo)致測(cè)試時(shí)間更長(zhǎng),測(cè)試效率更低。
自動(dòng)化測(cè)試工具使用圖形化界面,操作簡(jiǎn)單易學(xué),對(duì)測(cè)試人員并沒有過高的能力要求,但是從目前的技術(shù)發(fā)展情況來看,此項(xiàng)技術(shù)并非萬能,若想基于被測(cè)系統(tǒng)的特征建立有效的自動(dòng)化測(cè)試腳本,工作人員一定要掌握相關(guān)的腳本語言,能夠迅速對(duì)腳本內(nèi)容進(jìn)行編輯和完善。
三、不適用軟件自動(dòng)化測(cè)試的情境介紹
整體來說,雖然軟件自動(dòng)化測(cè)試技術(shù)擁有比較優(yōu)秀的可重復(fù)性、工作效率優(yōu)異等特點(diǎn),但是并不能在所有種類的軟件產(chǎn)品測(cè)試中實(shí)現(xiàn)運(yùn)用,所以對(duì)此還需要進(jìn)一步探討,了解不同的測(cè)試情境。
首先是定制類軟件:這些軟件都是基于客戶的實(shí)際要求,針對(duì)性設(shè)計(jì)的測(cè)試軟件,其維護(hù)一般是由客戶自己負(fù)責(zé),相應(yīng)側(cè)運(yùn)行環(huán)境、程序語言等,都是依據(jù)客戶需求來確定的。這種形式,讓企業(yè)對(duì)這些軟件項(xiàng)目所積累的測(cè)試經(jīng)驗(yàn)極少,因此,在定制類軟件中,不適合使用軟件自動(dòng)化測(cè)試技術(shù)。
周期相對(duì)較短的項(xiàng)目:如果某軟件工程項(xiàng)目研發(fā)周期相對(duì)較短,那么其測(cè)試時(shí)間就非常有限,這一情況下,不建議花費(fèi)大量精力來投資進(jìn)行軟件自動(dòng)化測(cè)試,即便有充足的時(shí)間和精力去建設(shè)測(cè)試環(huán)境,設(shè)計(jì)測(cè)試腳本,但是仍然會(huì)出現(xiàn)腳本利用率不高的情況,導(dǎo)致使用軟件自動(dòng)化測(cè)試技術(shù)的性價(jià)比不足。
運(yùn)行規(guī)則相對(duì)較為復(fù)雜的軟件產(chǎn)品:若待測(cè)軟件系統(tǒng)具有極度復(fù)雜的運(yùn)行規(guī)則和邏輯,就一定要通過人工測(cè)試的方式,因?yàn)樽詣?dòng)化測(cè)試技術(shù)很難完成相關(guān)的腳本設(shè)計(jì)。
運(yùn)行次數(shù)不多的軟件:實(shí)際上,軟件自動(dòng)化測(cè)試技術(shù)的本質(zhì),就是讓軟件大量進(jìn)行運(yùn)行,來檢測(cè)軟件的測(cè)試效率,針對(duì)一些較少使用的軟件,使用此項(xiàng)技術(shù)極有可能造成資源的浪費(fèi)。
四、結(jié)束語
整體來說,軟件自動(dòng)化測(cè)試技術(shù)在絕大多數(shù)場(chǎng)景下,都能夠針對(duì)軟件的性能進(jìn)行測(cè)試,因此具有重要的使用價(jià)值,但是作為相關(guān)場(chǎng)景工作人員來說,仍然需要區(qū)分軟件自動(dòng)測(cè)試技術(shù)在使用過程中的誤區(qū)以及不適用情境,只有有效回避這些場(chǎng)景,才能讓此項(xiàng)技術(shù)得到更為有效的利用。
參? 考? 文? 獻(xiàn)
[1]高楠梟.軟件自動(dòng)化測(cè)試的方法探究[J].計(jì)算機(jī)產(chǎn)品與流通, 2020(09):49.
[2]孫雷.軟件自動(dòng)化測(cè)試的方法分析[J].集成電路應(yīng)用, 2020,37(05):94-95.
[3]衛(wèi)春才.軟件自動(dòng)化測(cè)試方法的應(yīng)用分析[J].計(jì)算機(jī)產(chǎn)品與流通,2020(02):33.
[4]楊麗波.軟件自動(dòng)化測(cè)試方法的發(fā)展現(xiàn)狀分析[J].無線互聯(lián)科技,2017(04):49-50.
[5]艾迪安.軟件自動(dòng)化測(cè)試方法的研究與應(yīng)用[J].中國新通信, 2016,18(17):16-17.