許禮捷 葛華 楊廣
(沙洲職業(yè)工學院,江蘇 張家港215600)
目前高職教育中與軟件測試課程教學實踐、軟件測試賽項訓練相關的實訓系統(tǒng)相對較少,實訓任務中能夠針對其中的“功能測試”進行軟件缺陷(BUG)自由設置和拓展的系統(tǒng)更是稀缺。為了滿足軟件測試課程授課教師實現(xiàn)課程中功能測試內(nèi)容的授課講解、學生學習實踐以及競賽強化訓練的需要,筆者設計開發(fā)了BUG預置管理系統(tǒng)。該系統(tǒng)將有助于“功能測試”等關鍵理論知識的講解、復雜操作的訓練,以及軟件測試課程與軟件測試比賽訓練中功能模塊測試所需要注意的重點和難點[1],讓學習者有較為深刻的理解,幫助他們在以后的軟件測試相關學習和工作中能有較強的知識理論和操作技能。
BUG預置管理系統(tǒng)是以典型的資產(chǎn)管理系統(tǒng)作為功能測試的載體,BUG管理的基礎是在資產(chǎn)管理系統(tǒng)中預置各種BUG,然后利用BUG預置管理系統(tǒng)對資產(chǎn)管理系統(tǒng)中的預置BUG進行操作。完成后的BUG預置管理系統(tǒng)不僅能用于資產(chǎn)管理系統(tǒng),還能應用于學生管理系統(tǒng)、客戶管理系統(tǒng)等。如圖1所示。
圖1 BUG預置管理系統(tǒng)總體框架
根據(jù)對BUG預置管理系統(tǒng)的需求分析,結合BUG預置管理系統(tǒng)的設計目標,確定系統(tǒng)的總體設計功能。該系統(tǒng)設計完成后,能實現(xiàn)BUG信息管理、BUG操作記錄查詢、個人信息管理、查詢BUG、新增BUG、用戶管理、實訓軟件管理、登錄日志查詢等[2]。
主要功能模塊包括:
(1)BUG管理
實現(xiàn)對BUG的預置管理,主要功能包括預置BUG的新增、開啟、關閉、BUG信息修改和BUG查詢。
(2)BUG操作記錄
實現(xiàn)對BUG開啟、關閉等操作的日志記錄查詢管理等功能。
(3)基本設置
實現(xiàn)用戶新增、修改、刪除、禁用、啟用等管理;實現(xiàn)個人信息查看、登錄密碼修改等功能。
(4)系統(tǒng)設置
實現(xiàn)對準備進行BUG預置的信息系統(tǒng)軟件的維護管理;實現(xiàn)對管理員登錄日志的管理等。
(1)表設計
BUG預置管理系統(tǒng)的數(shù)據(jù)庫采用SQL Server,共建有5張數(shù)據(jù)表,如表1。
表1 BUG預置管理系統(tǒng)數(shù)據(jù)表
(2)數(shù)據(jù)庫表關系設計
數(shù)據(jù)庫表主要包括:用戶信息表(tb_UserInfor)、BUG預置表(tb_BUGYZ)、BUG操作記錄表(tb_BUGJL)、登錄日志表(tb_LoginInfor)、系統(tǒng)配置表(tb_Sysconf),各表之間的關系見圖2。
圖2 BUG預置管理系統(tǒng)數(shù)據(jù)庫表關系圖
首先通過BUG預置管理系統(tǒng)對資產(chǎn)管理系統(tǒng)中的預置區(qū)域嵌入相應的判斷代碼進行BUG開關的設置,然后在資產(chǎn)管理系統(tǒng)加載頁面時判斷相關頁面中的BUG處于何種預置狀態(tài),根據(jù)BUG預置的狀態(tài)通過頁面進行相應的呈現(xiàn)。具體的BUG預置處理流程見圖3。
圖3 BUG預置功能的處理流程
管理員可以對BUG進行新增、修改(點擊修改后,只需刷新測試系統(tǒng)頁面即可)、查詢,可以對實訓系統(tǒng)資產(chǎn)系統(tǒng)進行詳細的BUG配置。管理員也可以選擇平臺、角色、模塊名稱、類別、難易程度、開啟狀態(tài)、是否系統(tǒng)內(nèi)置等條件進行查詢[3]。
(1)BUG管理模塊功能設計(如圖4)
圖4 BUG管理模塊功能設計圖
(2)BUG預置開關的界面設計
在界面中提供對預置BUG開啟和關閉的按鈕,如圖5。
圖5 BUG預置開關的界面設計
(1)資產(chǎn)管理系統(tǒng)相關頁面的BUG呈現(xiàn)
在資產(chǎn)管理系統(tǒng)的BUG預置區(qū)域根據(jù)BUG的開關狀態(tài)實現(xiàn)不同的頁面內(nèi)容顯示[4]。以某BUG預置案例為例:在資產(chǎn)類別的面包屑位置,應顯示“資產(chǎn)類別”,因BUG開啟實際顯示“資產(chǎn)列表”,如圖6。
圖6 BUG預置案例
(2)資產(chǎn)管理系統(tǒng)BUG預置區(qū)域的核心代碼
通過對BUG預置表中的開關狀態(tài)的判斷,實現(xiàn)對資產(chǎn)管理系統(tǒng)BUG預置區(qū)域相應內(nèi)容的顯示。以上述BUG預置案例為例,核心代碼如下:
//判斷Bug預置表中的bug狀態(tài),BUG預置的相關信息
在測試階段,首先針對BUG預置管理系統(tǒng)和資產(chǎn)管理系統(tǒng)的各個功能模塊設計編寫相關的測試用例,并進行相對獨立的測試。測試發(fā)現(xiàn):BUG預置管理系統(tǒng)和資產(chǎn)管理系統(tǒng)的缺陷、問題一般比較直接,主要的缺陷、錯誤是編碼錯誤和表現(xiàn)直接的功能性錯誤,對于隱藏較深的錯誤以及系統(tǒng)性嚴重錯誤問題,在一般測試中是很難發(fā)現(xiàn)的[5]。以資產(chǎn)類別模塊為例,資產(chǎn)類別功能測試用例設計及執(zhí)行結果見表2。
表2 資產(chǎn)類別測試表
BUG預置管理系統(tǒng)和資產(chǎn)管理系統(tǒng)在運行、關閉以及退出的過程中,保存記錄的提示功能已基本完成,在BUG預置管理系統(tǒng)和資產(chǎn)管理系統(tǒng)的不斷啟動、關閉過程中未出現(xiàn)死機以及程序執(zhí)行效率降低等不良現(xiàn)象,整套管理系統(tǒng)在使用過程中較為順暢;BUG預置管理系統(tǒng)和嵌入BUG預置功能的資產(chǎn)管理系統(tǒng)等預期功能都得到了實現(xiàn)。
利用ASP.NET技術、SQLServer 2012數(shù)據(jù)庫和Visual Studio2017平臺,設計實現(xiàn)了BUG預置系統(tǒng)和嵌入預置BUG的資產(chǎn)管理系統(tǒng)。該系統(tǒng)目前已初步應用于軟件測試課程的教學實踐,教師能夠根據(jù)軟件測試教學實踐的需求,對BUG開關進行靈活的設置,合理地調(diào)配相關教學資源,從而提升信息化教學水平。同時也有助于軟件測試相關競賽項目的訓練,提高學生學習和競賽技能。