文/方姹
近年來,基于Web的各類網(wǎng)站層出不窮。為了減少軟件故障,保證用戶能夠正常使用網(wǎng)站,對網(wǎng)站進行系統(tǒng)的功能測試顯得尤為重要。
早在1983年ΙEEE就給出了軟件測試的定義:“使用人工或自動手段來運行或測定某個系統(tǒng)的過程,目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結(jié)果與實際結(jié)果之間的差別”。軟件測試方法從程序執(zhí)行上分為人工測試和自動化測試。
自動化測試,即在預先設定的條件下運行被測程序并分析運行結(jié)果。對于手動測試,在設計了測試用例后,根據(jù)測試用例一步一步執(zhí)行得到實際結(jié)果,并與期望結(jié)果進行比對。手動測試可以發(fā)現(xiàn)新的功能缺陷,自動化測試可以加快測試速度。
Web應用軟件就是常說的B/S結(jié)構(gòu)的軟件,電子招投標交易平臺就是典型的Web應用軟件。多個用戶可同時使用客戶端,并均通過ΙE瀏覽器訪問服務器端。圖1為Web應用軟件的典型結(jié)構(gòu)。
電子招投標交易平臺是一個基于Web的網(wǎng)站,其特點如下:
(1)基于無連接協(xié)議;
(2)演化頻繁;
(3)并發(fā)處理能力要強
在測試過程中采取分層的策略。
表示層的測試集中在Web前端,主要關(guān)注軟件的界面,測試內(nèi)容包括:
(1)UΙ測試;
(2)鏈接測試;
(3)前端頁面功能測試。
業(yè)務層的測試集中在Web后端,主要關(guān)注軟件的業(yè)務邏輯,測試內(nèi)容涉及到后端的包括:
(1)單個功能點測試;
(2)一組功能點測試。
數(shù)據(jù)層的測試主要技術(shù)在Web后端,主要關(guān)注后臺數(shù)據(jù)庫,測試內(nèi)容包括:
(1)數(shù)據(jù)完整性測試;
(2)大數(shù)據(jù)性能測試。
圖3:LR中200用戶并發(fā)操作場景設置
電子招投標交易平臺功能測試包括電子招投標交易平臺會員端、管理端、投標文件制作軟件、網(wǎng)上開標大廳、網(wǎng)上開評標系統(tǒng)、電子招投標交易云平臺六個系統(tǒng)。涉及房建工程、水利工程、公路工程等通用范本共計24套,有公開招標和邀請招標等招標方式。
電子招投標交易平臺功能測試主要依據(jù)GB/T25000.51-2016《系統(tǒng)與軟件工程 系統(tǒng)與軟件質(zhì)量要求與評價(SQuaRE)第51部分:就緒可用軟件產(chǎn)品(RUSP)的質(zhì)量要求和測試細則》。
(1)制定測試計劃,包括人員安排、進度安排等,測試過程中按照測試計劃執(zhí)行。
(2)測試開始前對每個頁面的按鈕菜單或每個模塊功能都寫出詳盡的測試用例,在設計測試用例時,包含給出正確結(jié)果和錯誤結(jié)構(gòu)的輸入條件。
(3)測試過程中根據(jù)測試用例執(zhí)行測試,并全面檢查測試結(jié)果,產(chǎn)生的bug及時在管理系統(tǒng)中記錄并跟蹤。
手工測試依據(jù)需求文檔來檢查功能是否符合說明,很難執(zhí)行所有的測試用例來發(fā)現(xiàn)全部的bug,那就要從測試用例管理系統(tǒng)中挑選出代表性的測試用例,利用這些測試用例暴露出程序存在的bug,主要利用等價類劃分法和邊界值法進行測試。
根據(jù)電子招投標的全流程編寫的測試用例,測試人員主要通過手動觸發(fā)在電子招投標交易平臺上執(zhí)行相關(guān)步驟。測試執(zhí)行過程中,不僅要按照全流程的步驟進行操作,也要執(zhí)行非法操作,看頁面提示信息以及響應是否正常。
在執(zhí)行過程中,發(fā)現(xiàn)的bug要及時上傳至bug管理系統(tǒng),待開發(fā)人員修改完畢后,進行回歸測試,確認修復以后,關(guān)閉bug。
本系統(tǒng)面向全省公開使用,需重點關(guān)注當數(shù)據(jù)量達到峰值或者即將到達瓶頸的時候,電子招投標交易平臺是否能正常工作。在本次測試中,采用HP Load Runner(LR)軟件進行自動化測試。
4.5.1 LR簡介
LR是一種適用于各種體系架構(gòu)的自動負載測試工具,通過模擬實際用戶的操作和進行實時性能監(jiān)測,來幫助用戶排查和發(fā)現(xiàn)問題。
4.5.2 測試場景設置
使用LR設置如下兩個場景,并在場景運行時,測試電子招投標交易平臺是否正常工作。
場景一:設置3000用戶同時在線,其中,1000用戶進行登錄操作,1000用戶在選擇“招標代理”身份進行頁面跳轉(zhuǎn),1000用戶在工作臺界面進行操作,持續(xù)運行30分鐘。如圖2所示。
場景二:設置200用戶并發(fā)登錄操作,集合點設置為:所有用戶達到集合點時釋放,持續(xù)運行5分鐘。如圖3所示。
當測試內(nèi)容符合需求文檔,并滿足甲方要求可以正常上線使用時,需要整理最終版本的測試內(nèi)容,包括測試點功能列表、bug數(shù)量統(tǒng)計及修復情況,測試相關(guān)策略等。以紙質(zhì)文檔形式輸出報告。
本文通過對電子招投標交易平臺功能測試方案的研究和分析,可以更好的執(zhí)行Web功能測試。研究確保UΙ層手工功能測試覆蓋了各個頁面的功能點,使用LR對服務器施壓來判定Web應用軟件是否能正常工作,并找出服務器的瓶頸,為系統(tǒng)之后的升級更新做打算。