許禮捷 葛華 楊廣
(沙洲職業工學院,江蘇 張家港215600)
目前高職教育中與軟件測試課程教學實踐、軟件測試賽項訓練相關的實訓系統相對較少,實訓任務中能夠針對其中的“功能測試”進行軟件缺陷(BUG)自由設置和拓展的系統更是稀缺。為了滿足軟件測試課程授課教師實現課程中功能測試內容的授課講解、學生學習實踐以及競賽強化訓練的需要,筆者設計開發了BUG預置管理系統。該系統將有助于“功能測試”等關鍵理論知識的講解、復雜操作的訓練,以及軟件測試課程與軟件測試比賽訓練中功能模塊測試所需要注意的重點和難點[1],讓學習者有較為深刻的理解,幫助他們在以后的軟件測試相關學習和工作中能有較強的知識理論和操作技能。
BUG預置管理系統是以典型的資產管理系統作為功能測試的載體,BUG管理的基礎是在資產管理系統中預置各種BUG,然后利用BUG預置管理系統對資產管理系統中的預置BUG進行操作。完成后的BUG預置管理系統不僅能用于資產管理系統,還能應用于學生管理系統、客戶管理系統等。如圖1所示。

圖1 BUG預置管理系統總體框架
根據對BUG預置管理系統的需求分析,結合BUG預置管理系統的設計目標,確定系統的總體設計功能。該系統設計完成后,能實現BUG信息管理、BUG操作記錄查詢、個人信息管理、查詢BUG、新增BUG、用戶管理、實訓軟件管理、登錄日志查詢等[2]。
主要功能模塊包括:
(1)BUG管理
實現對BUG的預置管理,主要功能包括預置BUG的新增、開啟、關閉、BUG信息修改和BUG查詢。
(2)BUG操作記錄
實現對BUG開啟、關閉等操作的日志記錄查詢管理等功能。
(3)基本設置
實現用戶新增、修改、刪除、禁用、啟用等管理;實現個人信息查看、登錄密碼修改等功能。
(4)系統設置
實現對準備進行BUG預置的信息系統軟件的維護管理;實現對管理員登錄日志的管理等。
(1)表設計
BUG預置管理系統的數據庫采用SQL Server,共建有5張數據表,如表1。

表1 BUG預置管理系統數據表
(2)數據庫表關系設計
數據庫表主要包括:用戶信息表(tb_UserInfor)、BUG預置表(tb_BUGYZ)、BUG操作記錄表(tb_BUGJL)、登錄日志表(tb_LoginInfor)、系統配置表(tb_Sysconf),各表之間的關系見圖2。

圖2 BUG預置管理系統數據庫表關系圖
首先通過BUG預置管理系統對資產管理系統中的預置區域嵌入相應的判斷代碼進行BUG開關的設置,然后在資產管理系統加載頁面時判斷相關頁面中的BUG處于何種預置狀態,根據BUG預置的狀態通過頁面進行相應的呈現。具體的BUG預置處理流程見圖3。

圖3 BUG預置功能的處理流程
管理員可以對BUG進行新增、修改(點擊修改后,只需刷新測試系統頁面即可)、查詢,可以對實訓系統資產系統進行詳細的BUG配置。管理員也可以選擇平臺、角色、模塊名稱、類別、難易程度、開啟狀態、是否系統內置等條件進行查詢[3]。
(1)BUG管理模塊功能設計(如圖4)

圖4 BUG管理模塊功能設計圖
(2)BUG預置開關的界面設計
在界面中提供對預置BUG開啟和關閉的按鈕,如圖5。

圖5 BUG預置開關的界面設計

(1)資產管理系統相關頁面的BUG呈現
在資產管理系統的BUG預置區域根據BUG的開關狀態實現不同的頁面內容顯示[4]。以某BUG預置案例為例:在資產類別的面包屑位置,應顯示“資產類別”,因BUG開啟實際顯示“資產列表”,如圖6。

圖6 BUG預置案例
(2)資產管理系統BUG預置區域的核心代碼
通過對BUG預置表中的開關狀態的判斷,實現對資產管理系統BUG預置區域相應內容的顯示。以上述BUG預置案例為例,核心代碼如下:
//判斷Bug預置表中的bug狀態,BUG預置的相關信息

在測試階段,首先針對BUG預置管理系統和資產管理系統的各個功能模塊設計編寫相關的測試用例,并進行相對獨立的測試。測試發現:BUG預置管理系統和資產管理系統的缺陷、問題一般比較直接,主要的缺陷、錯誤是編碼錯誤和表現直接的功能性錯誤,對于隱藏較深的錯誤以及系統性嚴重錯誤問題,在一般測試中是很難發現的[5]。以資產類別模塊為例,資產類別功能測試用例設計及執行結果見表2。

表2 資產類別測試表
BUG預置管理系統和資產管理系統在運行、關閉以及退出的過程中,保存記錄的提示功能已基本完成,在BUG預置管理系統和資產管理系統的不斷啟動、關閉過程中未出現死機以及程序執行效率降低等不良現象,整套管理系統在使用過程中較為順暢;BUG預置管理系統和嵌入BUG預置功能的資產管理系統等預期功能都得到了實現。
利用ASP.NET技術、SQLServer 2012數據庫和Visual Studio2017平臺,設計實現了BUG預置系統和嵌入預置BUG的資產管理系統。該系統目前已初步應用于軟件測試課程的教學實踐,教師能夠根據軟件測試教學實踐的需求,對BUG開關進行靈活的設置,合理地調配相關教學資源,從而提升信息化教學水平。同時也有助于軟件測試相關競賽項目的訓練,提高學生學習和競賽技能。