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