?

一種基于自動化需求分析軟件的快速測試方法

2020-04-08 09:30朱婷婷
電腦知識與技術 2020年3期
關鍵詞:時間

朱婷婷

摘要:概述軟件測試目前的研究現狀,根據測試工作常出現的問題,提出了基于自動化需求分析軟件的快速測試方法。通過使用自動化需求分析軟件,有效降低了需求分析階段所需的人力和時間。通過歷史類似項目軟件測試用例的復用和使用快速測試表格設計測試用例,使得測試用例的設計更快且更好維護。

關鍵詞:自動化需求分析;時間;快速測試表格

中圖分類號:TP311.56 文獻標識碼:A

文章編號:1009-3044(2020)03-0113-03

國內軟件測試行業雖然起步晚,但擁有良好的發展勢頭,截至目前,已成立了若干個國家級的軟件測評中心。各個測評組織對軟件測試的流程、方法以及相關要求等已形成了非常全面的體系管理規定。通過各種體系標準為軟件的質量把關,軟件質量相比以往,有了質的提升。

目前,在實際工作中,軟件測試工作能按照相應的質量管理體系有效開展,進行的測試類型分為靜態測試、動態測試等,其中,動態測試包含對功能、接口、軟件性能及軟件安全性方面的測試。測試需求規格說明的設計、測試用例的編寫、測試用例的執行等,一般需覆蓋上述的各個測試類型。測試需求規格說明、測試用例的編寫部分,耗時較長。

通過工作經驗的積累發現,提高軟件測試工作的效率可以從以下兩方面人手:1)利用軟件對軟件需求規格說明進行自動化分析,生成測試項,節省了一部分測試需求規格說明編寫的時間;2)大部分同類軟件的實現進行了代碼復用,軟件測試也可以根據其特點,進行測試用例的復用,從而避免了一定程度上的時間、人力等方面的浪費[2-5]。

此外,由于部分項目進度時間緊迫,預留給軟件測試的時間比較短,很難按照標準規范開展測試工作。所以,對于時間緊任務重的測試任務,如何按質按量高效完成測試工作,是目前亟待解決的問題。全文所述的“基于自動化需求分析軟件的快速測試方法”就是為了解決上述問題而提出的。

1 軟件測試簡介

1.1 軟件測試的定義及目的

什么是軟件測試?如何定義?于是許多專家經過多年的研究和總結,對軟件測試這個行為給出了各式各樣的定義。在此,經過歸納總結,引用一個目前認為比較全面的定義“軟件測試,首先是設計一個有限的測試用例集,然后軟件在這些測試用例集上,產生相應結果,最后驗證結果是否符合預期”[6]。眾所周知,不存在沒有問題的軟件,所以,高效的軟件測試過程就是短時間內最大限度找出軟件中存在的問題和缺陷。

1.2 軟件測試的分類

由于軟件測試工作可以從各個不同的角度人手,測試種類也不唯一,本文暫且從一個角度將軟件測試劃分為以下幾類:

1)根據測試中只驗證軟件功能是否正確或者對代碼進行逐條分析,可將軟件測試種類劃分為黑盒測試和白盒測試。

2)按軟件集成的大小,軟件測試可從大到小劃分為系統集成測試、配置項級測試、單元性測試。

3)按專題的不同,軟件測試可分為功能測試、接口測試、性能測試等[2-3]。

1.3 測試需求分析的概念

所謂測試需求,主要是理清被測對象中哪些內容需要測試[6]。配置項級的測試需求分析,一般是對軟件的需求規格說明里的各個細目進行分析,分解提取出各個測試項,即生成了待測試內容。系統測試需求通常是以系統規格說明為基礎進行分析,并結合研制總要求、研制任務書等頂層文件對系統需求進行分解。測試需求是設計測試用例的重要依據。

1.4 測試用例設計方法

文獻[7-8]提到設計測試用例的常用方法有錯誤推測、等價類劃分、因果圖及邊界值分析等方法。

等價類劃分法。某個輸入域的子集稱為一個等價類。一個等價類中各個輸入數據產生的輸出是等效的,因此選取其中一個輸入即可代表其他輸入,無須窮舉所有的輸入

邊界值分析法。程序設計常犯的錯誤就是沒有考慮到輸入或輸出數據的上下邊界,因此在各類輸入的上下邊界處設計測試用例,得以有針對性地對常犯問題重點測試,從而快速找到缺陷。

因果圖法。在實際測試工作中,絕大多數軟件設計都使用了層層嵌套的條件判斷語句,多種條件相組合的測試就需要通過因果圖來理清輸入與輸出的對應關系,從而在測試用例的設計過程中,能做到不遺漏地設計出較為全面的用例。

錯誤推測法。此方法就是列舉出軟件的常見錯誤,然后基于這些錯誤設計測試用例,從而高效定位常見錯誤。

2 基于自動化需求分析軟件的快速測試方法

基于自動化需求分析軟件的快速測試方法,首先利用自動化需求分析軟件,實現軟件需求規格說明到測試需求規格說明的自動轉化,分析出每個測試項,再手動對描述不完備的測試項進行補充;然后,依據測試項,復用以往歷史項目的類似軟件的部分用例,對于無法直接復用的用例使用快速測試表格,進行快速用例設計。最后逐條執行測試用例、記錄測試結果、對測試結果進行總結、針對發現的問題撰寫問題報告、根據測試綜合情況編寫測試報告等,完成測試任務。

該快速測試方法,通過使用自動化需求分析軟件、快速測試表格及復用測試用例,不僅節省了測試需求分析的時間,還大大縮短了軟件測試用例編寫的時間。

2.1 自動化需求分析軟件

自動化需求分析軟件,即利用軟件需求分析的標準規范對軟件需求規格說明進行分析,生成測試需求的框架。該框架包含測試項標識及名稱、優先級、測試目的、測試內容及要求、測試約束/終止條件及測試要求等內容。該自動化需求分析軟件的工作過程如圖1所示。

下面對自動化軟件的工作步驟進行詳細描述:

1)打開自動話分析軟件,新建項目,如圖2所示。

2)在軟件需求頁簽下,新建需求類型:功能需求、接口需求等,如圖3所示。

3)分別導人軟件需求word文檔后,根據軟件需求規格說明文檔,生成測試需求文檔。測試需求文檔中的測試項如圖4所示。

在該自動化需求分析軟件中,自動生成測試項的完整程度取決于軟件需求規格說明編寫的規范性,需求規格說明越規范越詳細,測試項中能自動填寫的內容越多,完整性越高。

此外,軟件需求規格說明中的部分潛在需求,例如內存余量測試等需人工挖掘,手動錄入相應測試項,與自動化需求分析軟件生成的測試項手動合并,最后生成完整的測試需求文檔。

2.2 快速測試用例設計

測試用例的設計依賴于測試需求文檔中的測試項,快速全面設計測試用例也是提高測試質量及速度的方法之一??焖贉y試用例設計,在使用快速測試表格提升用例編寫速度的同時,復用相同或類似測試用例,從而達到節省人力、節省時間的目的。

快速測試表格,如圖5所示。采用表格的形式設計測試用例,方便用例維護,且能直觀縱覽、判斷用例是否覆蓋全面.在測試執行過程中,可直接在“實際結果”列記錄測試結果,無須再單獨新建測試記錄文件,省時省力的同時,測試結果一目了然。

編寫測試用例,分別按照如下步驟順序進行:

1)通過復制的方式,提取測試需求規格說明追溯表中列出的各個測試項,粘貼在快速測試表格的測試項列

2)考慮歷史項目中是否存在可復用的測試用例,若存在,則將可復用的測試用例分別填寫在測試子項、測試標題、測試前提條件、測試步驟、預期結果等列。復用完成后,填寫復用的用例編號。

3)針對尚未進行用例設計的測試項,使用等價類劃分、猜錯法、邊界值分析法等方法進行測試用例的設計。

以上三步完成后,一個完整的測試用例文檔生成。在測試執行階段,執行每條測試用例,記錄測試原始數據,填寫實際測試結果,通過對比預期結果和實際結果,確定用例是否通過,把不通過的用例分類匯總到問題報告中。

基于自動化需求分析軟件的快速測試方法:1)通過研發自動化需求分析軟件,減少了需求分析階段的工作量。2)設計測試用例時,考慮用例的可維護性。把用例使用的數據和步驟分別管理,類似于編寫代碼時對各個庫的封裝,封裝完成后留出調用的接口,當后期遇到類似項目,只是數據不同,而步驟相同時,可把步驟直接取而用之。在類似軟件測試時,相似的測試用例只需部分變更便可直接復用,縮減了測試用例設計的耗時。3)通過使用快速測試表格中實際測試結果列記錄測試時的原始數據,無須新建測試記錄文檔,使得測試結果一目了然。

3 結束語

基于自動化需求分析軟件的快速測試方法,不僅能保證軟件產品的質量,更重要的是能減少軟件測試所需的人力及時間,對軟件測試工作具有非常重要的實踐意義。但仍存在一定程度的不足,即在自動化需求分析階段,無法自動挖掘出軟件的潛在需求,需要人力手動補充。但是隨著技術的進步,不斷優化自動化需求分析軟件,將自動挖掘潛在測試需求并添加到工具集中,從而做到完全自動化,盡可能減少人力的投入。在未來的研究當中,還可以繼續研究以快速測試用例表格作為輸入自動生成軟件問題報告,以及將軟件問題報告作為輸入自動生成問題處理報告的技術等。

參考文獻:

[1] Perry W E.軟件測試的有效方法[M].高猛,馮飛,徐璐,譯,北京:清華大學出版社,2008.

[2]李龍,李向函,馮海寧,軟件測試實用技術與常用模板[M].北京:機械工業出版社,2010.

[3]丁志義.提高軟件測試效率的方法探討[EB/OL].http://www.5 ltesting.com/html/0 2/n-214402-2.html.

[4] Mosley D J,Posey B A.軟件自動化測試[M].鄧波,黃麗娟,曹青春,等,譯.機械工業出版社,2003:12-45.

[5]張向芳,李華,姜英偉.軟件測試自動化的實施方案[J]山西科技,2006,21(4):40-42.

[6]康一梅,張永革,李志軍,嵌入式軟件測試[M].北京:機械工業出版社,2008.

[7]李剛,姚紅,軟件測試用例設計的方法與實現[J].大眾科技,2012,14(1):14-15.

[8]王雷,張莉.編寫有效用例[M].,北京:機械工業出版社,2002:10-91.

猜你喜歡
時間
小學生朗讀能力的培養
問題教學法在歷史課堂中運用的原則
“被閑置的時間”——談當代藝術實踐里的當代現實
Spatial—Temporal Metaphor of“qian/hou”in Chinese and English
時間消滅空間?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合