摘要:本文通過分析當(dāng)前《軟件測試》教學(xué)過程中存在的問題, 探討了互聯(lián)網(wǎng)和軟件測試教學(xué)相融合的新教學(xué)模式, 構(gòu)建軟件測試課程體系,線上線下混合教學(xué)、項(xiàng)目驅(qū)動(dòng)教學(xué)和校企合作的方式,著重培養(yǎng)學(xué)生的核心能力。
關(guān)鍵詞:翻轉(zhuǎn)課堂;軟件測試;競賽訓(xùn)練;MOOC
中圖分類號: G424? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)21-0064-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
隨著信息技術(shù)的發(fā)展,軟件產(chǎn)品無論在數(shù)量還是規(guī)模上都快速增長。高等院校需要加強(qiáng)軟件測試教學(xué),培養(yǎng)合格人才適應(yīng)社會(huì)發(fā)展需要。軟件質(zhì)量的好壞直接影響軟件產(chǎn)品的應(yīng)用,而軟件測試在軟件質(zhì)量保障中起重要作用。根據(jù)軟件測試行業(yè)2018年度報(bào)告顯示軟件測試人員需求在逐年增多。
《軟件測試》是軟件工程專業(yè)的核心課程,當(dāng)前很多高校都開設(shè)《軟件測試》課程,但由于學(xué)時(shí)安排、教學(xué)模式和課程特點(diǎn)等原因,軟件測試的課程教學(xué)側(cè)重于基本理論的學(xué)習(xí)和測試工具的介紹,學(xué)生的軟件測試實(shí)踐能力有限。高校培養(yǎng)高質(zhì)量的軟件測試應(yīng)用型人才,當(dāng)務(wù)之急是進(jìn)行軟件測試的教學(xué)改革。
“互聯(lián)網(wǎng)+教育”是互聯(lián)網(wǎng)技術(shù)與教育領(lǐng)域相結(jié)合的一種新的教育形式。MOOC 作為新興的教學(xué)模式,在互聯(lián)網(wǎng)上分享知識,為教和學(xué)創(chuàng)造機(jī)會(huì)。這種新型的教學(xué)方式突破了時(shí)空限制,實(shí)現(xiàn)了學(xué)生的個(gè)性化學(xué)習(xí),克服傳統(tǒng)教學(xué)模式的諸多弊端。故在“互聯(lián)網(wǎng)+”背景下探討《軟件測試》教學(xué)是具有重要意義。
1 傳統(tǒng)的軟件測試課程實(shí)踐教學(xué)
1.1 學(xué)時(shí)少
《軟件測試》課程特點(diǎn)是知識點(diǎn)和測試工具多。軟件測試是軟件開發(fā)過程中必不可少的環(huán)節(jié),從軟件質(zhì)量與軟件測試的關(guān)系出發(fā),講解ISO和CMM概念和定義、單元測試中各種測試技術(shù)、集成測試方法、驗(yàn)收測試、性能測試技術(shù)和缺陷分析等知識內(nèi)容。測試工具包括測試管理工具、靜態(tài)分析工具、Junit測試工具、自動(dòng)化測試工具Selenium和性能測試工具LoadRunner等工具。學(xué)生需要從實(shí)踐中理解這些知識點(diǎn),在有限的學(xué)時(shí)內(nèi)理解這些知識點(diǎn)和熟悉工具的使用有一定難度,很難對軟件測試有全面的認(rèn)知。
1.2 重理論,輕實(shí)踐
傳統(tǒng)軟件測試課程的教學(xué)是以任課老師講授以主,教師利用電腦或者投影儀來展示教學(xué)內(nèi)容,學(xué)生只是被動(dòng)接受知識。在理論的教學(xué)過程中,授課老師重點(diǎn)講解軟件測試的基本概念、原理及方法。但軟件測試中不同層次測試計(jì)劃的制定、測試用例的設(shè)計(jì)、測試工具環(huán)境的搭建、測試執(zhí)行結(jié)果記錄等都需要針對某個(gè)項(xiàng)目來實(shí)踐。學(xué)生被動(dòng)接受知識,很難激起主動(dòng)學(xué)習(xí)軟件測試的能動(dòng)性,學(xué)習(xí)效果較差,很難學(xué)以致用。
1.3缺少與軟件測試相關(guān)的新知識
網(wǎng)聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)和人工智能快速發(fā)展的今天,課本內(nèi)容講述普通軟件的軟件測試流程,缺少介紹新事物的測試。如各種APP軟件的測試,這些APP軟件的兼容性測試、電量測試和流量測試等。再比如當(dāng)前最火AI在軟件測試中的作用,如何優(yōu)化測試用例、跟蹤缺陷和分析預(yù)測等。
1.4對軟件測試重視度不夠
關(guān)于軟件測試還有很多誤區(qū),學(xué)生認(rèn)為軟件測試是找茬的且無明顯經(jīng)濟(jì)效益,而開發(fā)一個(gè)軟件能帶來豐厚的經(jīng)濟(jì)利益??己朔绞街饕性趯浖y試基本知識的掌握,不能有效推動(dòng)和激勵(lì)學(xué)生探索新知識和新領(lǐng)域的動(dòng)力,使學(xué)生躺在舒服區(qū),更加不重視軟件測試。
這些問題的存在使得學(xué)生學(xué)習(xí)完這門課后,實(shí)際能力沒有本質(zhì)上的提高,直接導(dǎo)致學(xué)生進(jìn)行實(shí)際軟件測試時(shí)不熟練,甚至陌生。
2 “互聯(lián)網(wǎng)+”環(huán)境下MOOC的學(xué)習(xí)方式
“互聯(lián)網(wǎng)+教育”最閃亮的特點(diǎn)是跨界融合,它使得教學(xué)方式變革,實(shí)現(xiàn)教學(xué)方式與信息技術(shù)的融合。它打破時(shí)間和空間限制,學(xué)生可以通過網(wǎng)絡(luò)在任意時(shí)間和任意地點(diǎn)進(jìn)行主動(dòng)學(xué)習(xí)?!盎ヂ?lián)網(wǎng)+”使得個(gè)性化“私人定制”成為可能,學(xué)生可以通過互聯(lián)網(wǎng)直接將自身的個(gè)性化需求反饋給教師,并能與教師探討,教師根據(jù)學(xué)生的需求提供個(gè)性化學(xué)習(xí)的知識集,這種互動(dòng)不僅代表一種新的教學(xué)模式,更代表著未來教育的發(fā)展方向和趨勢。
學(xué)生逐漸習(xí)慣于互聯(lián)網(wǎng)提供 “觸手可得”和“無所能及”的學(xué)習(xí)樂趣?!盎ヂ?lián)網(wǎng)+” 有助于實(shí)現(xiàn)空間分散,時(shí)間錯(cuò)位之間供求匹配,從而可以更好地提供學(xué)習(xí)與教師的互動(dòng),進(jìn)而優(yōu)化教學(xué)模式。這種互動(dòng)可以優(yōu)化教學(xué)結(jié)構(gòu),使學(xué)生更主動(dòng)和合理地學(xué)習(xí)。
擴(kuò)大學(xué)習(xí)范圍,使學(xué)習(xí)具有無邊界性?!盎ヂ?lián)網(wǎng)+”提供信息無邊界的,學(xué)生隨時(shí)隨地開展學(xué)習(xí)。此外,借助于大數(shù)據(jù)技術(shù)對學(xué)生學(xué)習(xí)的重點(diǎn)和學(xué)習(xí)習(xí)慣等微觀信息進(jìn)行統(tǒng)計(jì)分析,教師可借助這些數(shù)據(jù)提供更好的教學(xué)資料。
3 “互聯(lián)網(wǎng)+”背景下《軟件測試》的教學(xué)改革
在“互聯(lián)網(wǎng) +教育”下,構(gòu)建新的《軟件測試》教學(xué)模式。以項(xiàng)目為驅(qū)動(dòng),采用線上和線下混合教學(xué)法,加強(qiáng)實(shí)踐教學(xué),培養(yǎng)學(xué)生的核心能力。軟件測試課程的教學(xué)總體設(shè)計(jì)思路,旨在創(chuàng)建一個(gè)以學(xué)生為中心的學(xué)習(xí)環(huán)境,所設(shè)計(jì)的環(huán)境要能夠提高學(xué)生的小組學(xué)習(xí)、自主學(xué)習(xí)和實(shí)戰(zhàn)型學(xué)習(xí)的積極性,注重培養(yǎng)學(xué)生的實(shí)踐能力,讓學(xué)生在學(xué)習(xí)過程中實(shí)現(xiàn)理論與實(shí)踐的充分結(jié)合。
3.1 混合教學(xué)法
線上教學(xué)可以突破時(shí)間和空間限制,而且線上教學(xué)一般采用文字、聲音、圖像和動(dòng)畫等于一體,新穎、直觀、生動(dòng),這些內(nèi)容對學(xué)生形成感官刺激,學(xué)生更容易理解。學(xué)生可以隨時(shí)隨地學(xué)習(xí)軟件測試知識,學(xué)生主動(dòng)學(xué)習(xí)且獲取信息,在這個(gè)過程中,學(xué)生也獲得更多的喜悅,對自我的肯定。通過線上課程授課在一定程度上緩解了不同學(xué)生學(xué)習(xí)進(jìn)度的差異性問題,同時(shí)保證了學(xué)生學(xué)習(xí)時(shí)間的自由性。線上教學(xué)讓學(xué)生覺得學(xué)習(xí)比以前更自主、更清晰、更扎實(shí),互動(dòng)性更強(qiáng),但這種教學(xué)方式缺乏交流,學(xué)生的注意力容易分散和視聽疲勞。
教學(xué)是教師與學(xué)生進(jìn)行雙方交流,教學(xué)效果則是教學(xué)雙方互動(dòng)的結(jié)果。線下教學(xué)側(cè)重交流,對學(xué)生問題進(jìn)行解惑。教師可以根據(jù)實(shí)際課堂情況因材施教,人性化交流,增進(jìn)師生感情。
通過線上學(xué)習(xí)和線下課堂學(xué)習(xí),可以將課內(nèi)與課外、理論與實(shí)踐、教學(xué)與育人充分如何,培養(yǎng)學(xué)生知識體系和實(shí)踐能力。
3.2項(xiàng)目驅(qū)動(dòng)教學(xué)
在進(jìn)行軟件測試授課教學(xué)過程中,要盡可能地保證學(xué)生學(xué)習(xí)的理論知識基礎(chǔ),同時(shí)也具備一定的專業(yè)技能。本課程采用項(xiàng)目驅(qū)動(dòng)教學(xué),軟件測試項(xiàng)目主要包括一個(gè)算法競賽系統(tǒng)、2048游戲、ATM系統(tǒng)和簡易圖書管理系統(tǒng)。這些項(xiàng)目符合當(dāng)前軟件產(chǎn)品基礎(chǔ)性和前沿性,具有一定的教學(xué)和實(shí)際應(yīng)用價(jià)值。項(xiàng)目的測試融入開發(fā)過程中,如圖1所示,在明確軟件測試與軟件質(zhì)量關(guān)系的基礎(chǔ)上,要求學(xué)生在需求分析階段,制定項(xiàng)目的系統(tǒng)測試計(jì)劃、設(shè)計(jì)測試用例、測試環(huán)境的搭建和預(yù)計(jì)測試結(jié)果;在項(xiàng)目概要設(shè)計(jì)階段,制定項(xiàng)目的集成測試計(jì)劃、設(shè)計(jì)測試用例、測試環(huán)境的搭建和預(yù)期結(jié)果,掌握測試方法和熟悉測試工具(可通過線上學(xué)習(xí));在詳細(xì)設(shè)計(jì)階段,制定單元測試計(jì)劃、設(shè)計(jì)測試用例、測試環(huán)境的搭建和預(yù)期結(jié)果,掌握白盒和黑盒的測試方法,能進(jìn)行靜態(tài)分析和測試工具的使用。根據(jù)項(xiàng)目測試結(jié)果來進(jìn)行缺陷分析,并生成缺陷報(bào)告。此外,在測試用例的執(zhí)行時(shí),可采用機(jī)器學(xué)習(xí)方法選擇更好覆蓋的測試用例來優(yōu)化測試。這些項(xiàng)目能夠體現(xiàn)每種測試方法的特點(diǎn)和用途,使學(xué)生掌握不同測試方法的適用情況和測試效果等。
3.3 實(shí)踐教學(xué)
根據(jù)軟件測試行業(yè)2018年度報(bào)告,實(shí)踐是提升測試技能的最重要方式,一個(gè)優(yōu)秀測試人員需要具備技能中排在前三的是溝通能力,自動(dòng)化技術(shù)能力,通用測試方法論。該報(bào)告突出實(shí)踐教學(xué)的重要性,也強(qiáng)調(diào)培養(yǎng)學(xué)生專業(yè)素養(yǎng)的重要性。
《軟件測試》實(shí)踐教學(xué)旨在培養(yǎng)學(xué)生的知識運(yùn)用能力及團(tuán)隊(duì)合作精神。學(xué)生不僅要掌握規(guī)范化軟件開發(fā)流程和測試?yán)碚?,還要熟悉軟件測試工具,確保測試用例執(zhí)行和編寫測試報(bào)告。表1 顯示《軟件測試》課程實(shí)踐教學(xué)的學(xué)時(shí)安排,主要集中在靜態(tài)分析、單元測試、自動(dòng)化測試和性能測試。在相對有限的課時(shí)里要求學(xué)生掌握測試知識的應(yīng)用和測試工具的熟練使用很難。因此,需要從多個(gè)角度構(gòu)建《軟件測試》實(shí)踐教學(xué)體系,首先,針對某個(gè)通用測試方法而設(shè)置的單一測試項(xiàng)目,使學(xué)生掌握測試方法為主要任務(wù)。學(xué)生通過線上學(xué)習(xí)掌握基本知識和了解測試工具的使用,線下實(shí)踐中學(xué)生運(yùn)用所學(xué)知識完成單一的測試項(xiàng)目。其次,設(shè)置綜合性的項(xiàng)目主要培養(yǎng)學(xué)生解決實(shí)際問題的能力。由于這些題目需要項(xiàng)目文檔和源代碼,一個(gè)學(xué)生無法完成,需要學(xué)生組隊(duì)完成。學(xué)生之間通過合作完成綜合項(xiàng)目的開發(fā)和測試,學(xué)生們在相互交流中掌握測試知識和熟悉自動(dòng)化測試和性能測試工具的使用,提升了學(xué)生的溝通能力和自動(dòng)化測試技能。最后,校企合作,讓學(xué)生加入企業(yè)里,親身體驗(yàn)軟件測試在軟件開發(fā)中的作用和解決實(shí)際問題的能力。此外也鼓勵(lì)學(xué)生參加軟件測試大賽,通過比賽提升學(xué)生的專業(yè)技能。
3.4 考核方式改革
考核方式和考核的內(nèi)容直接影響教學(xué)效果。以往考核內(nèi)容著重強(qiáng)調(diào)對知識點(diǎn)的掌握,考核方式就是單一的考試。學(xué)生只需要簡單記住測試知識點(diǎn)即可,學(xué)生積極性不高,教學(xué)效果不理想,最關(guān)鍵的是這種考核忽視學(xué)生實(shí)踐能力的培養(yǎng)。目前考核內(nèi)容包括:理解軟件測試基本知識、掌握和熟練使用軟件測試工具、測試計(jì)劃書的編寫和測試腳本的編寫;同學(xué)間相互協(xié)作的能力;自主學(xué)習(xí)的能力和創(chuàng)新的能力以及與教師交流情況。考核內(nèi)容的分制比例為測試實(shí)踐30%、交流討論 20% 、期末綜合實(shí)踐50%。這種分制比例著重學(xué)生解決問題能力的考核,更能激發(fā)學(xué)生的學(xué)習(xí)積極性,起到畫龍點(diǎn)睛的作用。
4 總結(jié)
以軟件行業(yè)發(fā)展需要為依托,面向軟件開發(fā)(敏捷開發(fā))過程中對軟件測試人才的迫切需求,高等學(xué)校需要通過教學(xué)改革來提高教學(xué)質(zhì)量,實(shí)現(xiàn)學(xué)生知識、能力與素質(zhì)協(xié)同發(fā)展,達(dá)到學(xué)生實(shí)踐能力的培養(yǎng)目標(biāo)。通過信息技術(shù),借助積累的優(yōu)質(zhì)軟件測試課程教學(xué)內(nèi)容和豐富教學(xué)經(jīng)驗(yàn),構(gòu)建和實(shí)踐一個(gè)“互聯(lián)網(wǎng)+教育”的新《軟件測試》教學(xué)體系。
參考文獻(xiàn):
[1] http://qablog.practitest.com/state-of-testing/.
[2] 桑春艷, 王喜賓. “互聯(lián)網(wǎng)+”環(huán)境下軟件工程課程實(shí)驗(yàn)實(shí)踐教學(xué)模式探討[J].教育現(xiàn)代化,2016(27).
[3] 鄭煒, 王文鵬, 胡德生等. 基于MOOC的軟件測試課程教學(xué)建設(shè)[J].計(jì)算機(jī)教育,2017(1):31-37.
[4] 林若欽. 項(xiàng)目驅(qū)動(dòng)軟件測試實(shí)驗(yàn)教學(xué)改革的意義與方案探討[J].價(jià)值工程, 2017(3):226-228.
[5] 田小霞.《軟件測試技術(shù)》的實(shí)踐教學(xué)[J].現(xiàn)代計(jì)算機(jī), 2013(1):36-38.
【通聯(lián)編輯:唐一東】