柯銘,張聚禮
摘要:隨著信息產(chǎn)業(yè)快速發(fā)展,軟件規(guī)模不斷擴(kuò)大,軟件功能逐漸復(fù)雜化,軟件質(zhì)量保證與測試的要求也日益提高。軟件質(zhì)量保證與測試課程是軟件工程專業(yè)開設(shè)的專業(yè)必修課,傳統(tǒng)的教育模式已不能適應(yīng)軟件產(chǎn)業(yè)人才培養(yǎng)的需求,因此提出項(xiàng)目驅(qū)動模式的軟件質(zhì)量保證與測試課程教學(xué)模式。該模式以軟件工程項(xiàng)目為驅(qū)動,以測試?yán)碚撝R為導(dǎo)向,在教學(xué)過程中將軟件質(zhì)量保證理念和軟件測試策略貫穿軟件項(xiàng)目整個(gè)生命周期各個(gè)階段,從而達(dá)到調(diào)動學(xué)生學(xué)習(xí)創(chuàng)新性和自主性,提高學(xué)生綜合素質(zhì)和軟件測試人才質(zhì)量的目的。
關(guān)鍵詞:項(xiàng)目式教學(xué);軟件測試;質(zhì)量保證;教學(xué)改革
中圖分類號:G642.0 ? ? 文獻(xiàn)標(biāo)志碼:A ? ? 文章編號:1674-9324(2020)01-0164-02
一、引言
隨著社會信息化進(jìn)程推進(jìn),計(jì)算機(jī)軟件不斷深入并普及到各行各業(yè)中。軟件規(guī)模逐漸擴(kuò)大,軟件結(jié)構(gòu)日益復(fù)雜,因此軟件測試作為保證軟件質(zhì)量的重要手段,在軟件開發(fā)過程中顯得尤為重要。為適應(yīng)社會企業(yè)的需要,各個(gè)高校紛紛面向廣大研究生、本科生及專科生等不同層次的學(xué)生開設(shè)了與軟件測試相關(guān)的課程(如軟件質(zhì)量保證與測試、軟件測試基礎(chǔ)、軟件測試方法與實(shí)踐、實(shí)用軟件測試技術(shù)等)。我校也開設(shè)了軟件質(zhì)量保證與測試課程,以培養(yǎng)學(xué)生創(chuàng)新意識為核心,探索多媒體課堂教學(xué)與實(shí)踐教學(xué)相結(jié)合的教學(xué)模式,強(qiáng)化實(shí)踐教學(xué)環(huán)節(jié),以提高學(xué)生的軟件工程素養(yǎng)和測試技能為教學(xué)目標(biāo),為將來成為軟件工程師和測試師奠定專業(yè)基礎(chǔ)。此課程理論性強(qiáng),測試方法和案例彼此聯(lián)系性差,傳統(tǒng)教學(xué)方式很難調(diào)動學(xué)生積極性,導(dǎo)致教學(xué)效果不佳,本文根據(jù)軟件測試課程的課程內(nèi)容和教學(xué)目標(biāo),引入項(xiàng)目驅(qū)動模式,使學(xué)生能真正獲得學(xué)習(xí)興趣與實(shí)際測試工作的體驗(yàn)。
二、軟件質(zhì)量保證與測試課程教學(xué)現(xiàn)狀
軟件質(zhì)量保證與測試課程主要是介紹軟件測試的基本理論和技術(shù),課程學(xué)時(shí)為48學(xué)時(shí),其中理論講授學(xué)時(shí)占三分之二,實(shí)驗(yàn)上機(jī)學(xué)時(shí)占三分之一。教師在授課過程中多數(shù)采用在理論課時(shí)里完成軟件測試?yán)碚撝v解,在上機(jī)學(xué)時(shí)里完成某自動化工具使用。這種教學(xué)模式存在以下幾種問題。
問題一:教材和教學(xué)內(nèi)容偏理論化。軟件測試課程工具書種類繁多,而且內(nèi)容偏向通用型指導(dǎo),過于強(qiáng)調(diào)理論和技術(shù)知識,雖然學(xué)生掌握了黑盒測試、白盒測試、單元測試等方法,但是學(xué)生仍不了解這些測試方法如何能應(yīng)用到實(shí)際的軟件項(xiàng)目開發(fā)中。
問題二:“滿堂灌”問題。采用以教師為主體的“滿堂灌”方式,盡管在教學(xué)環(huán)節(jié)中增加了一些小實(shí)例和小項(xiàng)目,但對于整個(gè)課程來講,這些實(shí)例和項(xiàng)目都是孤立的、前后沒有聯(lián)系的,從而導(dǎo)致學(xué)生掌握的知識點(diǎn)是零散的、孤立的,不能很好地對課程進(jìn)行整體把握。
問題三:考核內(nèi)容片面。目前軟件質(zhì)量保證與測試課程考核方式基本還是以閉卷考試成績?yōu)橹鳎记凇⒆鳂I(yè)和上機(jī)等組成的平時(shí)成績?yōu)檩o的考核方式。這樣使得考核內(nèi)容相對片面,會出現(xiàn)過分注重書本內(nèi)容而忽略軟件測試綜合應(yīng)用能力考核。
針對這些問題,結(jié)合我校軟件工程專業(yè)培養(yǎng)計(jì)劃,探索提高學(xué)生的軟件工程素養(yǎng)和測試技能的新教學(xué)方法,我們采用項(xiàng)目驅(qū)動模式在軟件質(zhì)量保證與測試課程教學(xué)中進(jìn)行了一系列教學(xué)改革探索,以激發(fā)學(xué)生的學(xué)習(xí)興趣和創(chuàng)造性。
三、基于項(xiàng)目驅(qū)動的課程改革
基于項(xiàng)目驅(qū)動的課程模式既是一種課程模式,也是一種教學(xué)方法。該教學(xué)模式倡導(dǎo)將講授的軟件測試?yán)碚撝R分散到具體項(xiàng)目中,以項(xiàng)目中拆分的任務(wù)為載體,做到讓學(xué)生在完成任務(wù)的過程中激發(fā)學(xué)生的興趣,并且讓學(xué)生將高深理論落到實(shí)處,化抽象為具體。這種模式將傳統(tǒng)課堂中教師“滿堂灌”轉(zhuǎn)變?yōu)椤皩W(xué)生為主體,教師為導(dǎo)向”的教學(xué)模式,這樣不僅解決了軟件質(zhì)量保證與測試課程理論性較強(qiáng)的問題,還提高了學(xué)生的創(chuàng)新能力和項(xiàng)目實(shí)踐能力。
為了完成軟件質(zhì)量保證與測試課程教學(xué)改革,我們根據(jù)該課程的教學(xué)特點(diǎn),結(jié)合軟件測試工作,從以下幾個(gè)方面對課程進(jìn)行改革。
1.選擇適合軟件測試的軟件項(xiàng)目案例。軟件項(xiàng)目的設(shè)計(jì)與選取直接影響到該教學(xué)模式的教學(xué)效果及學(xué)生的學(xué)習(xí)興趣。軟件質(zhì)量保證與測試課程的軟件項(xiàng)目選取與其他課程有所不同,要求學(xué)生對現(xiàn)有或者已經(jīng)開發(fā)完成的軟件進(jìn)行測試工作的設(shè)計(jì)和操作。在開設(shè)軟件質(zhì)量保證與測試課程之前的學(xué)期里學(xué)生已經(jīng)學(xué)習(xí)了軟件工程和面向?qū)ο蟪绦蛟O(shè)計(jì)等相關(guān)課程和軟件工程課程設(shè)計(jì)。我們選擇軟件工程課程設(shè)計(jì)中已經(jīng)開發(fā)完成的軟件進(jìn)行軟件測試。這些軟件的需求明確,功能模塊難易適中,并且都是學(xué)生自己完成的軟件,軟件中有明顯錯(cuò)誤的部分,也有隱藏錯(cuò)誤的部分。此外,這些軟件中有多種情景元素,有助于學(xué)生學(xué)習(xí)使用多種測試技術(shù)設(shè)計(jì)測試用例的方法。每個(gè)軟件項(xiàng)目組人數(shù)設(shè)定在3—5個(gè)人,設(shè)計(jì)的項(xiàng)目能使學(xué)生通過努力在一定的時(shí)間內(nèi)完成。
2.合理分配測試任務(wù)。在軟件質(zhì)量保證與測試課程教學(xué)過程中,要求學(xué)生掌握軟件測試相關(guān)概念、軟件測試方法技術(shù)、軟件測試基本流程、軟件測試工具和各類技術(shù)文檔編制規(guī)范。對于一個(gè)具體軟件項(xiàng)目,每個(gè)小組有一個(gè)測試組長和若干成員,組內(nèi)成員要配合組長撰寫測試計(jì)劃、設(shè)計(jì)測試用例、進(jìn)行測試環(huán)境配置和測試數(shù)據(jù)準(zhǔn)備工作、執(zhí)行各種測試,撰寫缺陷報(bào)告、跟蹤并修復(fù)缺陷、進(jìn)行測試評測,最后提交測試總結(jié)報(bào)告。
3.軟件測試過程和課程教學(xué)過程結(jié)合。軟件測試執(zhí)行過程包括單元測試、集成測試、系統(tǒng)測試與驗(yàn)收測試各個(gè)測試階段。軟件測試基本技術(shù)包括白盒測試和黑盒測試。其中白盒測試包括靜態(tài)測試和動態(tài)測試。動態(tài)測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價(jià)類劃分、邊界值分析、因果圖法、判定表法、場景法等。我們在授課的過程中將所講授的這些技術(shù)和測試階段的理論知識分散到軟件項(xiàng)目中,按照專業(yè)化軟件測試流程進(jìn)行任務(wù)分配,每一階段先講授軟件項(xiàng)目測試知識、演示測試操作過程,學(xué)生通過學(xué)習(xí)課堂例題,再應(yīng)用到每個(gè)小組分配的具體軟件項(xiàng)目測試工作中,讓學(xué)生在測試項(xiàng)目實(shí)踐中學(xué)習(xí)強(qiáng)化軟件測試基礎(chǔ)理論、方法、技術(shù)與工具,理解并掌握測試流程。
通過以項(xiàng)目驅(qū)動模式來實(shí)施軟件質(zhì)量保證與測試課程的整個(gè)教學(xué)過程,提高了學(xué)生的參與程度,激勵(lì)了學(xué)生主動參與到實(shí)際教學(xué)活動中,在實(shí)際的軟件項(xiàng)目實(shí)踐中掌握了測試技能。與傳統(tǒng)教學(xué)模式相比,學(xué)生普遍提高了軟件項(xiàng)目測試過程的參與度,獲得了比較全面的鍛煉,對軟件測試過程有了比較深刻的理解,提高了軟件測試能力。結(jié)果證明項(xiàng)目驅(qū)動模式教學(xué)是可行有效的,值得推廣。
四、結(jié)語
基于項(xiàng)目驅(qū)動模式的軟件質(zhì)量保證與測試課程教學(xué)改革將軟件測試和質(zhì)量保證的思維和方法貫穿軟件生命周期各個(gè)階段,促進(jìn)學(xué)生在軟件項(xiàng)目案例實(shí)踐中全面了解軟件測試全過程,鞏固測試相關(guān)基礎(chǔ)知識,激發(fā)學(xué)生學(xué)習(xí)的主觀能動性和學(xué)習(xí)積極性,提高學(xué)生解決問題能力和團(tuán)隊(duì)協(xié)作能力。由于軟件測試?yán)碚摵头椒夹g(shù)還在不斷完善,新的教學(xué)改革需要教師不斷積累軟件項(xiàng)目測試經(jīng)驗(yàn),關(guān)注學(xué)生創(chuàng)新意識和創(chuàng)新思維,進(jìn)一步探索和總結(jié)軟件測試課程的教學(xué)內(nèi)容,加強(qiáng)實(shí)踐環(huán)節(jié),提高課程教學(xué)質(zhì)量和教學(xué)效果,從而培養(yǎng)出高素質(zhì)的軟件測試人才。
參考文獻(xiàn):
[1]秦懷斌,戴建國.《軟件項(xiàng)目管理》課程分組討論式教學(xué)探討[J].教育教學(xué)論壇,2018,(22):183-184.
[2]高彩茹,丁樺,張福波,崔辰碩,陳宇軒.虛擬實(shí)踐教學(xué)軟件項(xiàng)目實(shí)施過程中的人才培養(yǎng)[J].中國冶金教育,2016,(01):33-34.
Probe into the Reform of Project Driven Mode in Software Quality Assurance and Testing Course Teaching
KE Ming,ZHANG Ju-li
(School of Computer and Communication,Lanzhou University of Technology,Lanzhou,Gansu 730050,China)
Abstract:With the rapid development of the information industry,the software scale is expanding,the software function is becoming more and more complicated,and the requirement of Software Quality Assurance and Testing is also increasing.The course of Software Quality Assurance and Testing is a required course for software engineering majors.The traditional education model can no longer meet the needs of talents training in the software industry.Therefore,the project-driven teaching model of Software Quality Assurance and Testing is put forward.This model is driven by software engineering projects and guided by testing theory knowledge.In the process of teaching,the concept of software quality assurance and the software testing strategy are run through all stages of the software project life cycle.In order to arouse students' learning innovation and autonomy,improve students' comprehensive quality and the quality of software testing talent.
Key words:project-based teaching;software testing;quality assurance;teaching reform