余久久
專題學習網站是基于“專題探索—網站開發(fā)”學習模式而建設的教學網站,主要展示與學習專題相關的知識,還可以根據學習專題進行網上協商討論和答疑指導[1].例如,國內中、小學及高校面向校內外展示相關課程建設及教學改革成果的精品課程網站就是一種最常見的專題學習網站.專題學習網站也是教學軟件的一種類型,具有教學軟件的共性(如教學性、科學性、系統(tǒng)性、技術性、交互性、藝術性等).表面上體現出軟件功能模塊的開發(fā),實質上蘊含著以符合使用者思維習慣和學習需要的教學目標分析與設計、學習過程的設計、教學內容組織等[2].也就是說,其一方面扎根于教學,另一方面也離不開信息技術的支持,網站的設計、開發(fā)與測試需遵循軟件工程的一般方法.
縱觀專題學習網站的研究現狀,已取得的成果大多集中在網站的設計、制作、維護,以及學習者評價層面.例如,韓瑛[3]等人從學習網站的教學性與交互性入手,提出了網站內容結構設計的方法.郭崇[4]等人從任務驅動、探索、交流、反饋等方面提出構建網站的思路.賀相春[1]探索研發(fā)了專題學習網站動態(tài)生成系統(tǒng),方便教師在統(tǒng)一平臺下能快速建立實用、快捷的專題學習網站,并運用于實際教學活動.開花旭[5]等人從任務探究的角度,提出了專題學習網站的設計策略與評價方法等.同樣,關于專題學習網站評價,目前已有文獻大都著眼于對網站中所反映的某門課程(網絡開放性質)進行評價,主要有:從學習對象分析的角度[6]、用戶體驗的角度[7]、“名師課堂”角度[8]、網絡課程學習與課堂學習相結合角度[9]、基于MOOC或教育云(服務)角度[10-11]來建立系統(tǒng)化、多元化、科學化的評價指標體系等.盡管余久久[2]等人從軟件工程的角度提出了教學軟件的測試模型.余勝泉[12]從操作與功能的角度,提出教學軟件的測試比較適用于常規(guī)的黑盒測試手段,測試內容主要包括軟件的導航測試、交互性測試、功能測試、穩(wěn)定性測試、安裝和卸載測試、安全性測試等.但是,從對軟件測試的角度如何針對教學軟件類別中的“專題學習網站”開展有效的測試活動及其相關研究工作仍需要進一步探究.
專題學習網站實際上也就是教學軟件.伴隨著對教學軟件的不斷使用,有關對軟件產品自身質量的關注問題也接踵而來,有效的教學軟件測試活動將成為其開發(fā)過程中必不可少的質量保證手段[2].盡管各種軟件測試方法及其應用已成為當前軟件工程領域的研究熱點,但圍繞專題學習網站,尤其是國內高校自主建設的各類精品課程網站開展軟件相應的測試活動的相關研究成果目前尚不豐富.基于此,本文以作者所在高校的“軟件工程”精品課程網站為測試案例,探究如何運用軟件探索性測試方法開展測試活動,通過實測數據反饋,取得良好的測試成效.
軟件探索性測試方法要求測試設計、測試執(zhí)行與學習活動同時進行,達到持續(xù)優(yōu)化測試的目標[13].探索性測試強調的是自由式、啟發(fā)式的測試思路,不受具體的測試技術或測試方法的約束,可以有效運用于各種測試環(huán)境中,幫助測試人員在復雜的環(huán)境下進行卓有成效的測試探索,取得更多的測試成效[14].探索性測試方法旨在對軟件產品的隱性需求進行探索,能夠發(fā)現更多的易用性及用戶使用界面(GUI)方面缺陷[15].此外,方毅[16]及史亮[17]等人還從關注軟件產品特定的風險及缺陷角度,針對特定的主題提出了相應的探索性測試設計方法及測試手段,作為對開發(fā)周期較短的Web項目常規(guī)腳本化測試的有效補充.主要有:“單個特性的探索性測試方法”(表1)、“多個特性的探索性測試方法”(表2)、“系統(tǒng)交互測試的探索性測試方法”(圖1),以及“用戶應用場景變化的探索性測試方法”(表3).各種探索性測試方法可以結合實際測試環(huán)境,幫助測試人員思考整體測試策略,既覆蓋了測試面,又關注了測試功能點[18].區(qū)”這六個特性區(qū)域,并明確了每個特性區(qū)域的測試策略,為探索性測試實踐提供思路.
表1 單個特性的探索性測試方法及其描述
圖1 基于系統(tǒng)交互測試的探索性測試方法
以作者所在高校“軟件工程”精品課程網站的測試活動為應用案例.作為安徽省省級“軟件工程”精品課程建設的主要內容,面向校內、外公開展示該課程建設及教學改革成果.網站主要由用戶注冊登錄、課程資源,在線測試與交流討論等主要模塊組成.除了能夠提供相關課程資源(如教學大綱、電子課件、教案、教學視頻、案例資料、習題等),還可以為學生提供課外自主學習、學習交流等功能.網站界面設計美觀大方,操作簡單,全部開發(fā)時間為3個月.測試人員在網站開發(fā)期間與學科教師及軟件開發(fā)人員一起參與到該系統(tǒng)的教學需求分析過程當中,同時開展對網站被測對象的測試計劃制訂及測試分析與設計工作[2].
表2 多個特性的探索性測試方法及其描述
表3 用戶應用場景變化的探索性測試方法
網站主要采取黑盒測試中的常規(guī)腳本化測試與探索性測試相結合的方式.限于篇幅,這里只對網站的交流討論模塊—用戶發(fā)帖功能(用戶界面見圖2)探索性測試實施情況作簡要介紹.
圖2 用戶發(fā)帖功能的界面
被測頁面內容表現要依據課程學習內容并結合使用者特征選擇最佳的信息顯示方式,為使用者提供清晰的學習討論空間.從系統(tǒng)功能實現并結合教學設計與使用者的認知規(guī)律的角度,從界面設計、文字編排、內容導航、內容交互共四個方面針對該功能制訂出常規(guī)測試計劃,如表4所示.此外,測試人員在對該功能常規(guī)測試的基礎上,還額外增添了從測試對象的功能、交互性、導航性、穩(wěn)定性、安裝/卸載及安全性方面運用探索性測試方法,如表5所示.
表4 頁面內容表現的測試計劃
在對交流討論模塊的“用戶發(fā)帖”功能開展的為期一個月的測試實踐中,測試人員分為2組,一組僅采取常規(guī)的腳本化測試方法,另一組輔以表5所示的探索性測試相結合的方法,兩個組在測試期間未做溝通交流.在為期一周的測試周期內,從測試對象的功能、交互性、導航性、穩(wěn)定性、安裝/卸載、安全性共6個方面所發(fā)現的缺陷數目如表6所示.
表5 探索性測試方法的運用
表6 測試結果數據
從數據比較可知,常規(guī)的腳本化測試方法在對系統(tǒng)功能方面所發(fā)現的缺陷數目與探索性測試一致,但是在對交互性、導航性、穩(wěn)定性、安裝/卸載、安全性等方面所發(fā)現的缺陷數不及探索性測試.然而,針對專題學習網站及其功能應用,其交互性、導航性、穩(wěn)定性、安裝/卸載及安全性方面的測試工作卻又是必不可少的.由此可見,本文提出的面向專題學習網站(如精品課程網站)的探索性測試方法及實踐活動是卓有成效的.
本文提出了把相應的軟件探索性測試方法引入到面向“軟件工程”精品課程網站的測試活動中,并取得良好的測試成效.但是,探索性測試因為缺乏一定的系統(tǒng)性與復用性,目前還是以“輔助”的手段配合常規(guī)的腳本化測試活動.在對網站的一些非功能方面(如易用性、人機交互性、GUI等)由于缺乏科學化、系統(tǒng)化的指導,往往會存在少部分探索性測試執(zhí)行的結果最終被證明是沒有意義的情況,脫離了用戶的實際需求,耗費了較多的測試資源.如何設計出可復用的探索性測試過程體系有效指導實測活動,將是本文后續(xù)研究工作之一.此外,在各類敏捷測試方法廣泛應用的今天,同樣,基于Web應用的教學軟件也會存在用戶需求的頻繁變更、開發(fā)周期縮短,以及繁雜流程制約等關鍵問題,那么如何把探索性測試方法有效融入到對被測模塊的單元測試中,如何關注持續(xù)迭代的新功能,并針對這些新功能進行足夠的驗收測試,這也是本文后續(xù)研究工作.