摘 "要:四川省交通勘察設(shè)計(jì)研究院有限公司自研的公路工程外業(yè)調(diào)查APP顛覆傳統(tǒng)的公路外業(yè)調(diào)查方式,以數(shù)據(jù)電子查看、填報(bào)、傳輸和存儲(chǔ)為手段為勘察設(shè)計(jì)人員提質(zhì)增效。該APP采用敏捷型開(kāi)發(fā)模式,通過(guò)頻繁的版本迭代滿足用戶的使用需求。手動(dòng)進(jìn)行回歸測(cè)試會(huì)耗費(fèi)大量的時(shí)間和人力,因此,發(fā)明一種適用于該外業(yè)調(diào)查APP的自動(dòng)化測(cè)試方法。該方法以Python為編程語(yǔ)言,Pytest為框架,根據(jù)該APP的特點(diǎn)進(jìn)行自動(dòng)化運(yùn)行流程的編寫(xiě)和斷言,采用Allure輸出測(cè)試報(bào)告和Jenkins進(jìn)行自動(dòng)化集成。最終有效地提高該APP的回歸測(cè)試效率,節(jié)省成本。
關(guān)鍵詞:敏捷型開(kāi)發(fā);自動(dòng)化測(cè)試技術(shù);用例運(yùn)行流程;斷言;外業(yè)調(diào)查App
中圖分類號(hào):TP274 " " "文獻(xiàn)標(biāo)志碼:A " " " " "文章編號(hào):2095-2945(2025)10-0138-04
Abstract: The self-developed Highway Engineering Field Survey APP by Sichuan Communication Surveyingamp;Design Institute Co.,Ltd. has revolutionized the traditional highway field survey methods by enhancing efficiency and quality for survey and design personnel through digital data viewing, reporting, transmission, and storage. The APP follows an agile development model, with frequent version iterations to meet user requirements. Manual regression testing consumes significant time and manpower. Therefore, an automated testing method suitable for this field survey APP has been invented. This method uses Python as the programming language and Pytest as the framework. It writes and asserts the automated running process according to the characteristics of the APP. It uses Allure to output test reports and Jenkins for automated integration. In the end, the regression testing efficiency of the APP was effectively improved and costs were saved.
Keywords: agile development; automated testing technology; use case execution process; assertion; field survey APP
四川省交通勘察設(shè)計(jì)研究院有限公司自主研發(fā),運(yùn)用于公路工程的外業(yè)調(diào)查APP借助互聯(lián)網(wǎng)有效地幫助了勘察設(shè)計(jì)人員采集、查看、共享和存儲(chǔ)外業(yè)數(shù)據(jù),極大地為外業(yè)工作提質(zhì)增效。
取得這樣明顯的效果,得益于外業(yè)系統(tǒng)以用戶需求為導(dǎo)向的開(kāi)發(fā)模式。每次用戶使用外業(yè)調(diào)查APP進(jìn)行野外外業(yè)勘測(cè)時(shí),開(kāi)發(fā)團(tuán)隊(duì)都會(huì)派遣一名技術(shù)支持人員到現(xiàn)場(chǎng)指導(dǎo)用戶,搜集一線用戶的使用需求和習(xí)慣。外業(yè)調(diào)查APP建立有專門(mén)的技術(shù)支持團(tuán)隊(duì),該團(tuán)隊(duì)會(huì)利用互聯(lián)網(wǎng)及時(shí)跟進(jìn)用戶問(wèn)題和需求。該APP以敏捷型開(kāi)發(fā)為基本模型,會(huì)根據(jù)用戶需求進(jìn)行頻繁的修改和更新。
1 "傳統(tǒng)回歸測(cè)試存在的問(wèn)題
在開(kāi)發(fā)完新功能之后,測(cè)試人員會(huì)對(duì)APP進(jìn)行測(cè)試。測(cè)試分為對(duì)新功能的功能測(cè)試和原有功能的回歸測(cè)試。
功能測(cè)試檢查新功能是否能按照用戶需求和設(shè)計(jì)的要求正常運(yùn)行,有無(wú)Bug。回歸測(cè)試是檢測(cè)引入了新的功能后,原有功能是否受到了影響。傳統(tǒng)回歸測(cè)試是通過(guò)手動(dòng)測(cè)試對(duì)原有主要功能進(jìn)行功能性驗(yàn)證,但若采用手動(dòng)測(cè)試,對(duì)外業(yè)調(diào)查系統(tǒng)進(jìn)行回歸測(cè)試存在2方面的問(wèn)題。
第一,外業(yè)調(diào)查APP涉及的功能繁多。每次采用手動(dòng)測(cè)試將耗費(fèi)大量的時(shí)間及人力。
第二,采用手動(dòng)測(cè)試的方式效率低,無(wú)法保證產(chǎn)品按時(shí)上線供用戶使用。涉及頻繁的回歸測(cè)試也讓測(cè)試人員陷入了重復(fù)單一的勞動(dòng)中。
針對(duì)外業(yè)調(diào)查APP敏捷型開(kāi)發(fā)模式的特點(diǎn)及傳統(tǒng)回歸測(cè)試存在的弊端,需研發(fā)出一套針對(duì)外業(yè)調(diào)查系統(tǒng)進(jìn)行回歸測(cè)試的自動(dòng)化測(cè)試方法。
2 "自動(dòng)化測(cè)試的必要性
自動(dòng)化測(cè)試擁有自動(dòng)執(zhí)行,操作自動(dòng)化、標(biāo)準(zhǔn)化、高效化,報(bào)告自動(dòng)化輸出等優(yōu)勢(shì)。節(jié)省了人力及時(shí)間成本,對(duì)測(cè)試敏捷型開(kāi)發(fā)模式的APP尤其友好。
外業(yè)調(diào)查APP適合使用自動(dòng)化測(cè)試。
3 "測(cè)試技術(shù)的使用
3.1 "運(yùn)用Jenkins實(shí)現(xiàn)自動(dòng)化集成
基于外業(yè)調(diào)查系統(tǒng)頻繁更新的特點(diǎn),要求開(kāi)發(fā)者一旦提交正式代碼,APP就能自動(dòng)更新進(jìn)行回歸測(cè)試。并且為保證APP能夠穩(wěn)定運(yùn)行,要求外業(yè)調(diào)查APP每周進(jìn)行2次額外的回歸測(cè)試。
為保證每周回歸測(cè)試能夠準(zhǔn)時(shí)、順利、自動(dòng)地進(jìn)行,將Jenkins自動(dòng)集成工具安裝于測(cè)試機(jī)。設(shè)置時(shí)輸入啟動(dòng)測(cè)試的代碼,將執(zhí)行時(shí)間設(shè)置為每周二凌晨十二點(diǎn)和每周四凌晨十二點(diǎn)。將Jenkins與外業(yè)調(diào)查APP的正式代碼倉(cāng)庫(kù)相關(guān)聯(lián),一旦代碼倉(cāng)庫(kù)中的代碼有變化,Jenkins將自動(dòng)調(diào)用啟動(dòng)測(cè)試代碼的命令,進(jìn)行自動(dòng)化測(cè)試。最后,將自動(dòng)生成測(cè)試報(bào)告的Allure插件下載到Jenkins,并進(jìn)行測(cè)試報(bào)告生成相關(guān)的設(shè)置。
通過(guò)上述操作,將外業(yè)調(diào)查APP的測(cè)試代碼進(jìn)行了自動(dòng)化集成。一旦代碼倉(cāng)庫(kù)有變化或到每周二或每周四凌晨十二點(diǎn)整,測(cè)試機(jī)會(huì)自動(dòng)運(yùn)行測(cè)試用例,進(jìn)行外業(yè)調(diào)查APP的自動(dòng)化測(cè)試。測(cè)試完成后,Jenkins自動(dòng)生成測(cè)試報(bào)告,以郵件的形式發(fā)送給項(xiàng)目負(fù)責(zé)人,相關(guān)測(cè)試人員和相關(guān)開(kāi)發(fā)者。
3.2 "使用Pytest搭建測(cè)試框架
Pytest以其靈活性,強(qiáng)大的功能備受青睞。
Pytest的靈活性:不同于Unitest必須將前置后置語(yǔ)句放置于Python模塊文件所有用例的前后,Pytest框架提供了靈活的夾具,以全局或局部的Conftest文件進(jìn)行統(tǒng)一管理。只要在自定義方法函數(shù)上方加上@pytest.fixture()裝飾器,那么驅(qū)動(dòng)方法driver就可以存放在conftest文件當(dāng)中,并且在用例中進(jìn)行使用。在@pytest.fixture()裝飾器的括號(hào)中加入驅(qū)動(dòng)方法driver的作用范圍,@scope=module或@scope=session,那么驅(qū)動(dòng)器就會(huì)根據(jù)設(shè)置的范圍自動(dòng)管理運(yùn)行的代碼。例如測(cè)試外業(yè)系統(tǒng)的“調(diào)查信息的新增”完成后,需重新啟動(dòng)一次APP進(jìn)行調(diào)查信息的編輯,這時(shí)設(shè)置夾具@scope=module。調(diào)查信息新增測(cè)試完成之后,能夠重啟外業(yè)調(diào)查APP進(jìn)行調(diào)查信息的編輯測(cè)試。以此來(lái)降低代碼之間的耦合性,提高測(cè)試用例的穩(wěn)定性。
Pytest強(qiáng)大的功能:外業(yè)調(diào)查APP在不同的手機(jī)之間可能會(huì)出現(xiàn)不同的問(wèn)題,因此在測(cè)試時(shí)需同一時(shí)間連接多個(gè)不同的手機(jī)進(jìn)行并發(fā)兼容性測(cè)試。由于Python語(yǔ)言提供了各種強(qiáng)大的庫(kù),并且Pytest提供了靈活的fixture,使得并發(fā)測(cè)試成為了可能。
利用Pytest的鉤子函數(shù)pytest_adoption分別讀取設(shè)備的信息并運(yùn)用到測(cè)試驅(qū)動(dòng)器Appium當(dāng)中,利用Python提供的庫(kù)multiprocessing讓Appium以多個(gè)進(jìn)程運(yùn)行,實(shí)現(xiàn)同時(shí)在多個(gè)設(shè)備上進(jìn)行外業(yè)調(diào)查APP的并發(fā)兼容性測(cè)試。
3.3 "使用Appium作為測(cè)試工具
在進(jìn)行外業(yè)調(diào)查APP自動(dòng)化測(cè)試前,比較了3種用于該APP的自動(dòng)化測(cè)試工具,分別是Airtest、Monkeyrunner與Appium。
Airtest:盡管Airtest提供了較強(qiáng)的兼容性,能夠在Android平臺(tái)和iOS平臺(tái)上同時(shí)運(yùn)行,并且提供了圖像識(shí)別功能[1],但經(jīng)過(guò)實(shí)踐,發(fā)現(xiàn)Airtest定位元素的效率很低,通常需要7~8 s,無(wú)法滿足外業(yè)調(diào)查App快速回歸測(cè)試的需求。
Monkeyrunner:Monkeyrunner提供了直接的API進(jìn)行多機(jī)并行測(cè)試[2],使用Python進(jìn)行腳本編寫(xiě)。但與Appium相比,其執(zhí)行速度依然較慢,尤其是在處理復(fù)雜操作時(shí),并且相比于Appium,缺少一些更高級(jí)的功能和更廣泛的社區(qū)支持。
Appium:經(jīng)過(guò)實(shí)踐測(cè)試,Appium的執(zhí)行速度最快,單個(gè)操作的執(zhí)行速度能夠控制在1.5 s以內(nèi),滿足外業(yè)調(diào)查APP快速進(jìn)行回歸測(cè)試的要求。
并且Appium同時(shí)支持Android和iOS平臺(tái),能夠?qū)Π惭b于Android或iOS平臺(tái)的外業(yè)調(diào)查APP的手機(jī)分別進(jìn)行測(cè)試。
鑒于Appium強(qiáng)大的運(yùn)行效率、兼容性和可彌補(bǔ)的缺點(diǎn),外業(yè)調(diào)查APP采用Appium作為測(cè)試工具。
4 "自動(dòng)化測(cè)試用例運(yùn)行流程及斷言
外業(yè)調(diào)查APP主要用于外業(yè)勘測(cè)數(shù)據(jù)的采集,自動(dòng)化測(cè)試用例的編寫(xiě)針對(duì)采集數(shù)據(jù)的3種方式,即現(xiàn)場(chǎng)快照、標(biāo)記點(diǎn)、調(diào)查表單。
4.1 "現(xiàn)場(chǎng)快照的新增
現(xiàn)場(chǎng)快照作為外業(yè)調(diào)查APP信息采集的方式之一,用于對(duì)現(xiàn)場(chǎng)點(diǎn)位情況進(jìn)行快速記錄。
測(cè)試用例運(yùn)行流程首先以點(diǎn)擊地圖界面,新增現(xiàn)場(chǎng)快照?qǐng)D標(biāo)開(kāi)始。當(dāng)進(jìn)入現(xiàn)場(chǎng)快照新增頁(yè)面時(shí),斷言頁(yè)面頂部是否有“現(xiàn)場(chǎng)快照”的字樣,確認(rèn)是否已進(jìn)入現(xiàn)場(chǎng)快照的新增頁(yè)。然后斷言進(jìn)入的外業(yè)調(diào)查項(xiàng)目是否為演示項(xiàng)目。
默認(rèn)定位方式為“我的位置”。選擇關(guān)聯(lián)路線為K線,斷言路線版本、對(duì)應(yīng)樁號(hào)、中線左右側(cè)和距中線距離是否與預(yù)期結(jié)果相符;斷言行政歸屬、鄉(xiāng)鎮(zhèn)街道、位置信息是否與測(cè)試點(diǎn)的相關(guān)信息相符。這時(shí),切換中線左右側(cè),斷言能否切換成功。
改變關(guān)聯(lián)路線為K1線,斷言路線版本、對(duì)應(yīng)樁號(hào)、中線左右側(cè)和距中線距離是否改變且是否符合預(yù)期。
改變定位方式為地圖選點(diǎn),使用地圖選點(diǎn)位置查詢功能,輸入四川省樂(lè)山市井研縣,定位到該位置。不改變關(guān)聯(lián)的路線,斷言對(duì)應(yīng)樁號(hào)、中線左右側(cè)、與中線距離、行政歸屬、鄉(xiāng)鎮(zhèn)街道和位置信息是否改變且與預(yù)期結(jié)果相符。
現(xiàn)場(chǎng)快照中的附件信息主要是音視頻數(shù)據(jù)的采集記錄。測(cè)試附件中的數(shù)據(jù)主要是測(cè)試其增刪改查操作的結(jié)果是否符合預(yù)期。
點(diǎn)擊“拍照”功能,拍照,使用照片,這時(shí)會(huì)進(jìn)入照片編輯頁(yè)面。分別操作“編輯涂鴉”,添加“箭頭”,“裁剪”,添加“文字”,并“保存”。斷言附件中是否有該照片記錄。若有,證明操作流程正常;若無(wú),證明操作流程有誤。這時(shí)在斷言附件中是否有該照片記錄時(shí)添加異常處理,若流程異常導(dǎo)致未發(fā)現(xiàn)該條照片記錄,則該條用例失敗,測(cè)試用例繼續(xù)進(jìn)行。
測(cè)試“連拍”功能。連拍2張照片并點(diǎn)擊“保存”,斷言附件中是否有該2張照片的記錄,選擇拍攝方向分別為“前進(jìn)方向”和“后退方向”。并斷言選擇是否符合預(yù)期結(jié)果。
測(cè)試在本地手機(jī)“添加照片”功能。從手機(jī)相冊(cè)中選擇2張照片進(jìn)行編輯后上傳,斷言附件中是否有這2張照片的信息,若有,選擇拍攝方向分別為“路線左側(cè)”,“路線右側(cè)”,斷言其拍攝方向是否符合預(yù)期。
刪除連拍中的第二張照片和從本地選擇的第一張照片。斷言,若在附件中無(wú)法定位到這2張照片的信息,則說(shuō)明刪除成功。
分別從手機(jī)本地選擇視頻,錄制視頻,錄音。斷言附件中是否有相關(guān)的數(shù)據(jù)信息,若有,證明添加成功。
添加涂鴉,在涂鴉中添加照片、文本、箭頭和方框和手寫(xiě)圖案,并保存。斷言附件中是否有涂鴉信息。經(jīng)過(guò)多次測(cè)試,用例運(yùn)行到涂鴉,很容易造成崩潰閃退。因此,用例設(shè)計(jì)為涂鴉功能報(bào)錯(cuò),則測(cè)試程序直接終止,不再往下運(yùn)行。若斷言到附件中有涂鴉信息,則用例通過(guò)。
所有信息添加完成后,點(diǎn)擊“上傳”按鈕對(duì)現(xiàn)場(chǎng)快照信息進(jìn)行上傳。
4.2 "現(xiàn)場(chǎng)快照的上傳及查看
現(xiàn)場(chǎng)快照的上傳斷言是通過(guò)“上傳隊(duì)列”功能完成的。在測(cè)試開(kāi)始前,上傳隊(duì)列設(shè)置為“僅在連接到Wi-Fi網(wǎng)絡(luò)時(shí)上傳”。
關(guān)閉“僅在連接到Wi-Fi網(wǎng)絡(luò)時(shí)上傳”,斷言“等待上傳”中這條數(shù)據(jù)是否不存在。若不存在,切換到“上傳完成”,斷言是否有該條快照數(shù)據(jù)。若有,證明該條快照上傳成功。
查看現(xiàn)場(chǎng)快照數(shù)據(jù),斷言上傳的現(xiàn)場(chǎng)快照數(shù)據(jù)是否與填報(bào)時(shí)的數(shù)據(jù)一致。返回現(xiàn)場(chǎng)快照列表,進(jìn)入該條現(xiàn)場(chǎng)快照的詳情頁(yè)。在現(xiàn)場(chǎng)快照新增時(shí),新增2個(gè)夾具set_global_data()和get_global_data()和1個(gè)全局字典global_data,在存放填報(bào)的現(xiàn)場(chǎng)快照數(shù)據(jù)時(shí),調(diào)用set_global_data()函數(shù)將填表的數(shù)據(jù)放入全局字典。在斷言查看的現(xiàn)場(chǎng)快照數(shù)據(jù)時(shí),使用get_global_data()將預(yù)期結(jié)果從字典里取出,與查看現(xiàn)場(chǎng)快照的實(shí)際結(jié)果數(shù)據(jù)進(jìn)行對(duì)比,斷言上傳后的現(xiàn)場(chǎng)快照數(shù)據(jù)是否與填報(bào)時(shí)的一致。
新增現(xiàn)場(chǎng)快照時(shí),通過(guò)給附件中的數(shù)據(jù)添加備注信息標(biāo)記數(shù)據(jù)。斷言已上傳的現(xiàn)場(chǎng)快照附件信息時(shí),通過(guò)標(biāo)記來(lái)判斷附件數(shù)據(jù)是否與上傳之前一致。
判斷上傳后的音視頻文件能夠正常播放,是通過(guò)點(diǎn)擊音視頻文件,延時(shí)2 s后,斷言播放時(shí)間是否為0。若播放的時(shí)間不為0,則說(shuō)明音視頻文件可以正常播放。
4.3 "現(xiàn)場(chǎng)快照的編輯
為降低代碼的耦合性,提高測(cè)試用例的穩(wěn)定性和質(zhì)量,將驅(qū)動(dòng)器夾具driver的作用域設(shè)置為了module,使得現(xiàn)場(chǎng)快照的新增及查看測(cè)試完成后,軟件重啟測(cè)試現(xiàn)場(chǎng)快照的編輯。因此,在現(xiàn)場(chǎng)快照新增和查看的測(cè)試過(guò)程中,出現(xiàn)了重大的Bug,也不會(huì)影響現(xiàn)場(chǎng)快照編輯的正常測(cè)試。
現(xiàn)場(chǎng)快照編輯的測(cè)試思路為:首先新增一個(gè)不做任何修改的現(xiàn)場(chǎng)快照,上傳后編輯。與新增和查看現(xiàn)場(chǎng)快照時(shí)的操作流程和斷言方式一樣,進(jìn)行測(cè)試。若編輯時(shí)的信息和編輯上傳后查看的信息一致,證明編輯成功。
4.4 "標(biāo)記點(diǎn)的新增
標(biāo)記點(diǎn)用于在地圖上做標(biāo)記,以提醒用戶該點(diǎn)需要被調(diào)查。其與現(xiàn)場(chǎng)快照的區(qū)別在于沒(méi)有路線相關(guān)的信息,但有“關(guān)注標(biāo)記點(diǎn)”。輸入“提示距離”,當(dāng)用戶行駛到距離標(biāo)記點(diǎn)提示距離時(shí),將會(huì)收到用戶調(diào)查該點(diǎn)的提示。
進(jìn)入地圖界面,點(diǎn)擊地圖界面新增標(biāo)記點(diǎn)按鈕進(jìn)入標(biāo)記點(diǎn)新增界面。斷言界面頂部是否為“標(biāo)記點(diǎn)”,關(guān)聯(lián)項(xiàng)目是否為“經(jīng)天路圖演示項(xiàng)目”。
定位方式默認(rèn)為“我的位置”,斷言經(jīng)緯度是否為測(cè)試人員手機(jī)所在位置的經(jīng)緯度。斷言位置信息是否正確。修改定位方式為“地圖選點(diǎn)”,選擇“自貢市永安鎮(zhèn)”,斷言經(jīng)緯度和位置信息是否正確。
輸入標(biāo)記點(diǎn)名稱,標(biāo)記點(diǎn)描述,將關(guān)注標(biāo)記點(diǎn)設(shè)置為“否”,斷言是否出現(xiàn)“提示距離”和“僅提醒一次”,然后將關(guān)注標(biāo)記點(diǎn)設(shè)置為“是”,斷言是否出現(xiàn)“提示距離”和“僅提醒一次”。添加“提示距離”為100 m和“僅提醒一次”選擇為“是”。
附件的測(cè)試方法與現(xiàn)場(chǎng)快照的測(cè)試方法一樣,不再贅述。
4.5 "標(biāo)記點(diǎn)的上傳及查看
標(biāo)記點(diǎn)的上傳與現(xiàn)場(chǎng)快照的上傳測(cè)試方式相同,都是通過(guò)“上傳隊(duì)列”中的“上傳完成”是否有該標(biāo)記點(diǎn)數(shù)據(jù)來(lái)判斷其是否上傳成功。
查看標(biāo)記點(diǎn)與查看現(xiàn)場(chǎng)快照的原理也相同,都是通過(guò)將新增標(biāo)記點(diǎn)的預(yù)期內(nèi)容儲(chǔ)存到全局字典,然后與查看標(biāo)記點(diǎn)時(shí)的實(shí)際結(jié)果做對(duì)比,斷言其新增時(shí)填報(bào)的內(nèi)容與上傳后查看的內(nèi)容是否一致。
查看附件的斷言方式與現(xiàn)場(chǎng)快照一致。
4.6 "標(biāo)記點(diǎn)的編輯
標(biāo)記點(diǎn)的編輯主要針對(duì)的是標(biāo)記點(diǎn)的關(guān)注和取消關(guān)注。
在標(biāo)記點(diǎn)列表界面“取消關(guān)注”標(biāo)記點(diǎn),進(jìn)入標(biāo)記點(diǎn)編輯界面,斷言“關(guān)注標(biāo)記點(diǎn)”是否為“否”。再次返回標(biāo)記點(diǎn)列表界面,“關(guān)注標(biāo)記點(diǎn)”,添加“提示距離”為150 m,勾選“僅提醒一次”,進(jìn)入標(biāo)記點(diǎn)編輯界面,斷言“關(guān)注標(biāo)記點(diǎn)”是否為“是”,提示距離是否為“150”,是否為“僅提醒一次”。
標(biāo)記點(diǎn)其余測(cè)試內(nèi)容的測(cè)試方法與現(xiàn)場(chǎng)快照一致。
4.7 "調(diào)查表單的新增、查看、編輯
測(cè)試調(diào)查表單的專業(yè)信息是否正常,需考慮到所有控件的可能性。因此,需設(shè)計(jì)一個(gè)“測(cè)試調(diào)查專業(yè)”,將所有控件的所有功能可能性全部包含進(jìn)去進(jìn)行測(cè)試斷言。
新增專業(yè)信息時(shí),將最終填報(bào)的內(nèi)容存入全局字典,上傳后,將新增的內(nèi)容與上傳后查看的內(nèi)容進(jìn)行斷言對(duì)比,以此來(lái)判斷上傳后的數(shù)據(jù)是否與上傳之前一致。
編輯調(diào)查表單仍然采用新增調(diào)查表單而后編輯修改的方式。若編輯時(shí)的信息能夠正確填報(bào),并且與編輯上傳后的各種數(shù)據(jù)一致,證明編輯功能正常。
5 "結(jié)論
采用自動(dòng)化的方式對(duì)外業(yè)調(diào)查APP主要功能進(jìn)行測(cè)試,有效地提高了效率。原有一次手動(dòng)回歸測(cè)試的時(shí)間在180 min左右(表1),一次自動(dòng)化回歸測(cè)試的時(shí)間控制在了40 min,效率提高77%,滿足了外業(yè)調(diào)查APP快節(jié)奏的頻繁更新需求。
自動(dòng)化測(cè)試的標(biāo)準(zhǔn)化操作減少了手動(dòng)測(cè)試可能導(dǎo)致的遺漏,使得每一個(gè)點(diǎn)都會(huì)按照既定的程序進(jìn)行測(cè)試。
自動(dòng)生成的測(cè)試報(bào)告,既有圖表分析,也有詳細(xì)的測(cè)試結(jié)果展示。錯(cuò)誤日志清楚地指明了錯(cuò)誤點(diǎn),便于測(cè)試人員定位錯(cuò)誤,開(kāi)發(fā)人員修改錯(cuò)誤。
采用Jenkins自動(dòng)集成自動(dòng)化測(cè)試流程,無(wú)需人工干預(yù)。在約定時(shí)間進(jìn)行自動(dòng)化測(cè)試,完成后自動(dòng)發(fā)送報(bào)告給相關(guān)開(kāi)發(fā)人員和測(cè)試人員,提高了用例運(yùn)行的自動(dòng)化率。
參考文獻(xiàn):
[1] 張娜,蔡樂(lè)俊,徐曼,等.Airtest平臺(tái)自動(dòng)化測(cè)試方案設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2021(12):88-92.
[2] 王佳明,駱德漢.基于Monkeyrunner的Android應(yīng)用自動(dòng)化測(cè)試框架的研究[J].電腦知識(shí)與技術(shù),2019(15):234-236,245.