亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件自動化測試技術(shù)研究

        2020-09-29 07:51:13鄭文鈺廖圣龍
        電腦知識與技術(shù) 2020年17期
        關(guān)鍵詞:測試用例軟件測試數(shù)據(jù)庫

        鄭文鈺 廖圣龍

        摘要:為了提高軟件測試的效率,降低軟件測試的成本,針對具有穩(wěn)定軟件架構(gòu)的樣本程序進(jìn)行自動化測試技術(shù)的研究。通過分析軟件的數(shù)據(jù)流程和用戶需求,結(jié)合行業(yè)或領(lǐng)域的歷史數(shù)據(jù),構(gòu)建軟件測試平臺和相關(guān)工具庫,以此為基礎(chǔ),實(shí)現(xiàn)自動生成測試用例和測試腳本,進(jìn)而完成自動化測試。自動化測試平臺具有可繼承性和可擴(kuò)展性,對于不斷變化的用戶需求和軟件版本,更新維護(hù)更加靈活方便。

        關(guān)鍵詞:軟件測試;數(shù)據(jù)庫;測試用例; Selenium; Python

        中圖分類號:TP311.56 ? ? ? ?文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2020)17-0033-02

        Abstract:In order to improve the efficiency of software testing and reduce the cost of software testing, the automatic testing technology was studied for the sample program with stable software architecture. By analyzing the data flow and user requirements of the software, and combining with the historical data of the industry or field, the software test platform and relevant tool library are built. On this basis, test cases and test scripts are automatically generated to complete automated tests. The automation test platform has the inheritability and the extensibility, the software maintenance is more flexible and convenient.

        Key words: software testing; database; test case; Selenium; Python

        1 引言

        在互聯(lián)網(wǎng)技術(shù)的快速發(fā)展背景下,社會的各行各業(yè)對軟件產(chǎn)品的需求都在不斷地增加,并且對軟件的功能要求也越來越多,軟件的版本迭代的越來越快,因此軟件測試的時(shí)間就會被壓縮,也就是面臨測試工作量加大和測試時(shí)間縮短的壓力??紤]人工測試的時(shí)間成本,軟件自動化測試將在現(xiàn)代軟件測試行業(yè)中扮演更加重要的角色。

        為了提高軟件總體開發(fā)效率,相同行業(yè)或相同領(lǐng)域的軟件研發(fā)在發(fā)展過程中將趨于成熟,開發(fā)過程也越來越規(guī)范,軟件的架構(gòu)也愈加穩(wěn)定,成熟穩(wěn)定的軟件架構(gòu)是軟件測試自動化的基礎(chǔ),這種軟件程序也可以被稱為樣本程序[1]。除了穩(wěn)定的軟件架構(gòu),自動化軟件測試的實(shí)現(xiàn)還需要各行業(yè)軟件運(yùn)行過程中積累的海量行業(yè)數(shù)據(jù)[2],并從中提取有效的樣本數(shù)據(jù)作為生成測試用例的樣本庫,結(jié)合軟件架構(gòu)和相對應(yīng)的樣本庫構(gòu)建自動化測試平臺。

        目前,軟件自動化測試工具的類型有很多,例如Selenium[3]、QTP[4]等。這些測試工具本身就具有很強(qiáng)功能,但對于不斷的用戶需求變化和軟件產(chǎn)品更新迭代,其并不能提供便捷的自動化腳本編寫方案,為了自動化測試工具更加專業(yè)化[5],因此本文研究了一種基于成熟穩(wěn)定軟件架構(gòu)的樣本程序的自動化測試平臺框架,利用穩(wěn)定的軟件架構(gòu)和行業(yè)數(shù)據(jù),自動提取測試用例和生成測試腳本,對軟件進(jìn)行自動化測試。

        2 軟件自動化測試平臺框架

        自動化測試平臺構(gòu)建首先要確定該行業(yè)或領(lǐng)域軟件的數(shù)據(jù)流程,即細(xì)化各個(gè)功能模塊之間的數(shù)據(jù)流以及數(shù)據(jù)的行為參數(shù)(用戶需求);然后以數(shù)據(jù)流和行為參數(shù)為基礎(chǔ)從該行業(yè)或領(lǐng)域數(shù)據(jù)中提取各個(gè)模塊的測試數(shù)據(jù);最后建立相應(yīng)的工具庫。軟件自動化測試平臺工作框圖如圖1 所示。

        2.1 數(shù)據(jù)流

        軟件是由多個(gè)模塊組成,數(shù)據(jù)流就是各個(gè)模塊之間的輸入輸出關(guān)系,每個(gè)數(shù)據(jù)流可以定義成一個(gè)由數(shù)據(jù)元素和數(shù)據(jù)關(guān)系組成的結(jié)構(gòu)體,包括模塊、輸入來源模塊、輸出接收模塊、輸入數(shù)據(jù)元素、輸出數(shù)據(jù)元素、功能關(guān)鍵字以及行為參數(shù)關(guān)鍵字,其中行為參數(shù)關(guān)鍵字是根據(jù)用戶需求定義的規(guī)則參數(shù)。

        以軟件系統(tǒng)中基本的增刪改查模塊中的修改功能為例(系統(tǒng)中有修改權(quán)限限制)。輸入來源模塊是系統(tǒng)菜單中的“操作界面”,輸入數(shù)據(jù)包括“操作人員信息”“操作對象”和“操作內(nèi)容”,輸出接收模塊是“顯示界面”和“后臺數(shù)據(jù)庫”,輸出數(shù)據(jù)包括“操作對象”“操作內(nèi)容”和“操作結(jié)果”,功能描述的關(guān)鍵字為“修改”,行為參數(shù)關(guān)鍵字是“人員權(quán)限級別”。該數(shù)據(jù)流結(jié)構(gòu)表示為:

        {“增刪改查”;“操作界面”;“顯示界面”,“后臺數(shù)據(jù)庫”;“操作人員信息”,“操作對象”,“操作內(nèi)容”;“操作對象”,“操作內(nèi)容”,“操作結(jié)果”;“修改”;“人員權(quán)限級別”}。

        2.2 行為參數(shù)

        行為參數(shù)主要是從用戶需求中提取出來,用于約束軟件的數(shù)據(jù)流,就是輸入各種數(shù)據(jù)后輸出的結(jié)果都必須滿足用戶需求,否則即測試不合格。行為參數(shù)用于反推出對應(yīng)模塊的數(shù)據(jù)流具有幾種輸入數(shù)據(jù),以此覆蓋所有測試用例,達(dá)到充分測試的目的。

        同樣以修改功能為例,該模塊數(shù)據(jù)流中的行為參數(shù)是“人員權(quán)限級別”,從輸入數(shù)據(jù)中“操作人員信息”中獲取“人員權(quán)限級別”,如果操作人員的“人員權(quán)限級別”具有修改的權(quán)限,操作成功并將“操作內(nèi)容”和“操作結(jié)果”發(fā)送“顯示界面”和“后臺數(shù)據(jù)庫”;如果沒有權(quán)限,則操作不成功,將“操作結(jié)果”發(fā)送“顯示界面”。此數(shù)據(jù)流可以生成2種測試用例,也就是至少需要2組測試數(shù)據(jù)來進(jìn)行充分測試。

        此外,數(shù)據(jù)流可能包含多個(gè)行為參數(shù),生成的測試用例數(shù)量就由各個(gè)行為參數(shù)排列組合種類數(shù)決定。

        2.3 測試數(shù)據(jù)

        測試的流程就是通過輸入各類測試數(shù)據(jù)后,判斷得到的輸出數(shù)據(jù)是否正確或者滿足需求。因此在確定整個(gè)軟件的數(shù)據(jù)流和行為參數(shù)后,以此為基礎(chǔ)從大量的實(shí)際數(shù)據(jù)中提取具有代表性并能完全覆蓋各類輸入輸出情況的數(shù)據(jù)作為最終的測試數(shù)據(jù)。

        以修改功能為例,至少可以提取出2組測試數(shù)據(jù)。如輸入數(shù)據(jù):操作人員信息(張三,等級1),操作對象(顯示界面),操作內(nèi)容(顏色)。輸出數(shù)據(jù):操作對象(顯示界面),操作內(nèi)容(顏色),操作結(jié)果(成功);輸入數(shù)據(jù):操作人員信息(李四,等級7),操作對象(顯示界面),操作內(nèi)容(顏色),輸出數(shù)據(jù):操作對象(無),操作內(nèi)容(無),操作結(jié)果(失敗)。

        2.4 工具庫

        由軟件自動化測試平臺工作框圖中可以看出,通過軟件架構(gòu)、用戶需求和行業(yè)數(shù)據(jù)可以依次提取數(shù)據(jù)流庫、行為參數(shù)庫和測試數(shù)據(jù)庫,這三種庫組成了自動化測試平臺的工具庫。其中數(shù)據(jù)流庫和行為參數(shù)庫是需要根據(jù)軟件的版本更新和用戶需求的變化進(jìn)行同步更新,然后再以新的數(shù)據(jù)流庫和行為參數(shù)庫為依據(jù)從行業(yè)數(shù)據(jù)提取測試數(shù)據(jù)并更新測試數(shù)據(jù)庫。

        數(shù)據(jù)庫采用了MySQL數(shù)據(jù)庫,作為一種開源的結(jié)構(gòu)化查詢語言(SQL)數(shù)據(jù)庫管理系統(tǒng),它還具有性能卓越、服務(wù)穩(wěn)定、安裝簡單、易于維護(hù)、支持多種開發(fā)語言和平臺以及維護(hù)成本低等優(yōu)點(diǎn)[6]。

        3 自動化測試工具

        本文實(shí)現(xiàn)自動化測試工具的腳本開發(fā)是基于Python語言[7],測試工具以Selenium為基礎(chǔ)框架。通過從工具庫抽取待測試模塊的數(shù)據(jù)流和行為參數(shù),匹配出測試數(shù)據(jù),生成測試用例,然后組裝出自動化測試腳本,配置測試工具的參數(shù),調(diào)用測試程序,輸出測試結(jié)果和相應(yīng)的測試問題報(bào)告,完成自動化測試。整個(gè)自動化測試的流程如圖2所示。

        3.1 腳本語言

        可用于實(shí)現(xiàn)自動化測試的編程語言有很多種,目前軟件測試工程師使用的語言主要有Python、Java等。其中Java語言開發(fā)應(yīng)用最為廣泛,目前在各個(gè)領(lǐng)域的軟件開發(fā),Java都是比較主流的選擇,它具有很好兼容性的優(yōu)點(diǎn),因此很多主流的測試工具都是用Java開發(fā)出來的。

        本文采用的是Python語言,作為一種語法簡單、適合初學(xué)編程者的編程語言,近幾年來Python生態(tài)的發(fā)展很迅猛,在數(shù)據(jù)分析、Web開發(fā)、人工智能以及自動化測試等領(lǐng)域都有涉及。Python語言優(yōu)勢在于靈活,而測試行業(yè)就是用戶需求不斷變化,可以充分利用Python廣泛的第三方庫來快速靈活的開發(fā)或更新自動化測試工具,提高測試效率。Python語言的劣勢是執(zhí)行效率比較慢,在測試行業(yè)中這一點(diǎn)并不明顯。

        3.2 測試工具

        采用Selenium作為自動化測試工具主要看重其強(qiáng)于其他測試工具的四個(gè)優(yōu)點(diǎn)。第一,它支持多種語言(Python、PHP、Java等)、平臺(windows、Linux等)以及各類瀏覽器(Firefox、IE、Safari等);第二,它可集成各種開發(fā)平臺,如TestNG、SauceLabs和Jenkins等;第三,可移動測試;第四,具有大型插件庫,可通過各種插件擴(kuò)展其更多功能[8]。

        4 結(jié)論

        目前使用的軟件自動化測試的各類工具,在每次進(jìn)行新的測試項(xiàng)目時(shí),都需要耗費(fèi)大量的時(shí)間和人力成本進(jìn)行測試用例提取和測試腳本編寫。針對這一情況,本文研究了一種可以自動化提取測試用例和生成測試腳本的軟件自動化測試平臺框架,以行業(yè)或領(lǐng)域軟件的數(shù)據(jù)流程、用戶需求和測試數(shù)據(jù)為基礎(chǔ),建立相應(yīng)的工具庫,最后實(shí)現(xiàn)自動化測試腳本的組裝,完成自動化測試。而且同一行業(yè)或領(lǐng)域的自動化測試平臺具有很好可繼承性和可擴(kuò)展性,便于后期用戶需求變更后的更新維護(hù),進(jìn)而提高整個(gè)自動化測試流程的效率。

        參考文獻(xiàn):

        [1] 王致富.基于樣本程序和規(guī)則庫的代碼自動化檢查工具[D].北京:中國科學(xué)院研究生院,2011.

        [2] 周惠群,左春,蔡玉寶. 特定領(lǐng)域的數(shù)據(jù)參考模型建模方法研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2009, 30(3): 605-609.

        [3] 莊文龍,陳惠娟. 基于Selenium2的自動化測試應(yīng)用[J]. 福建電腦, 2019, 15(8): 21-24.

        [4] 李玉,尉雙梅,汪添生. 基于QTP的企業(yè)級應(yīng)用軟件自動化測試方法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2016, 25(6): 219-224.

        [5] 王津,左春,張正. 基于樣本程序的自動化測試工具[J]. 計(jì)算機(jī)工程, 2019, 25(6): 211-218.

        [6] 劉曉光. 基于MySQL的分布式SQL數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京:中國科學(xué)院大學(xué),2016.

        [7] 孟聰. 基于Python的軟件測試自動化平臺研究[J]. 信息與電腦(理論版), 2019, 5(16): 45-51.

        [8] 姜文,劉立康. 基于Selenium的web軟件自動化測試[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2018, 6(9): 29-32.

        【通聯(lián)編輯:代影】

        猜你喜歡
        測試用例軟件測試數(shù)據(jù)庫
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        基于OBE的軟件測試課程教學(xué)改革探索
        EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        基于混合遺傳算法的回歸測試用例集最小化研究
        關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        數(shù)據(jù)庫
        軟件測試工程化模型及應(yīng)用研究
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        狠狠躁日日躁夜夜躁2020| 97无码人妻Va一区二区三区| 日韩国产成人精品视频| 亚洲无码激情视频在线观看| 在线看高清中文字幕一区| 人妖国产视频一区二区| 欧美疯狂性受xxxxx喷水| 久久久久国产一区二区| 夜夜春精品视频| 在线亚洲免费精品视频| 二区三区三区视频在线观看| 琪琪的色原网站| 国模无码视频一区| 久久熟女五十路| 中文字幕一区乱码在线观看| 国产极品女主播国产区| 台湾佬综合网| 国产乱人伦AⅤ在线麻豆A| 亚洲精品国产一区二区免费视频| 国产色在线 | 日韩| 亚洲一区爱区精品无码| 国产精品白浆视频一区| 国产人成在线免费视频| 免费看av网站在线亚洲| 国产在线观看免费视频软件| 人人妻人人狠人人爽| 亚洲巨乳自拍在线视频| 欧美日韩中文字幕久久伊人| 视频一区视频二区亚洲| 精品国产a一区二区三区v| 2021国产精品国产精华| 欧美日韩国产在线观看免费| 国产精品人成在线观看不卡| 日本国产亚洲一区二区| 久久国内精品自在自线图片| 无夜精品久久久久久| 一区二区三区亚洲免费| 97碰碰碰人妻无码视频| 99re这里只有热视频| 国产经典免费视频在线观看 | 狠狠色综合7777久夜色撩人|