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
主站蜘蛛池模板: 久久91精品牛牛| 日韩天堂在线观看| 成人免费网站久久久| 亚洲黄色视频在线观看一区| 久久精品女人天堂aaa| 国产成人夜色91| 在线精品亚洲一区二区古装| 欧美另类视频一区二区三区| 欧美A级V片在线观看| 国产女人18毛片水真多1| 久久久久人妻一区精品| 日韩资源站| 日本少妇又色又爽又高潮| 久久狠狠色噜噜狠狠狠狠97视色| 蜜桃视频一区二区三区| 香港一级毛片免费看| 亚洲中文在线看视频一区| 国产成人综合久久精品尤物| 国产精品久久久久久久伊一| аⅴ资源中文在线天堂| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲色图欧美视频| 亚洲精品无码人妻无码| 无码粉嫩虎白一线天在线观看| 亚洲欧美精品在线| 国产日韩精品欧美一区灰| 亚洲精品国产综合99久久夜夜嗨| 国产欧美专区在线观看| 久久人妻系列无码一区| 欧美久久网| 亚洲91精品视频| 国产成人无码综合亚洲日韩不卡| 特级aaaaaaaaa毛片免费视频| 国产精品分类视频分类一区| 久久男人资源站| 欧美在线三级| 91视频精品| 国产一区二区丝袜高跟鞋| 亚洲精品少妇熟女| 无码国产伊人| 亚洲国产日韩在线观看| 中日韩欧亚无码视频| 国产欧美日韩免费| 亚洲成aⅴ人片在线影院八| 国产成人av大片在线播放| 国产欧美视频综合二区| 色婷婷成人网| 欧美日韩精品综合在线一区| 国产在线观看精品| lhav亚洲精品| 成人午夜在线播放| 国产精品专区第1页| 天堂在线亚洲| 亚洲精选无码久久久| 亚洲三级网站| 蜜桃视频一区二区三区| 91精品福利自产拍在线观看| 热re99久久精品国99热| 国产精品白浆无码流出在线看| 国产情精品嫩草影院88av| 国产精品va| 欧美日一级片| 国产香蕉在线视频| 老司机aⅴ在线精品导航| 亚洲不卡网| 久久人妻xunleige无码| 欧美一道本| 欧美无遮挡国产欧美另类| 国产99热| 成人国产小视频| 欧美色香蕉| 91福利一区二区三区| 亚洲欧美一区二区三区图片| 国产在线拍偷自揄观看视频网站| 国产小视频a在线观看| 午夜天堂视频| 在线另类稀缺国产呦| 日韩毛片免费| 中文成人在线视频| 国产色爱av资源综合区| 亚洲成aⅴ人在线观看| 亚洲一区二区三区麻豆|