歐陽潘
(江西外語外貿職業學院 江西省南昌市 330099)
本文以我校計算機課程《軟件測試》為例,以行業測試崗位職業能力要求為基礎,分析能力與學習目標關系,梳理學習成果轉化為職業能力的培養途徑,運用成果導向方法對軟件測試學習過程、任務、成果指標等進行設計、分解和分析,構建評價標準,依據學習目標和評價體系設計開發出一個軟件測試任務實訓平臺,以記錄學生完成各項實訓任務成果及評價。下面從平臺實現的開發技術、功能需求分析、系統設計與實現、實施效果等方面展開論述。
本平臺采用基于H5 的開發框架Bootstrap+Vue+Echarts 來實現前端界面。其中Bootstrap 4 較先前版本改進了網格系統,并支持利用彈性盒模型flexbox 進行快速布局,重寫了所有的js 插件,提供泛型拆解方法、選項類型檢查等特性,其編譯速度更快。Vue 是一套構建用戶界面的漸進式前端框架,與其他框架不同的是,Vue 采用自底向上增量開發的設計,方便與其他庫或已有項目整合,快速實現復雜應用頁面。Echarts 是百度開源的js 圖表庫,能移動設備或PC 端運行,用不同類型圖表對數據進行可視化展示。上述框架能夠快速布局搭建前端頁面,實現頁面測試任務展示提交,實現流暢的人機界面交互,提供良好用戶體驗。
后臺采用Apache+Tomcat+MySQL 搭建Web 服務器環境。采用基于JaveEE 的SSM 框架(Spring+SpringMVC+MyBatis),配合前端實現平臺各業務功能的實現。SSM 框架采用MVC 架構設計將系統劃分表示層(View)、邏輯層(Control)、模型層(Model)。它在本項目的應用優勢在于平臺所有生成的對象由Spring 框架統一管理,控制反轉(IOC)和切面編程(AOP)使控制生成對象和管理事務變得更加容易。Spring MVC 框架入口基于servlet,它能將學生視頻學習、課后答題等業務的映射、解析處理過程嚴格分離。相比Struts,Spring MVC 更輕松地與Spring 來完成這些業務的整合。利用Mybatis 文件管理的優勢,對于每個學生學習任務的記錄,用SQL 將數據寫入XML 文件中記錄,利用MySQL 統一管理。相比其他技術,Mybatis 結構穩定、擴展性強、維護成本低,并且與Bootstrap 框架能夠很好契合,有利于提高平臺整體運行效率。
本實訓平臺需滿足軟件測試課程日常實訓練習,記錄教師發布任務及學生完成情況,并為師生提供可視化數據反饋。用戶角色有管理員、教師、學生。
教師根據課程內容收集整合實訓資源,設計被測系統及文檔等一系列實訓相關資料,并向后臺導入管理。授課教師根據不同班級學習進度發布知識點測試任務,學生登錄后獲取發布的測試任務,在線完成任務并提交。教師對學生提交結果進行評價,其中客觀題可自行評分,主觀題需教師手動評分。評價完成后平臺生成全體學生評分,從班級、題目等多個維度進行統計并提供數據圖表。
管理員則對平臺后臺資源進行管理,包括教師和學生賬號、測試資源、文檔資源等進行管理,同時管理員需監控整個平臺的登錄訪問情況,并按時對平臺數據庫進行備份。

圖1:平臺整體功能模塊

圖2:系統數據庫的概念設計

圖3:系統登錄界面
本平臺服務于全體師生的課程實訓活動,要充分考慮到教師及學生在實踐練習中的各種實際操作需求,實現任務驅動的實訓過程。另外考慮到平臺后續推廣和移植,在設計時要注重實施的靈活性并預留相應接口,以便平臺擴展移植。

圖4:系統實訓文字資源管理界面
通過對平臺功能進行需求分析,筆者對三個角色設計了相應的功能模塊。平臺整體功能模塊如圖1 所示。
(1)文檔資源管理。文檔和資源包括被測軟件系統相關文檔,例如需求分析說明書,設計圖稿、測試報告模板、被測系統安裝包、知識點測試題目等。文檔和資源列表中按入庫時間排列當前可用資源,并可在表單中輸入信息進行精確或模糊搜索。教師也可上傳非系統資源,并共享給其他教師。
(2)測試作業管理。教師根據實訓進度,從資源庫中選擇合適任務及文檔資源,設置任務信息后新增并發布,相關班級學生登錄后從任務作業中看到教師最新發布的任務。教師可以對已發布的任務進行修改、撤回或關閉,并對學生提交的作業進行評閱打分。
(3)成績統計分析。教師可以看到授課班級學生各項任務的分數及統計情況。教師可給出條件進行數據查詢,并依據數據生成可視化圖表。圖表能在班級、性別、知識點或任務號等多維度進行統計和比對。
(4)個人信息管理。教師個人信息及初始密碼由管理員批量導入,教師可登錄后修改。但是授課班級等信息只可查看,不可修改。
(1)課程作業管理。學生登錄后,可從作業任務列表中看到教師最新發布的任務,以及未完成和已完成的歷史任務。學生可點擊打開未完成的任務查看內容,根據任務提示信息和文檔資源完成測試任務并提交作業。提交后學生用不能再次修改或提交,待教師或系統評價完成后,學生可從任務列表中查到任務成績分值。
(2)個人信息管理。學生個人基本信息和初始密碼由管理員批量導入。學生登錄后,可以查看個人信息并修改登錄密碼。
(1)被測系統管理。本模塊是平臺最重要的功能組成部分。該模塊用于管理教師發布軟件測試實訓任務和配置被測系統參數。根據授課內容和進度,教師可以在被測系統中選取用于黑盒、白盒、性能測試的實訓項目或任務。但被測系統的Bug 等關鍵內容配置只能由管理員進行管理,教師沒有管理權限。
(2)實訓資源管理。管理員通過后臺上傳有關實訓文檔資源,也可對所有教師上傳的實訓資源進行修改、刪除等管理,并可通過設置權限將資源分配給需要的教師。
(3)用戶管理。管理員可以對教師和學生的賬戶進行增、刪、改、查、恢復初始密碼等基本操作。教師和學生賬戶在使用前由管理員一次性批量導入,初始密碼與賬號相同。第一次登錄后必須修改。
(4)班級管理。開設軟件測試課程的班級多為計算機相關專業,為方便教師實施實訓管理,將班級發布任務權限賦予授課教師。教師發出的任務,只有該教師授課的班級學生能夠接收查看并提交作業,教師也只能評閱授課班級學生提交的作業,其他非授課班級學生無法接收到教師發布的任務。
(5)日志管理。系統日志用于記錄實訓平臺所有活動賬戶登錄的時間及IP 地址等訪問操作信息,便于管理員后續對平臺進行數據備份和安全管理。
實訓平臺系統運行的性能如何,很大程度上取決于后臺數據庫設計的合理性。良好的數據庫設計可以提高系統數據訪問速率,提高程序員編寫代碼實現功能的效率,并且還可以增強系統擴展性。通過對本系統進行數據庫的概念設計,得到E-R 圖如圖2 所示。
平臺對用戶訪問資源的權限設計使用了SpringSecurity 框架進行配置部署。所有用戶在登錄時,需要在驗證后獲取一個令牌,后續訪問請求都是基于存儲在Cookie 中的令牌。如果Cookie 中沒有令牌,則系統拒絕訪問。系統登錄界面如圖3 所示。
管理員登錄平臺后臺后,可以對課程實訓資源進行增加、刪除、修改和查詢。資源列表中按上傳至系統的時間先后順序列出所有的資源,管理員可以通過創建人查看資源的上傳者,修改上傳資源的名稱、內容及狀態,并對教師設置訪問權限。實訓資源管理模塊界面如圖4 所示。
本文前端利用Bootstrap+Vue+Echarts 框架并結合SSM 框架設計并實現了使用與軟件測試課程的實訓平臺。經過一個學期的試運行,該系統交互界面友好,操作執行順暢。本系統通過發布真實被測系統的實訓任務,讓學生能夠切實體會軟件測試的全過程,有利于激發學生學習興趣,提高技能實訓效果,同時也減輕老師實訓指導工作負擔。平臺為每名學生都建立了個人檔案,并記錄了學生每次完成的情況和得分,并通過可視圖表的方式呈現,效果更為直觀。下一步將嘗試將并實訓平臺推廣至其他專業課程。