999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件自動化測試技術研究

2020-09-29 07:51:13鄭文鈺廖圣龍
電腦知識與技術 2020年17期
關鍵詞:數據庫

鄭文鈺 廖圣龍

摘要:為了提高軟件測試的效率,降低軟件測試的成本,針對具有穩定軟件架構的樣本程序進行自動化測試技術的研究。通過分析軟件的數據流程和用戶需求,結合行業或領域的歷史數據,構建軟件測試平臺和相關工具庫,以此為基礎,實現自動生成測試用例和測試腳本,進而完成自動化測試。自動化測試平臺具有可繼承性和可擴展性,對于不斷變化的用戶需求和軟件版本,更新維護更加靈活方便。

關鍵詞:軟件測試;數據庫;測試用例; Selenium; Python

中圖分類號:TP311.56 ? ? ? ?文獻標識碼: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 引言

在互聯網技術的快速發展背景下,社會的各行各業對軟件產品的需求都在不斷地增加,并且對軟件的功能要求也越來越多,軟件的版本迭代的越來越快,因此軟件測試的時間就會被壓縮,也就是面臨測試工作量加大和測試時間縮短的壓力。考慮人工測試的時間成本,軟件自動化測試將在現代軟件測試行業中扮演更加重要的角色。

為了提高軟件總體開發效率,相同行業或相同領域的軟件研發在發展過程中將趨于成熟,開發過程也越來越規范,軟件的架構也愈加穩定,成熟穩定的軟件架構是軟件測試自動化的基礎,這種軟件程序也可以被稱為樣本程序[1]。除了穩定的軟件架構,自動化軟件測試的實現還需要各行業軟件運行過程中積累的海量行業數據[2],并從中提取有效的樣本數據作為生成測試用例的樣本庫,結合軟件架構和相對應的樣本庫構建自動化測試平臺。

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

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

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

2.1 數據流

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

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

{“增刪改查”;“操作界面”;“顯示界面”,“后臺數據庫”;“操作人員信息”,“操作對象”,“操作內容”;“操作對象”,“操作內容”,“操作結果”;“修改”;“人員權限級別”}。

2.2 行為參數

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

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

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

2.3 測試數據

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

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

2.4 工具庫

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

數據庫采用了MySQL數據庫,作為一種開源的結構化查詢語言(SQL)數據庫管理系統,它還具有性能卓越、服務穩定、安裝簡單、易于維護、支持多種開發語言和平臺以及維護成本低等優點[6]。

3 自動化測試工具

本文實現自動化測試工具的腳本開發是基于Python語言[7],測試工具以Selenium為基礎框架。通過從工具庫抽取待測試模塊的數據流和行為參數,匹配出測試數據,生成測試用例,然后組裝出自動化測試腳本,配置測試工具的參數,調用測試程序,輸出測試結果和相應的測試問題報告,完成自動化測試。整個自動化測試的流程如圖2所示。

3.1 腳本語言

可用于實現自動化測試的編程語言有很多種,目前軟件測試工程師使用的語言主要有Python、Java等。其中Java語言開發應用最為廣泛,目前在各個領域的軟件開發,Java都是比較主流的選擇,它具有很好兼容性的優點,因此很多主流的測試工具都是用Java開發出來的。

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

3.2 測試工具

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

4 結論

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

參考文獻:

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

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

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

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

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

[6] 劉曉光. 基于MySQL的分布式SQL數據庫的設計與實現[D]. 北京:中國科學院大學,2016.

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

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

【通聯編輯:代影】

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2010年20期)2010-10-19 01:48:32
主站蜘蛛池模板: 国产一区二区免费播放| 中文一级毛片| 国产日产欧美精品| 欧美在线国产| 97久久人人超碰国产精品| 国产裸舞福利在线视频合集| 国产精品一线天| 国产成人一区在线播放| 少妇露出福利视频| 91福利免费| 国产亚洲视频中文字幕视频| 草草线在成年免费视频2| 不卡无码网| 日韩在线观看网站| 婷婷久久综合九色综合88| 亚洲天堂在线免费| 91小视频在线观看免费版高清| 国产成人1024精品下载| 久久免费视频6| 亚洲欧美综合精品久久成人网| 国产精品亚洲αv天堂无码| 97超爽成人免费视频在线播放| 成人午夜亚洲影视在线观看| 国产精品第一区在线观看| 在线无码私拍| 美美女高清毛片视频免费观看| 亚洲精品国产日韩无码AV永久免费网| 国产精品精品视频| 国产欧美日韩综合一区在线播放| 99久久国产综合精品女同| 青青青伊人色综合久久| 日韩最新中文字幕| 亚洲色图欧美在线| 真实国产乱子伦高清| 免费一级毛片不卡在线播放| 国产亚洲美日韩AV中文字幕无码成人| 99久久国产综合精品2020| 亚洲人在线| 97超碰精品成人国产| 九九热这里只有国产精品| 成人自拍视频在线观看| 在线观看国产精美视频| аⅴ资源中文在线天堂| 亚洲av无码成人专区| 日本伊人色综合网| 欧美成人精品欧美一级乱黄| 久久人搡人人玩人妻精品一| 久久婷婷色综合老司机| 日韩欧美国产精品| 欧美亚洲国产精品久久蜜芽| 午夜少妇精品视频小电影| 国产在线拍偷自揄观看视频网站| 亚洲色图综合在线| 国产情侣一区| 精品少妇人妻一区二区| 亚洲一区第一页| 欧美一级专区免费大片| 欧美一区二区三区国产精品| 亚洲三级影院| 搞黄网站免费观看| 国产噜噜噜| 国产福利一区二区在线观看| а∨天堂一区中文字幕| 亚洲欧美天堂网| 久青草国产高清在线视频| 极品国产一区二区三区| 夜精品a一区二区三区| 亚洲精品在线影院| 一区二区午夜| 亚洲无码视频一区二区三区| 亚洲综合色区在线播放2019| a毛片在线播放| 国产在线精品人成导航| 黄色免费在线网址| 日韩欧美在线观看| 香蕉久久国产超碰青草| 日本尹人综合香蕉在线观看| 久久精品人人做人人爽电影蜜月| 欧美色视频在线| 成人一区在线| 99视频在线免费观看| 亚洲第一视频网|