當前位置:首頁 > 工業(yè)控制 > 電子設計自動化
[導讀]軟件測試作為保證軟件質量和可靠性的關鍵技術,正日益受到廣泛的重視。而軟件測試自動化,已經成為國內軟件工程領域受到廣泛關注的課題。不言而喻,軟件測試從業(yè)者都意識到軟件測試這項工作走向成熟化、標準化的一個

軟件測試作為保證軟件質量和可靠性的關鍵技術,正日益受到廣泛的重視。而軟件測試自動化,已經成為國內軟件工程領域受到廣泛關注的課題。不言而喻,軟件測試從業(yè)者都意識到軟件測試這項工作走向成熟化、標準化的一個必經之路就是要實施自動化測試。

本文結合自動化測試框架、創(chuàng)建運行控制點、實現(xiàn)運行控制機制等技術,設計了一套面向行業(yè)應用的自動化測試運行控制方法,很好地解決了自動化測試中面臨的腳本運行控制問題。

1自動化測試流程

1.1自動化測試

自動化測試就是通過測試工具或其他手段,按照測試工程師的預定計劃對軟件產品進行自動的測試,它是軟件測試的一個重要的組成部分,能夠完成許多手工無法完成或者難以實現(xiàn)的一些測試工作。正確、合理地實施自動化測試,能夠快速、全面地對軟件進行測試,從而提高軟件質量,節(jié)省經費,縮短產品發(fā)布周期。 1.2自動化測試流程

自動化測試工具標準流程提供了一套完整的測試流程框架,軟件測試團隊可以以它為基礎,根據業(yè)務發(fā)展的實際要求,定制符合團隊使用的軟件測試流程。

2行業(yè)應用面臨的運行控制問題及對策

2.1面臨問題

目前,行業(yè)應用系統(tǒng)越來越多,這些系統(tǒng)可能包括EPR系統(tǒng),CRM系統(tǒng)等。這些系統(tǒng)在發(fā)布之前或升級之前都要經過測試,確保主要功能都能正常運行,錯誤最少。如何有效地測試不斷升級和不斷更換應用環(huán)境的應用系統(tǒng),是每個公司都會面臨的問題。

同時,目前企業(yè)的網絡應用環(huán)境都必須支持大量用戶和不同的軟硬件應用環(huán)境。難以預知的用戶負載和越來越復雜的應用環(huán)境使公司時時擔心會發(fā)生用戶響應速度過慢、系統(tǒng)崩潰等問題。這些問題都將不可避免地導致公司收益的損失。

在大型業(yè)務系統(tǒng)的測試過程中大都采用了自動化測試工具,但是這些工具只提供了測試的基本手段,缺乏-個可用的自動化測試管理框架,導致自動化測試往往無法得到有效的實施和進行。其根本原因是由于自動化測試建立在業(yè)務基礎上,具有強烈的行業(yè)相關性,而自動化測試工具是與業(yè)務無關的,不能自動適應各個行業(yè)具體業(yè)務需求,測試過程的實施還需要大量的人為干預,自動化測試的實施效果往往很難達到人們的預期目標。如何管理好自動化測試工具腳本,是測試自動化所面臨的一大難題。

2.2方法思路

構建自動化測試運行控制平臺,首先需要理解業(yè)務特點,根據自動化測試框架,設計測試用例,創(chuàng)建控制點,運行測試腳本控制模型,完成自動化測試。

自動化測試運行控制實施步驟如下:

(1)根據行業(yè)應用自動化測試框架,設計測試用例腳本;
(2)向目標腳本中嵌入若干控制點,取得控制權;
(3)使用測試管理工具和程序實現(xiàn)運行控制機制;

3面向行業(yè)應用的軟件測試運行控制方法

3.1自動化測試框架

手工測試一般不會涉及到測試腳本。在自動化測試中,需要采用自動化測試工具,每種自動化測試工具都有自己的測試腳本,通過編寫測試腳本,實現(xiàn)某個測試用例,運行測試腳本,既可執(zhí)行該測試用例,并可以通過腳本自動檢查測試用例的執(zhí)行結果。

根據行業(yè)應用的諸多復雜特點,我們提出構建自動化測試框架。根據框架,利用行業(yè)業(yè)務規(guī)則和自動化測試腳本語言可以設計測試用例腳本。

在軟件自動化測試中,涉及到回歸測試?;貧w測試是對同一個測試用例的不同版本進行質量檢查評估,是一個反復迭代的過程。在這樣一個過程中,同一個業(yè)務對象在多次測試中反復出現(xiàn)的現(xiàn)象大量存在,測試用例的復用顯得尤為重要。根據自動化測試框架,反復迭代可以實現(xiàn)自動化回歸測試,直到測試完畢。

3.2創(chuàng)建運行控制點

為了實現(xiàn)對測試腳本的運行控制,需要對各個測試腳本創(chuàng)建運行控制點。而實現(xiàn)這個運行控制,需要知道測試腳本運行的人口和出口,根據測試腳本運行的機制對其進行控制。具體方法如下:

在理解業(yè)務規(guī)則的基礎之上,根據各個測試腳本之間的聯(lián)系,創(chuàng)建腳本控制點。在生成的目標腳本中嵌入若干控制點(control point),其位置分別位于測試腳本的入口(前置控制點)、出口(后置控制點)和內部(內部控制點),其中前置、后置控制點在生成測試用例時直接置于目標腳本的入口和正常出口,內部控制點則按照需要置于目標腳本一些關鍵位置:如耗時無法預計的語句前,非正常出口等,以便實施控制。

控制的基本手段是信號燈,信號燈位于創(chuàng)建的中心數(shù)據庫(DB)的控制表run_signal中,控制點的基本行為就是檢查自己的信號燈,并對之做出反應??刂泣c通過DB接口訪問控制信號燈??刂泣c只對信號燈做出反應,如果是運行信號,則運行,如果是等待信號,則輪詢等待,如果是中止信號,則中止運行。前置控制點負責檢查運行條件,運行條件由運行控制系統(tǒng)確定;內置控制點檢查暫停和中止信號;外置控制點則接受信號燈控制指令(用于協(xié)調與其它用例的關系,例如排隊)。

在自動化工具目標腳本中,控制點以工具檢查點的形式實現(xiàn)。所有的控制點都在運行日志中留一條通過信息,以便審計。

控制表run_signal結構如下:


3.3實現(xiàn)運行控制機制

運行控制發(fā)生在測試腳本層面,它針對所有已經發(fā)布并且形成測試腳本的用例。

管理端:管理端用JAVA編寫,測試用例腳本由測試工程師提交。管理端主要完成以下任務:運行控制的決策系統(tǒng),負責建立并維護運行隊列,控制運行策略和信號燈;管理端將測試用例集加入運行隊列中。運行隊列中包含所有已經提交運行但未運行完成的用例。

執(zhí)行端:執(zhí)行端根據管理端的決策系統(tǒng),來執(zhí)行運行隊列中的測試腳本,其中運行控制的執(zhí)行系統(tǒng),負責分配測試腳本,并按照指定策略啟動腳本等也是執(zhí)行端的功能;

信號燈組:信號燈組主要描述的是準備運行的測試腳本首先判斷自己的信號燈,其中信號燈的結構在run_signal結構中已經給出。通過對控制點進行判斷,來決定是否運行腳本。主要功能包括:一個受管理端控制的表,里面有針對不同用例的信號燈;

運行隊列;通過連接數(shù)據庫DB,得到測試腳本排隊表。再根據執(zhí)行端確定的順序執(zhí)行自動化測試。其中,運行隊列中應包含對運行過的腳本和未運行的腳本進行判斷處理。主要功能包括:由管理端建立的等待運行的測試用例(腳本)排隊,中心數(shù)據庫(DB)的表。

運行隊列是可維護的,可以通過改變某個用例的狀態(tài)(啟動、等待、暫停、掛起)來控制用例的運行行為,還可以改變(屬于自己的)用例的運行順序。管理員可以對隊列中所有用例的狀態(tài)和順序進行調整。運行后的用例加入另一個隊列(已運行隊列),運行失敗的用例將標記為"失敗"狀態(tài),等待修改或重新啟動。

4實例分析

在大型業(yè)務系統(tǒng)的測試過程中,自動化測試工具只提供了測試的基本手段,不具有強烈的行業(yè)相關性。通過業(yè)務規(guī)則可以生成不同的測試腳本。根據運行控制機制,我們以銀行金融系統(tǒng)"儲蓄用戶取款"腳本為例說明運行控制機制。

4.1問題描述

大型金融系統(tǒng)都是基于終端界面的,通過對UI界面進行錄制,生成基于業(yè)務流程的腳本,進行控制管理。

銀行金融系統(tǒng)"儲蓄用戶取款"描述:儲蓄用戶輸入賬戶密碼合法后,先查詢儲蓄余額,若有余額,則用戶可以對其進行取款操作。若取款金額超過儲蓄余額,則提示"余額不足";若取款金額小于儲蓄余額,則操作成功。最后用戶注銷退出。

4.2腳本運行控制

通過業(yè)務描述,根據規(guī)則和經驗,我們創(chuàng)建以下簡單業(yè)務測試腳本:

測試腳本A:用戶登陸>查詢余額>退出;(用于登陸查詢)
測試腳本B:取款>余額充足>操作成功;(在登陸狀態(tài)下)
測試腳本C:取款>余額不足>操作失??;(在登陸狀態(tài)下)

設計好A、B、C三個測試腳本后。通過運行控制平臺,我們可以實現(xiàn)對腳本的運行控制。在數(shù)據庫DB中創(chuàng)建測試腳本排隊表,并創(chuàng)建運行隊列Q。對每個測試腳本設置自己信號燈,如余額充足條件下,設置腳本B為運行信號等;并通過管理類Mamgerment中創(chuàng)建Lights實例。可以得到一個儲蓄取款的測試用例運行腳本:

其中,腳本A,B共享腳本A運行過程中傳遞的登陸帳號和密碼。在運行控制中增加各個腳本運行的判斷條件,采取不同的路徑完成自動化測試。然后用自動化測試工具進行測試,得到分析結果。

通過組合各個基礎測試腳本,可以實現(xiàn)不同用例采取基礎測試腳本組合而成。這樣可以實現(xiàn)用例腳本的高可復用性。

5結 論

軟件測試尤其是以自動化測試為代表的軟件質量保證伴隨著行業(yè)應用系統(tǒng)的整個生命周期。自動化測試方法的應用大大提高了軟件測試工作的效率,當然,自動化測試也存在著一些缺陷:自動化測試不能發(fā)現(xiàn)軟件新出現(xiàn)的問題,不能根據實際的情況及時調整測試流程,而且自動化測試腳本的編寫和管理工作也是一項比較繁雜的工作。本文就自動化測試腳本管理中遇到的問題,提出一種運行控制方法。這種方法在一定程度上減輕了測試人員管理自動化測試腳本的壓力,增強了腳本的可維護性。



來源:ks990次

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉