蔣澤瑞
摘要 科學(xué)技術(shù)的發(fā)展使傳統(tǒng)行業(yè)受到較大影響,網(wǎng)絡(luò)成為企業(yè)發(fā)展的重要渠道。我國大部分網(wǎng)絡(luò)產(chǎn)品依托敏捷開發(fā)模式,經(jīng)過測試后,保障功能,軟件工程師工作挑戰(zhàn)性不斷增大。在壓力不斷增大的同時,軟件領(lǐng)域開發(fā)出一種Selenium自動化測試框架,在此框架基礎(chǔ)上能夠?qū)崿F(xiàn)自動化測試管理系統(tǒng)。本文主要對Selenium的自動化測試管理系統(tǒng)進(jìn)行設(shè)計與分析。
【關(guān)鍵詞】自動化 測試管理系統(tǒng) 分析 設(shè)計
隨著互聯(lián)網(wǎng)科學(xué)技術(shù)的發(fā)展,Web為基礎(chǔ)的網(wǎng)站廣泛性、交互性、易用性優(yōu)勢得到快速發(fā)展。用戶對軟件質(zhì)量提出更高要求,所以為了保障軟件質(zhì)量,減少資源浪費,自動化測試軟件的開發(fā)尤為重要。自動化測試軟件的出現(xiàn)使測試效率得到明顯提升,并能夠減少人力投入,做好自動化管理工作,成為自動測試系統(tǒng)需要面對的問題。
1 自動化測試技術(shù)
1.1 自動測試與手動測試
傳統(tǒng)測試方式為手動測試,測試工作者需要通過編寫執(zhí)行碼對軟件進(jìn)行測試,手工測試有較為明顯的缺點,便是工作量極大,反復(fù)計算和測試需要耗費較長時間和精力,并且質(zhì)量無法把控。
自動化測試是基于手動測試基礎(chǔ)上研發(fā)的,自動化測試程序依然具有重復(fù)性和復(fù)雜性,其中不確定因素較多,比如確定數(shù)據(jù)的正確性和界面UI等,業(yè)務(wù)邏輯都需要進(jìn)行人工判斷。在相對比較下,自動化測試通過自動測試程序以及編寫腳本實現(xiàn)。自動化測試一般只是單純的框架,在維護(hù)方面具有較大難度,并且維護(hù)與開發(fā)需要跟隨軟件開發(fā),版本跟不上發(fā)展會影響最終的測試質(zhì)量。
1.2 自動化測試?yán)碚摶A(chǔ)和測試方式
軟件自動化測試原理以及測試方式包括:代碼分析、錄制回放、腳本技術(shù)。
1.2.1 代碼分析
代碼分析是指直接能夠?qū)Σ煌螒B(tài)的代碼進(jìn)行測試的方法,這種方法為白盒測試。程序靜態(tài)可以利用代碼發(fā)現(xiàn)其只能夠存在的程序問題,現(xiàn)階段較為發(fā)達(dá)的技術(shù)為詞法分析、語法分析、控制分析等。這種方式具有執(zhí)行程序速度快、效率高、誤報率高特點。動態(tài)分析需要執(zhí)行程序分析方式利用執(zhí)行代碼測試功能。
1.2.2 錄制回放
錄制回放通過黑合自動化測試方式,將用戶操作記錄,記錄方式有兩種,第一種通過用戶界面的像素坐標(biāo)和程序顯示位置方式,將所記錄的自動化測試工具轉(zhuǎn)變成語言腳本,通過自動化工具將用戶操作解析,再回放過程中,將語言代碼轉(zhuǎn)化到屏幕,根據(jù)測試系統(tǒng)輸出比例進(jìn)行標(biāo)準(zhǔn)對比,得出最終結(jié)果。在錄制回放過程中,可以較好的進(jìn)行測試,能夠較少資源損耗,增加測試質(zhì)量效率。這種方式需要手動完成測試流程,通過自動化工具轉(zhuǎn)化成固定代碼,在利用測試軟件生成多個測試用戶,將錄制的腳本進(jìn)行測試,查詢結(jié)果是否成功。
1.2.3 腳本技術(shù)
測試腳本與特定的測試呈現(xiàn)一種特殊關(guān)系,這些涉及的指令能夠被測試軟件自動執(zhí)行,測試腳本身便屬于一種程序。針對不同測試軟件,腳本編寫規(guī)則不盡相同,腳本可以通過腳本編程完成工作量,特殊腳本可以直接編寫編程,腳本中自動化測試軟件能夠解析和測試數(shù)據(jù)。
2 seleni um自動測試管理系統(tǒng)分析與設(shè)計
2.1 Web應(yīng)用自動化測試框架
Selenium本身是免費軟件,基于Windows,unlxmac平臺、Wwb瀏覽器IE,firefox,Chrome等自動化測試框架。若測試隊伍經(jīng)濟(jì)實力足或者測試人員能力不強(qiáng)等情況,使用Selenium框架能夠更好的完成目標(biāo)。
Selenium在與webdeiver相結(jié)合后,組建了一種新型測試工具Selenium2.x。在Seleniuml中,Selenium使用lavascript可以實現(xiàn)測試自動化目標(biāo)。在設(shè)計測試框架與業(yè)務(wù)測試時需要遵循分離原則,這種設(shè)計方式能夠保障測試用例維護(hù)方便,讓測試軟件編程更加簡單,不需要考慮測試框架對升級、更新一集阻塞軟件的影響,使軟件測試工程師更好的編寫程序。測試框架的可維護(hù)性以及拓展性,能夠滿足web測試系統(tǒng)的多樣性和業(yè)務(wù)多樣化需求,設(shè)計容易擴(kuò)展的軟件,能夠增加新的測試板塊,能夠更好的適應(yīng)環(huán)境,防止由于設(shè)計改動而引發(fā)的腳本大量修改。測試框架還需要擁有易用性,能夠有效減輕工程師的工作量,將其從重復(fù)性測試中解放。在設(shè)計框架時需要將內(nèi)部功能封存,設(shè)計新的接口方法,使框架更加簡單。
2.2 基于Selenium測試框架進(jìn)行Ctrip Test構(gòu)架設(shè)計
Ctrip Test架構(gòu)是在Selenium基礎(chǔ)上進(jìn)行二次開發(fā)的,此框架核心平臺為自動化測試端口,在自動化測試中,測試代碼包括邏輯測試以及其他測試代碼,例如測試URL拼接,對UI控件訪問,對DOM解析等,把這些其他測試邏輯混合,測試腳本理解較難,維護(hù)不容易。測試腳本為了將難度解決,對測試框架進(jìn)行分層設(shè)計,完成自己邏輯能力。Ctrip Test框架包括數(shù)據(jù)配置層、UI層、業(yè)務(wù)邏輯測試層和公共使用模塊Libbraries層。
2.3 自動化系統(tǒng)管理實現(xiàn)
自動化測試腳本更新實現(xiàn),能夠?qū)δ_本編程進(jìn)行優(yōu)化和維護(hù),通過自動化管理需要搭建自動化管理系統(tǒng)。
2.3.1 建設(shè)自動化管理系統(tǒng)構(gòu)架
為使開發(fā)更加簡單,此系統(tǒng)采取三層設(shè)計B/S的web應(yīng)用,將系統(tǒng)管理頁面UI層,邏輯層以及數(shù)據(jù)層分離。UI層使ASPX頁面,在用戶輸入地址時,服務(wù)器應(yīng)當(dāng)將結(jié)果重新返回給客戶端。在UI頁面,系統(tǒng)可以分成兩個部分,第一部分能夠顯示導(dǎo)航菜單欄,將折疊部分展示給用戶,使內(nèi)容和系統(tǒng)功能對應(yīng),內(nèi)容模塊包括:測試管理菜單、測試RUN管理菜單以及測試環(huán)境配置菜單。
2.3.2 建設(shè)自動化管理系統(tǒng)數(shù)據(jù)層
后臺數(shù)據(jù)庫以及SQServer構(gòu)建數(shù)據(jù)層,使用Subsonic框架與數(shù)據(jù)庫中的數(shù)據(jù)將框架形成。Subsomc框架能夠在短時間內(nèi)把項目轉(zhuǎn)變成原型。步驟為:將數(shù)據(jù)庫MDcatDB設(shè)計,建立對應(yīng)數(shù)據(jù)表將步驟記錄,在建立數(shù)據(jù)庫后,將Vs2010打開,然后打開文件建立網(wǎng)站,選擇較好的存放位置。第二步需要將Subsonic框架與需要的配置文件添加,在站點中將Subsonic.dll使用,將下載的Subsonic.dll復(fù)制到Bin文件夾中,網(wǎng)站便已經(jīng)接受Subsonic支持。在第三步電機(jī)vx工具,選擇外部工具,增加標(biāo)題,然后點擊確定構(gòu)建,實現(xiàn)自動化測試。
參考文獻(xiàn)
[1]江慰.基于Selenium的軟件測試自動化管理系統(tǒng)的設(shè)計與實現(xiàn)[D],上海師范大學(xué),2016.
[2]吳伶琳.基于Selenium的軟件自動化測試的研究與應(yīng)用[J].計算機(jī)與現(xiàn)代化,2013 (02):65-68.