柯銘,張聚禮
摘要:隨著信息產業快速發展,軟件規模不斷擴大,軟件功能逐漸復雜化,軟件質量保證與測試的要求也日益提高。軟件質量保證與測試課程是軟件工程專業開設的專業必修課,傳統的教育模式已不能適應軟件產業人才培養的需求,因此提出項目驅動模式的軟件質量保證與測試課程教學模式。該模式以軟件工程項目為驅動,以測試理論知識為導向,在教學過程中將軟件質量保證理念和軟件測試策略貫穿軟件項目整個生命周期各個階段,從而達到調動學生學習創新性和自主性,提高學生綜合素質和軟件測試人才質量的目的。
關鍵詞:項目式教學;軟件測試;質量保證;教學改革
中圖分類號:G642.0 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2020)01-0164-02
一、引言
隨著社會信息化進程推進,計算機軟件不斷深入并普及到各行各業中。軟件規模逐漸擴大,軟件結構日益復雜,因此軟件測試作為保證軟件質量的重要手段,在軟件開發過程中顯得尤為重要。為適應社會企業的需要,各個高校紛紛面向廣大研究生、本科生及專科生等不同層次的學生開設了與軟件測試相關的課程(如軟件質量保證與測試、軟件測試基礎、軟件測試方法與實踐、實用軟件測試技術等)。我校也開設了軟件質量保證與測試課程,以培養學生創新意識為核心,探索多媒體課堂教學與實踐教學相結合的教學模式,強化實踐教學環節,以提高學生的軟件工程素養和測試技能為教學目標,為將來成為軟件工程師和測試師奠定專業基礎。此課程理論性強,測試方法和案例彼此聯系性差,傳統教學方式很難調動學生積極性,導致教學效果不佳,本文根據軟件測試課程的課程內容和教學目標,引入項目驅動模式,使學生能真正獲得學習興趣與實際測試工作的體驗。
二、軟件質量保證與測試課程教學現狀
軟件質量保證與測試課程主要是介紹軟件測試的基本理論和技術,課程學時為48學時,其中理論講授學時占三分之二,實驗上機學時占三分之一。教師在授課過程中多數采用在理論課時里完成軟件測試理論講解,在上機學時里完成某自動化工具使用。這種教學模式存在以下幾種問題。
問題一:教材和教學內容偏理論化。軟件測試課程工具書種類繁多,而且內容偏向通用型指導,過于強調理論和技術知識,雖然學生掌握了黑盒測試、白盒測試、單元測試等方法,但是學生仍不了解這些測試方法如何能應用到實際的軟件項目開發中。
問題二:“滿堂灌”問題。采用以教師為主體的“滿堂灌”方式,盡管在教學環節中增加了一些小實例和小項目,但對于整個課程來講,這些實例和項目都是孤立的、前后沒有聯系的,從而導致學生掌握的知識點是零散的、孤立的,不能很好地對課程進行整體把握。
問題三:考核內容片面。目前軟件質量保證與測試課程考核方式基本還是以閉卷考試成績為主,考勤、作業和上機等組成的平時成績為輔的考核方式。這樣使得考核內容相對片面,會出現過分注重書本內容而忽略軟件測試綜合應用能力考核。
針對這些問題,結合我校軟件工程專業培養計劃,探索提高學生的軟件工程素養和測試技能的新教學方法,我們采用項目驅動模式在軟件質量保證與測試課程教學中進行了一系列教學改革探索,以激發學生的學習興趣和創造性。
三、基于項目驅動的課程改革
基于項目驅動的課程模式既是一種課程模式,也是一種教學方法。該教學模式倡導將講授的軟件測試理論知識分散到具體項目中,以項目中拆分的任務為載體,做到讓學生在完成任務的過程中激發學生的興趣,并且讓學生將高深理論落到實處,化抽象為具體。這種模式將傳統課堂中教師“滿堂灌”轉變為“學生為主體,教師為導向”的教學模式,這樣不僅解決了軟件質量保證與測試課程理論性較強的問題,還提高了學生的創新能力和項目實踐能力。
為了完成軟件質量保證與測試課程教學改革,我們根據該課程的教學特點,結合軟件測試工作,從以下幾個方面對課程進行改革。
1.選擇適合軟件測試的軟件項目案例。軟件項目的設計與選取直接影響到該教學模式的教學效果及學生的學習興趣。軟件質量保證與測試課程的軟件項目選取與其他課程有所不同,要求學生對現有或者已經開發完成的軟件進行測試工作的設計和操作。在開設軟件質量保證與測試課程之前的學期里學生已經學習了軟件工程和面向對象程序設計等相關課程和軟件工程課程設計。我們選擇軟件工程課程設計中已經開發完成的軟件進行軟件測試。這些軟件的需求明確,功能模塊難易適中,并且都是學生自己完成的軟件,軟件中有明顯錯誤的部分,也有隱藏錯誤的部分。此外,這些軟件中有多種情景元素,有助于學生學習使用多種測試技術設計測試用例的方法。每個軟件項目組人數設定在3—5個人,設計的項目能使學生通過努力在一定的時間內完成。
2.合理分配測試任務。在軟件質量保證與測試課程教學過程中,要求學生掌握軟件測試相關概念、軟件測試方法技術、軟件測試基本流程、軟件測試工具和各類技術文檔編制規范。對于一個具體軟件項目,每個小組有一個測試組長和若干成員,組內成員要配合組長撰寫測試計劃、設計測試用例、進行測試環境配置和測試數據準備工作、執行各種測試,撰寫缺陷報告、跟蹤并修復缺陷、進行測試評測,最后提交測試總結報告。
3.軟件測試過程和課程教學過程結合。軟件測試執行過程包括單元測試、集成測試、系統測試與驗收測試各個測試階段。軟件測試基本技術包括白盒測試和黑盒測試。其中白盒測試包括靜態測試和動態測試。動態測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價類劃分、邊界值分析、因果圖法、判定表法、場景法等。我們在授課的過程中將所講授的這些技術和測試階段的理論知識分散到軟件項目中,按照專業化軟件測試流程進行任務分配,每一階段先講授軟件項目測試知識、演示測試操作過程,學生通過學習課堂例題,再應用到每個小組分配的具體軟件項目測試工作中,讓學生在測試項目實踐中學習強化軟件測試基礎理論、方法、技術與工具,理解并掌握測試流程。
通過以項目驅動模式來實施軟件質量保證與測試課程的整個教學過程,提高了學生的參與程度,激勵了學生主動參與到實際教學活動中,在實際的軟件項目實踐中掌握了測試技能。與傳統教學模式相比,學生普遍提高了軟件項目測試過程的參與度,獲得了比較全面的鍛煉,對軟件測試過程有了比較深刻的理解,提高了軟件測試能力。結果證明項目驅動模式教學是可行有效的,值得推廣。
四、結語
基于項目驅動模式的軟件質量保證與測試課程教學改革將軟件測試和質量保證的思維和方法貫穿軟件生命周期各個階段,促進學生在軟件項目案例實踐中全面了解軟件測試全過程,鞏固測試相關基礎知識,激發學生學習的主觀能動性和學習積極性,提高學生解決問題能力和團隊協作能力。由于軟件測試理論和方法技術還在不斷完善,新的教學改革需要教師不斷積累軟件項目測試經驗,關注學生創新意識和創新思維,進一步探索和總結軟件測試課程的教學內容,加強實踐環節,提高課程教學質量和教學效果,從而培養出高素質的軟件測試人才。
參考文獻:
[1]秦懷斌,戴建國.《軟件項目管理》課程分組討論式教學探討[J].教育教學論壇,2018,(22):183-184.
[2]高彩茹,丁樺,張福波,崔辰碩,陳宇軒.虛擬實踐教學軟件項目實施過程中的人才培養[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