張艷 楊麗娟 車冬娟
摘 ? 要:針對軟件測試課程教學(xué)過程中存在的問題,結(jié)合當(dāng)前社會對軟件測試人才的需求內(nèi)容,分析提出高校軟件測試課程的教學(xué)方法和對策。本文主要以實(shí)踐能力為目標(biāo),制定新的教學(xué)計(jì)劃,采用案例教學(xué),建立實(shí)驗(yàn)教學(xué)體系,采用筆試與機(jī)試相結(jié)合的考核方式進(jìn)行教學(xué)改革,培養(yǎng)即有扎實(shí)理論知識,又具備較強(qiáng)實(shí)踐能力的高校人才。
關(guān)鍵詞:實(shí)踐能力 ?軟件測試 ?案例教學(xué) ?自動化測試
中圖分類號:G642 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2020)06(a)-0203-03
Abstract:In view of the problems existing in the teaching process of software testing course, combined with the current social demand for software testing talents, this paper analyzes and puts forward the teaching methods and countermeasures of software testing course. In order to training college talents with solid theoretical knowledge and strong practical ability, we take practical ability as the goal, new teaching plan is formulated, case teaching is adopted, experimental teaching system is established, and combining written test and computer test is carried out in teaching reform.
Key Words:Practical ability; Software testing; Case teaching; Automated testing
1 ?引言
人類社會已經(jīng)進(jìn)入信息時(shí)代,軟件如電腦軟件和手機(jī)軟件已經(jīng)走入人們的生活。如何保證軟件質(zhì)量,這需要前期的軟件測試??梢哉f,軟件測試是保證軟件良好運(yùn)行的重要手段。
軟件測試是軟件工程專業(yè)的主干課程,具有實(shí)踐性強(qiáng)的特點(diǎn)[1]。據(jù)調(diào)查,由于國內(nèi)軟件產(chǎn)業(yè)規(guī)模越來越大,中國軟件測試人才極度缺乏。目前從事軟件測試的人群中,發(fā)現(xiàn)“計(jì)算機(jī)專業(yè)應(yīng)屆畢業(yè)生缺乏動手能力”,學(xué)習(xí)完后,終覺紙上談兵。如何培養(yǎng)既掌握理論及流程,又有實(shí)踐能力的軟件測試人才是高校軟件測試課程面臨的要解決的問題。課堂中的案例教學(xué)和實(shí)驗(yàn)體系的搭建是進(jìn)行軟件測試教學(xué)改革的關(guān)鍵[2],本文借鑒前人經(jīng)驗(yàn),主要探討以實(shí)踐能力為培養(yǎng)目標(biāo)的軟件測試教學(xué)思路。
2 ?軟件測試課程的特點(diǎn)
(1)理論知識多,看似簡單卻不容易掌握,如白盒測試一章中,邏輯覆蓋法分為語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、修正的判定/條件覆蓋、條件組合覆蓋、路徑覆蓋,這些方法看似簡單,但要分清楚各方法之間的區(qū)別和聯(lián)系實(shí)則困難。
(2)實(shí)驗(yàn)課不成體系,實(shí)驗(yàn)眾多,階段性強(qiáng)[3]。
(3)自動化測試工具眾多。如從測試計(jì)劃到測試結(jié)果分析,不同測試階段都涉及到眾多知識點(diǎn),有不同的自動化測試工具;從測試角度上又分為功能測試、性能測試等。并且,同一類型的測試工具也有幾種,如性能測試工具有LoadRunner、Jmeter、Rational Robot等。
針對軟件測試課程的特點(diǎn),目前課程教學(xué)主要有以下問題:
(1)按照新的教學(xué)培養(yǎng)方案的要求,學(xué)生接受的教學(xué)總課時(shí)數(shù)不斷減少。軟件工程課程面臨著理論課時(shí)和實(shí)踐課時(shí)嚴(yán)重不足的現(xiàn)象,這樣難以達(dá)到教學(xué)的深度和難度。
(2)由于理論知識多且難度相對不高。學(xué)生在學(xué)習(xí)理論知識時(shí)容易提不起興趣,一部分理論知識在進(jìn)行實(shí)驗(yàn)時(shí),由于難度不高,且相對單調(diào),學(xué)生失去興趣。另一方面,實(shí)驗(yàn)課程階段性強(qiáng),且相對分散,不成體系。
(3)由于自動化測試軟件種類較多,且有些軟件屬于商業(yè)軟件,如何選擇合適的測試軟件既能滿足學(xué)生的學(xué)習(xí)需要,又能使適應(yīng)社會的需求是一項(xiàng)比較有挑戰(zhàn)性的問題。
(4)傳統(tǒng)的考核機(jī)制基本上是筆試,不能體現(xiàn)學(xué)生的動手實(shí)踐能力。
3 ?軟件測試課程的解決方法
(1)針對限定的課時(shí)量,制定新的教學(xué)計(jì)劃,構(gòu)建全面的知識體系,如圖1所示,軟件測試的主要內(nèi)容分為理論性教學(xué)和實(shí)踐性教學(xué)。理論教學(xué)主要是講授軟件測試相關(guān)的基本的概述、原理、定義及原則等,如軟件測試基本概述、軟件測試原則、分類、測試流程、測試模型、測試用例;白盒及黑盒測試的主要方法及實(shí)現(xiàn)步驟;階段性測試的主要實(shí)現(xiàn)流程等。實(shí)踐性教學(xué)主要是在理論教學(xué)的基礎(chǔ)上對自動化測試工具的學(xué)習(xí)和使用。
培養(yǎng)有實(shí)踐能力的應(yīng)用型人才不僅要掌握理論知識,更重要的是將理論知識應(yīng)用于實(shí)踐,制定新的教學(xué)計(jì)劃是在一定的課時(shí)量的基礎(chǔ)上,加大體現(xiàn)動手能力的實(shí)驗(yàn)課課時(shí)量,并且在理論教學(xué)是時(shí)著重為學(xué)生演示在理論知識背景下的轉(zhuǎn)換結(jié)果。體現(xiàn)這門課的應(yīng)用價(jià)值,提高學(xué)生的學(xué)習(xí)興趣。
(2)進(jìn)行案例教學(xué),以案例穿插于教學(xué)全過程,讓學(xué)生看到這門課程的實(shí)用價(jià)值。選取案例要有代表性,以兩位整數(shù)加法計(jì)算器為例。要求:輸入的參數(shù)值必須大于等于-100同時(shí)小于100等于的整數(shù)。此案例可以作為黑盒測試中等價(jià)類劃分法的典型案例。界面如圖2所示。
由于學(xué)生已經(jīng)有了編程基礎(chǔ),可以讓部分學(xué)生實(shí)現(xiàn)此案例,另一部分同學(xué)進(jìn)行黑盒測試,最后將測試結(jié)果進(jìn)行反饋。白盒測試部分以圖2為例運(yùn)用邏輯覆蓋法和基本路徑測試等方法進(jìn)行代碼的測試。同樣此例也可以運(yùn)用在自動化工具測試部分。在進(jìn)行案例教學(xué)過程中要針對學(xué)生課程基礎(chǔ),對選擇的案例進(jìn)行難易程度分類,如在掌握圖2案例的基礎(chǔ)上增加判斷閏年或者三角形的案例。
(3)自動化測試工具不僅僅局限于自帶的案例,要傾向于有實(shí)際意義的案例。建立校企結(jié)合。依托軟件企業(yè),學(xué)生參加企業(yè)實(shí)際測試項(xiàng)目,既能夠?yàn)槠髽I(yè)解決測試人員欠缺的問題,更重要的是能夠使學(xué)生得到實(shí)際的鍛煉。
(4)除了課上進(jìn)行案例教學(xué)外,實(shí)驗(yàn)課將教學(xué)內(nèi)容建立進(jìn)行進(jìn)一步的鞏固和擴(kuò)充,實(shí)驗(yàn)內(nèi)容與課堂教授內(nèi)容相一致,建立完善的實(shí)驗(yàn)教學(xué)體系。主要的實(shí)驗(yàn)內(nèi)容如表1所示。實(shí)驗(yàn)任務(wù)均要求限時(shí)提交,根據(jù)我校實(shí)際情況,我們以線上超星學(xué)習(xí)通為載體進(jìn)行實(shí)驗(yàn)任務(wù)的收交工作,教師對學(xué)生提交內(nèi)容及時(shí)修改反饋給學(xué)生。對于實(shí)驗(yàn)環(huán)節(jié)比較難的部分我們提前錄屏發(fā)放到學(xué)習(xí)通資料庫中,以便學(xué)生反復(fù)觀看學(xué)習(xí)。
(5)考核方式為筆試和機(jī)試,但更傾向于上機(jī)考試??荚囆问胶蛢?nèi)容是學(xué)生的動力和主要目標(biāo)之一,考試內(nèi)容主要以課堂教學(xué)的基本理論和實(shí)驗(yàn)教學(xué)內(nèi)容為主線,考察學(xué)生對所學(xué)知識的靈活運(yùn)用能力。以北華航天工業(yè)學(xué)院為例,我校近幾年期末考試采用筆試和機(jī)試相結(jié)合的方式,筆試主要考察學(xué)生基本理論知識的掌握能力,機(jī)試主要考察自動化測試軟件的運(yùn)用能力。
4 ?結(jié)語
軟件測試是貫穿于軟件生命周期的一項(xiàng)任務(wù),是軟件工程專業(yè)必修的一門專業(yè)課,但重編碼輕測試的思想及傳統(tǒng)的教學(xué)方式導(dǎo)致學(xué)生不能重視這門課程,本文以實(shí)踐能力為目標(biāo),制定新的教學(xué)計(jì)劃,采用案例教學(xué),建立實(shí)驗(yàn)教學(xué)體系,采用筆試與機(jī)試相結(jié)合的考核方式。實(shí)踐證明,本文教學(xué)方式更能提高學(xué)生對軟件測試課程的興趣和積極性,使學(xué)生認(rèn)識到軟件測試的重要性,增強(qiáng)了軟件工程專業(yè)就業(yè)的競爭力。
參考文獻(xiàn)
[1] 吉雪蕓,譚火彬,蔡為東.能力導(dǎo)向的軟件測試課程研究[J].計(jì)算機(jī)教育,2019(5):94-96.
[2] 蘇晶,張冬梅,孫守卿.案例驅(qū)動法在《軟件測試》實(shí)踐教學(xué)中的研究與應(yīng)用[J].科技創(chuàng)新導(dǎo)報(bào),2018(22):185-186.
[3] 辜萍萍.軟件測試課程實(shí)驗(yàn)教學(xué)體系設(shè)計(jì)與實(shí)踐[J].實(shí)驗(yàn)室研究與探索, 2019(7):180-184.