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

基于用例庫的自動化回歸測試的設計和實現

2018-02-27 13:29:44葉素梅
電腦知識與技術 2018年35期

葉素梅

摘要:當軟件產品的代碼被修改,特別是在產品的版本更新時,會對原有的代碼產生影響。為了保證產品的整體性能,必須對整個代碼進行回歸測試。回歸測試的重復度較高,工作量較大,自動化測試可以大大提高測試的效率。通過設計并生成測試腳本,在服務器上執行測試命令,并調取用例庫中的測試用例,可以實現回歸測試的自動化。對測試結果進行分析后,自動生成測試報告。

關鍵詞:回歸測試;自動化測試;用例庫;測試用例復用

中圖分類號:TP311.52 ? ? 文獻標識碼:A? ? ?文章編號:1009-3044(2018)35-0055-02

Abstract: When the code of the software product is modified, especially when the product version is updated, it will affect the original code.In order to ensure the overall performance of the product, the entire code must be tested for regression.Regression testing has high repeatability and heavy workload. Automated testing can greatly improve the efficiency of testing.The automation of regression testing can be realized by designing and generating test scripts, executing test commands on the server and calling test cases from the test case database.After analyzing the test results, the test report is automatically generated.

Keywords:Regression Testing; Automated Testing;Testcase Database; Testcasereuse

在軟件開發的整個過程中,對代碼的任何一次修改,都有可能給軟件帶來問題。軟件代碼的修改一般是增加新功能,或者是對已有代碼進行缺陷修正和性能提升。新加入的代碼除了本身可能存在問題外,也有可能會對原有的代碼產生影響[1]。同樣的,對缺陷進行修正的同時,又可能引發了其他的缺陷。因此,每當代碼發生改變時,需要對代碼進行回歸測試,再一次測試所有的功能[2]。對新增的代碼需要對應的增加新的測試用例,對原有的代碼需要再次運行所有的測試用例,以便確定修改后的代碼達到了預期的目標。

回歸測試在整個軟件開發周期中,有著很重要的作用,保障著整個產品的質量和安全。但是回歸測試在軟件測試環節的工作量很大,手動測試的效率不高[3]。在回歸測試中引入自動化測試,通過控制被測軟件的執行,模擬手動測試,可以大大提高測試的效率,節約開發的成本[4]。本文通過對測試用例庫中用例的復用,在多個服務器之間進行腳本設計與執行,構建了一個適用于回歸測試的自動化平臺。

1 系統設計

軟件測試過程中,有很多重復性的工作,特別是在產品的回歸測試中尤為明顯。我們設計了一個由多臺服務器構成的測試平臺,能夠自動執行測試腳本,并通過測試結果的比較分析,最終生成測試報告。

1.1 系統的構成

回歸測試平臺包含4個服務器系統,分別是代碼服務器、編譯服務器、用例庫服務器和測試執行服務器等。

代碼服務器上保存著產品所有被測代碼,可以進行產品的版本管理。在這個服務器上可以根據版本號,自動簽出需要測試的所有代碼。代碼被簽出后,在編譯服務器上進行產品編譯,并根據測試任務生成測試命令腳本。

用例庫服務器管理著產品測試中的可復用測試用例。通過接口可以向庫中手動添加用例,對庫中已有的用例可以通過用例號自動調取。測試執行服務器主要是在服務器上搭建了產品運行的所有環境,以確保產品能夠正常運行。根據產品需求的不同,不同版本的產品所需要的硬件、設備參數、性能參數等環境不太一致。在專門的測試執行服務器上執行產品測試,最大程度上模擬了最終產品的運行環境,避免了多系統多版本的干擾,能夠得到最真實的測試結果。

1.2 系統的邏輯關聯

系統所涉及的四類服務器都構建在局域網環境內。編譯服務器負責從代碼服務器上簽出需要測試的代碼,并開始進行編譯。編譯成功后的產品會回傳到代碼服務器進行版本管理。當編譯結束后,在編譯服務器上會生成測試腳本,也就是生成不同的測試命令清單,并根據測試命令,拉取測試用例清單。測試用例清單會傳送到測試用例庫,用于測試用例的校驗。這個過程主要是為了確保測試用例庫中有全部所需的用例,以免自動執行時,因為無法調取測試用例而報錯。

測試命令會下發到測試執行服務器中,針對每一條執行命令,調取合適的測試用例,并分析結果,最終生成一個測試報告。圖1給出了在各服務器之間數據流轉的示意圖。通過這個平臺,能夠有效地進行產品的回歸測試,盡可能檢測出因為代碼的修改而造成的軟件缺陷,而且測試效率得到很大的提升。

2 系統實現

2.1 回歸測試的預處理

在對一個新版本的產品進行回歸測試之前,必須有針對性地進行軟硬件方面的前期準備。在編譯服務器上需要構建編譯環境,我們的產品主要是要區分Linux系統和windows系統。測試用例庫服務器上需要根據代碼的更新,設計并手動新增合適的測試用例。這些用例需要事先進行手動測試,以確保新增的用例真實有效。一般而言,測試用例庫中更多的是新增用例,不太會刪除用例。新增的用例都有對應的用例編號,以便能存入到用例庫中進行復用管理。測試執行服務器上需要構建產品運行的真實環境。對于我們的產品而言,就是需要機、電、光等各部分都配合到位。

2.2 測試的設計

當產品編譯成功并且測試用例庫完備以后,就可以進行回歸測試的腳本設計了。這個過程需要測試人員人工干預,是一個半自動的過程。測試人員根據產品的業務邏輯,選擇產品的業務編號。每個業務都有相應的測試命令和測試用例列表。測試人員完成選擇后,編譯服務器上會根據業務邏輯自動生成測試腳本。

測試命令腳本示例如下所示:

<TestCommandID = 0101.10>

<Parameter1> a </ Parameter1>

<Parameter2> b </ Parameter2>

……

<InputSet>//192.168.1.1/in.dat</InputSet>

<OutSet>//192.168.1.7/result.dat</OutSet>

<TestCase Suits ID>0101</ TestCase Suits ID>

</ TestCommandID>

一個測試任務一般僅生成一個測試腳本,該腳本依據不同的業務邏輯分成若干段落,每個段落有若干條測試命令,并定義了命令執行的一些參數。對于環境參數一般使用文件附件的形式調入。測試結果的輸出也是記錄在對應的文件中。同時測試命令中給出了需要到測試用例庫中去調取的用例套編號。

2.3 腳本的執行

測試任務腳本在專門的服務器上執行,由測試人員根據任務編號輸入腳本啟動命令后開始。腳本在執行過程中,會對硬件環境的情況進行檢測,對于硬件沒有準備好或者某些場景沒有保存的情況,都會一一記錄在測試結果內。在測試命令執行過程中,會自動調取用例庫中的用例。在測試用例測試過程中,如果出現錯誤,一般會有三種情況。第一種情況是測試用例沒有準備好。這種情況比較少見,一般是由于軟件功能新增后,配套的測試用例沒有同步。第二種情況是測試用例結果錯誤。針對特定的用例值,運行后的結果是錯誤的。這就是需要捕捉的軟件缺陷。還有一種情況是測試命令結果返回錯誤。這種情況是指用例運行結果正確,但是測試命令返回的結果有誤。這個情形出現后,要根據具體情況分析,看看缺陷到底是出現在軟件產品上,還是出現在測試工具本身。

2.4 報告生成

當測試腳本運行結束后,系統會生成當前測試的報告。測試報告給出了測試的統計信息和明細信息。整個報告一般分為三部分:第一部分是測試的統計信息,給出每種缺陷發生的數目;第二部分給出測試用例的運行結果明細;第三部分給出測試命令的運行結果明細。測試報告的示例如下所示:

Test Time: 2018-11-9 09:08:55

Test Task ID: 201811005

Excuting Machine: 192.168.1.7

Object Machine: 192.168.1.2

Summary of Test:

Pass:? 300

EnvNotReady: 0

ExeError: 0

RltError: 0

EnvNotRestore: 0

Test cases detail:

0101 → pass

……

Test command detail:

0101.10 → pass

……

3 結論

當產品的版本進行更新時,隨著代碼的修改或增加,對原有代碼會產生影響。此時需要對整個產品進行回歸測試,以盡可能保證產品整體的穩定性和安全性。回歸測試的重復率較高,而且工作量較大。通過測試任務腳本的生成與執行,并結合測試用例的復用,能夠實現回歸測試的自動化,避免測試用例執行的遺漏,大大提高軟件測試的效率。

參考文獻:

[1] 李丹, 劉杰. 軟件回歸測試及其實踐[J]. 電子產品可靠性與環境試驗, 2001(6):23-25.

[2] 李剛毅, 金蓓弘. 自動化回歸測試的技術和實現 [J]. 計算機應用研究, 2006, 23(2):192-194+213.

[3] 張麗波. 軟件自動化測試的設計與實施[J]. 佳木斯大學學報:自然科學版, 2004, 22(4):568-572.

[4] 朱芳, 李曦, 趙振西. 一種多平臺自動化測試工具的設計和實現 [J]. 計算機工程, 2004, 30(24):186-188.

[通聯編輯:梁書]

主站蜘蛛池模板: 国产在线一区视频| 久久久久国产一级毛片高清板| 精品亚洲欧美中文字幕在线看| 国产夜色视频| 国产无套粉嫩白浆| 亚洲精品中文字幕无乱码| 97影院午夜在线观看视频| 最新国产在线| 一本久道久综合久久鬼色| 色有码无码视频| 久久99国产乱子伦精品免| 久久99热66这里只有精品一| 亚洲天堂高清| av无码一区二区三区在线| 亚洲中文精品人人永久免费| 国产亚洲欧美日韩在线一区二区三区| 精品無碼一區在線觀看 | 91探花国产综合在线精品| 大学生久久香蕉国产线观看| 东京热av无码电影一区二区| 伊人天堂网| 激情视频综合网| 91在线一9|永久视频在线| 91小视频版在线观看www| 国产精品蜜芽在线观看| 国产在线观看人成激情视频| 全部免费毛片免费播放| 一级香蕉视频在线观看| 久久伊人操| 日本午夜在线视频| 色播五月婷婷| 久久久精品无码一区二区三区| 四虎影视无码永久免费观看| 成人免费网站在线观看| 亚洲国产日韩在线观看| 亚洲欧洲自拍拍偷午夜色| 天堂成人在线视频| 91麻豆国产在线| 亚洲最黄视频| 国产伦精品一区二区三区视频优播 | 国产91全国探花系列在线播放| 91福利一区二区三区| 素人激情视频福利| 日本道中文字幕久久一区| 日韩精品亚洲人旧成在线| 亚洲性日韩精品一区二区| www.99在线观看| 日韩国产亚洲一区二区在线观看| 亚洲精品无码久久久久苍井空| 毛片免费视频| 成人午夜视频网站| 国产69精品久久久久孕妇大杂乱 | 国产无码性爱一区二区三区| 黄色网页在线观看| 9cao视频精品| 国产精品专区第1页| 9cao视频精品| 亚洲swag精品自拍一区| 熟妇丰满人妻av无码区| 久草网视频在线| 中文字幕人妻无码系列第三区| 美女扒开下面流白浆在线试听| 青青久久91| 无码啪啪精品天堂浪潮av| 日韩精品亚洲精品第一页| 大陆精大陆国产国语精品1024| 欧美日韩免费观看| 久久国产V一级毛多内射| 精品国产自在在线在线观看| 毛片最新网址| 69av免费视频| 欧美伦理一区| 嫩草影院在线观看精品视频| 国产精品视频a| 国产成人精品高清不卡在线| 99精品视频在线观看免费播放| 国产 日韩 欧美 第二页| 激情综合网址| 亚洲精品无码抽插日韩| 亚洲人成影院午夜网站| 国产交换配偶在线视频| 久久99国产精品成人欧美|