歐陽潘
(江西外語外貿(mào)職業(yè)學(xué)院 江西省南昌市 330099)
本文以我校計(jì)算機(jī)課程《軟件測試》為例,以行業(yè)測試崗位職業(yè)能力要求為基礎(chǔ),分析能力與學(xué)習(xí)目標(biāo)關(guān)系,梳理學(xué)習(xí)成果轉(zhuǎn)化為職業(yè)能力的培養(yǎng)途徑,運(yùn)用成果導(dǎo)向方法對(duì)軟件測試學(xué)習(xí)過程、任務(wù)、成果指標(biāo)等進(jìn)行設(shè)計(jì)、分解和分析,構(gòu)建評(píng)價(jià)標(biāo)準(zhǔn),依據(jù)學(xué)習(xí)目標(biāo)和評(píng)價(jià)體系設(shè)計(jì)開發(fā)出一個(gè)軟件測試任務(wù)實(shí)訓(xùn)平臺(tái),以記錄學(xué)生完成各項(xiàng)實(shí)訓(xùn)任務(wù)成果及評(píng)價(jià)。下面從平臺(tái)實(shí)現(xiàn)的開發(fā)技術(shù)、功能需求分析、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)、實(shí)施效果等方面展開論述。
本平臺(tái)采用基于H5 的開發(fā)框架Bootstrap+Vue+Echarts 來實(shí)現(xiàn)前端界面。其中Bootstrap 4 較先前版本改進(jìn)了網(wǎng)格系統(tǒng),并支持利用彈性盒模型flexbox 進(jìn)行快速布局,重寫了所有的js 插件,提供泛型拆解方法、選項(xiàng)類型檢查等特性,其編譯速度更快。Vue 是一套構(gòu)建用戶界面的漸進(jìn)式前端框架,與其他框架不同的是,Vue 采用自底向上增量開發(fā)的設(shè)計(jì),方便與其他庫或已有項(xiàng)目整合,快速實(shí)現(xiàn)復(fù)雜應(yīng)用頁面。Echarts 是百度開源的js 圖表庫,能移動(dòng)設(shè)備或PC 端運(yùn)行,用不同類型圖表對(duì)數(shù)據(jù)進(jìn)行可視化展示。上述框架能夠快速布局搭建前端頁面,實(shí)現(xiàn)頁面測試任務(wù)展示提交,實(shí)現(xiàn)流暢的人機(jī)界面交互,提供良好用戶體驗(yàn)。
后臺(tái)采用Apache+Tomcat+MySQL 搭建Web 服務(wù)器環(huán)境。采用基于JaveEE 的SSM 框架(Spring+SpringMVC+MyBatis),配合前端實(shí)現(xiàn)平臺(tái)各業(yè)務(wù)功能的實(shí)現(xiàn)。SSM 框架采用MVC 架構(gòu)設(shè)計(jì)將系統(tǒng)劃分表示層(View)、邏輯層(Control)、模型層(Model)。它在本項(xiàng)目的應(yīng)用優(yōu)勢在于平臺(tái)所有生成的對(duì)象由Spring 框架統(tǒng)一管理,控制反轉(zhuǎn)(IOC)和切面編程(AOP)使控制生成對(duì)象和管理事務(wù)變得更加容易。Spring MVC 框架入口基于servlet,它能將學(xué)生視頻學(xué)習(xí)、課后答題等業(yè)務(wù)的映射、解析處理過程嚴(yán)格分離。相比Struts,Spring MVC 更輕松地與Spring 來完成這些業(yè)務(wù)的整合。利用Mybatis 文件管理的優(yōu)勢,對(duì)于每個(gè)學(xué)生學(xué)習(xí)任務(wù)的記錄,用SQL 將數(shù)據(jù)寫入XML 文件中記錄,利用MySQL 統(tǒng)一管理。相比其他技術(shù),Mybatis 結(jié)構(gòu)穩(wěn)定、擴(kuò)展性強(qiáng)、維護(hù)成本低,并且與Bootstrap 框架能夠很好契合,有利于提高平臺(tái)整體運(yùn)行效率。
本實(shí)訓(xùn)平臺(tái)需滿足軟件測試課程日常實(shí)訓(xùn)練習(xí),記錄教師發(fā)布任務(wù)及學(xué)生完成情況,并為師生提供可視化數(shù)據(jù)反饋。用戶角色有管理員、教師、學(xué)生。
教師根據(jù)課程內(nèi)容收集整合實(shí)訓(xùn)資源,設(shè)計(jì)被測系統(tǒng)及文檔等一系列實(shí)訓(xùn)相關(guān)資料,并向后臺(tái)導(dǎo)入管理。授課教師根據(jù)不同班級(jí)學(xué)習(xí)進(jìn)度發(fā)布知識(shí)點(diǎn)測試任務(wù),學(xué)生登錄后獲取發(fā)布的測試任務(wù),在線完成任務(wù)并提交。教師對(duì)學(xué)生提交結(jié)果進(jìn)行評(píng)價(jià),其中客觀題可自行評(píng)分,主觀題需教師手動(dòng)評(píng)分。評(píng)價(jià)完成后平臺(tái)生成全體學(xué)生評(píng)分,從班級(jí)、題目等多個(gè)維度進(jìn)行統(tǒng)計(jì)并提供數(shù)據(jù)圖表。
管理員則對(duì)平臺(tái)后臺(tái)資源進(jìn)行管理,包括教師和學(xué)生賬號(hào)、測試資源、文檔資源等進(jìn)行管理,同時(shí)管理員需監(jiān)控整個(gè)平臺(tái)的登錄訪問情況,并按時(shí)對(duì)平臺(tái)數(shù)據(jù)庫進(jìn)行備份。
圖1:平臺(tái)整體功能模塊
圖2:系統(tǒng)數(shù)據(jù)庫的概念設(shè)計(jì)
圖3:系統(tǒng)登錄界面
本平臺(tái)服務(wù)于全體師生的課程實(shí)訓(xùn)活動(dòng),要充分考慮到教師及學(xué)生在實(shí)踐練習(xí)中的各種實(shí)際操作需求,實(shí)現(xiàn)任務(wù)驅(qū)動(dòng)的實(shí)訓(xùn)過程。另外考慮到平臺(tái)后續(xù)推廣和移植,在設(shè)計(jì)時(shí)要注重實(shí)施的靈活性并預(yù)留相應(yīng)接口,以便平臺(tái)擴(kuò)展移植。
圖4:系統(tǒng)實(shí)訓(xùn)文字資源管理界面
通過對(duì)平臺(tái)功能進(jìn)行需求分析,筆者對(duì)三個(gè)角色設(shè)計(jì)了相應(yīng)的功能模塊。平臺(tái)整體功能模塊如圖1 所示。
(1)文檔資源管理。文檔和資源包括被測軟件系統(tǒng)相關(guān)文檔,例如需求分析說明書,設(shè)計(jì)圖稿、測試報(bào)告模板、被測系統(tǒng)安裝包、知識(shí)點(diǎn)測試題目等。文檔和資源列表中按入庫時(shí)間排列當(dāng)前可用資源,并可在表單中輸入信息進(jìn)行精確或模糊搜索。教師也可上傳非系統(tǒng)資源,并共享給其他教師。
(2)測試作業(yè)管理。教師根據(jù)實(shí)訓(xùn)進(jìn)度,從資源庫中選擇合適任務(wù)及文檔資源,設(shè)置任務(wù)信息后新增并發(fā)布,相關(guān)班級(jí)學(xué)生登錄后從任務(wù)作業(yè)中看到教師最新發(fā)布的任務(wù)。教師可以對(duì)已發(fā)布的任務(wù)進(jìn)行修改、撤回或關(guān)閉,并對(duì)學(xué)生提交的作業(yè)進(jìn)行評(píng)閱打分。
(3)成績統(tǒng)計(jì)分析。教師可以看到授課班級(jí)學(xué)生各項(xiàng)任務(wù)的分?jǐn)?shù)及統(tǒng)計(jì)情況。教師可給出條件進(jìn)行數(shù)據(jù)查詢,并依據(jù)數(shù)據(jù)生成可視化圖表。圖表能在班級(jí)、性別、知識(shí)點(diǎn)或任務(wù)號(hào)等多維度進(jìn)行統(tǒng)計(jì)和比對(duì)。
(4)個(gè)人信息管理。教師個(gè)人信息及初始密碼由管理員批量導(dǎo)入,教師可登錄后修改。但是授課班級(jí)等信息只可查看,不可修改。
(1)課程作業(yè)管理。學(xué)生登錄后,可從作業(yè)任務(wù)列表中看到教師最新發(fā)布的任務(wù),以及未完成和已完成的歷史任務(wù)。學(xué)生可點(diǎn)擊打開未完成的任務(wù)查看內(nèi)容,根據(jù)任務(wù)提示信息和文檔資源完成測試任務(wù)并提交作業(yè)。提交后學(xué)生用不能再次修改或提交,待教師或系統(tǒng)評(píng)價(jià)完成后,學(xué)生可從任務(wù)列表中查到任務(wù)成績分值。
(2)個(gè)人信息管理。學(xué)生個(gè)人基本信息和初始密碼由管理員批量導(dǎo)入。學(xué)生登錄后,可以查看個(gè)人信息并修改登錄密碼。
(1)被測系統(tǒng)管理。本模塊是平臺(tái)最重要的功能組成部分。該模塊用于管理教師發(fā)布軟件測試實(shí)訓(xùn)任務(wù)和配置被測系統(tǒng)參數(shù)。根據(jù)授課內(nèi)容和進(jìn)度,教師可以在被測系統(tǒng)中選取用于黑盒、白盒、性能測試的實(shí)訓(xùn)項(xiàng)目或任務(wù)。但被測系統(tǒng)的Bug 等關(guān)鍵內(nèi)容配置只能由管理員進(jìn)行管理,教師沒有管理權(quán)限。
(2)實(shí)訓(xùn)資源管理。管理員通過后臺(tái)上傳有關(guān)實(shí)訓(xùn)文檔資源,也可對(duì)所有教師上傳的實(shí)訓(xùn)資源進(jìn)行修改、刪除等管理,并可通過設(shè)置權(quán)限將資源分配給需要的教師。
(3)用戶管理。管理員可以對(duì)教師和學(xué)生的賬戶進(jìn)行增、刪、改、查、恢復(fù)初始密碼等基本操作。教師和學(xué)生賬戶在使用前由管理員一次性批量導(dǎo)入,初始密碼與賬號(hào)相同。第一次登錄后必須修改。
(4)班級(jí)管理。開設(shè)軟件測試課程的班級(jí)多為計(jì)算機(jī)相關(guān)專業(yè),為方便教師實(shí)施實(shí)訓(xùn)管理,將班級(jí)發(fā)布任務(wù)權(quán)限賦予授課教師。教師發(fā)出的任務(wù),只有該教師授課的班級(jí)學(xué)生能夠接收查看并提交作業(yè),教師也只能評(píng)閱授課班級(jí)學(xué)生提交的作業(yè),其他非授課班級(jí)學(xué)生無法接收到教師發(fā)布的任務(wù)。
(5)日志管理。系統(tǒng)日志用于記錄實(shí)訓(xùn)平臺(tái)所有活動(dòng)賬戶登錄的時(shí)間及IP 地址等訪問操作信息,便于管理員后續(xù)對(duì)平臺(tái)進(jìn)行數(shù)據(jù)備份和安全管理。
實(shí)訓(xùn)平臺(tái)系統(tǒng)運(yùn)行的性能如何,很大程度上取決于后臺(tái)數(shù)據(jù)庫設(shè)計(jì)的合理性。良好的數(shù)據(jù)庫設(shè)計(jì)可以提高系統(tǒng)數(shù)據(jù)訪問速率,提高程序員編寫代碼實(shí)現(xiàn)功能的效率,并且還可以增強(qiáng)系統(tǒng)擴(kuò)展性。通過對(duì)本系統(tǒng)進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),得到E-R 圖如圖2 所示。
平臺(tái)對(duì)用戶訪問資源的權(quán)限設(shè)計(jì)使用了SpringSecurity 框架進(jìn)行配置部署。所有用戶在登錄時(shí),需要在驗(yàn)證后獲取一個(gè)令牌,后續(xù)訪問請(qǐng)求都是基于存儲(chǔ)在Cookie 中的令牌。如果Cookie 中沒有令牌,則系統(tǒng)拒絕訪問。系統(tǒng)登錄界面如圖3 所示。
管理員登錄平臺(tái)后臺(tái)后,可以對(duì)課程實(shí)訓(xùn)資源進(jìn)行增加、刪除、修改和查詢。資源列表中按上傳至系統(tǒng)的時(shí)間先后順序列出所有的資源,管理員可以通過創(chuàng)建人查看資源的上傳者,修改上傳資源的名稱、內(nèi)容及狀態(tài),并對(duì)教師設(shè)置訪問權(quán)限。實(shí)訓(xùn)資源管理模塊界面如圖4 所示。
本文前端利用Bootstrap+Vue+Echarts 框架并結(jié)合SSM 框架設(shè)計(jì)并實(shí)現(xiàn)了使用與軟件測試課程的實(shí)訓(xùn)平臺(tái)。經(jīng)過一個(gè)學(xué)期的試運(yùn)行,該系統(tǒng)交互界面友好,操作執(zhí)行順暢。本系統(tǒng)通過發(fā)布真實(shí)被測系統(tǒng)的實(shí)訓(xùn)任務(wù),讓學(xué)生能夠切實(shí)體會(huì)軟件測試的全過程,有利于激發(fā)學(xué)生學(xué)習(xí)興趣,提高技能實(shí)訓(xùn)效果,同時(shí)也減輕老師實(shí)訓(xùn)指導(dǎo)工作負(fù)擔(dān)。平臺(tái)為每名學(xué)生都建立了個(gè)人檔案,并記錄了學(xué)生每次完成的情況和得分,并通過可視圖表的方式呈現(xiàn),效果更為直觀。下一步將嘗試將并實(shí)訓(xùn)平臺(tái)推廣至其他專業(yè)課程。