張艷 楊麗娟 車冬娟


摘 ? 要:針對軟件測試課程教學過程中存在的問題,結合當前社會對軟件測試人才的需求內容,分析提出高校軟件測試課程的教學方法和對策。本文主要以實踐能力為目標,制定新的教學計劃,采用案例教學,建立實驗教學體系,采用筆試與機試相結合的考核方式進行教學改革,培養即有扎實理論知識,又具備較強實踐能力的高校人才。
關鍵詞:實踐能力 ?軟件測試 ?案例教學 ?自動化測試
中圖分類號:G642 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: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 ?引言
人類社會已經進入信息時代,軟件如電腦軟件和手機軟件已經走入人們的生活。如何保證軟件質量,這需要前期的軟件測試。可以說,軟件測試是保證軟件良好運行的重要手段。
軟件測試是軟件工程專業的主干課程,具有實踐性強的特點[1]。據調查,由于國內軟件產業規模越來越大,中國軟件測試人才極度缺乏。目前從事軟件測試的人群中,發現“計算機專業應屆畢業生缺乏動手能力”,學習完后,終覺紙上談兵。如何培養既掌握理論及流程,又有實踐能力的軟件測試人才是高校軟件測試課程面臨的要解決的問題。課堂中的案例教學和實驗體系的搭建是進行軟件測試教學改革的關鍵[2],本文借鑒前人經驗,主要探討以實踐能力為培養目標的軟件測試教學思路。
2 ?軟件測試課程的特點
(1)理論知識多,看似簡單卻不容易掌握,如白盒測試一章中,邏輯覆蓋法分為語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、修正的判定/條件覆蓋、條件組合覆蓋、路徑覆蓋,這些方法看似簡單,但要分清楚各方法之間的區別和聯系實則困難。
(2)實驗課不成體系,實驗眾多,階段性強[3]。
(3)自動化測試工具眾多。如從測試計劃到測試結果分析,不同測試階段都涉及到眾多知識點,有不同的自動化測試工具;從測試角度上又分為功能測試、性能測試等。并且,同一類型的測試工具也有幾種,如性能測試工具有LoadRunner、Jmeter、Rational Robot等。
針對軟件測試課程的特點,目前課程教學主要有以下問題:
(1)按照新的教學培養方案的要求,學生接受的教學總課時數不斷減少。軟件工程課程面臨著理論課時和實踐課時嚴重不足的現象,這樣難以達到教學的深度和難度。
(2)由于理論知識多且難度相對不高。學生在學習理論知識時容易提不起興趣,一部分理論知識在進行實驗時,由于難度不高,且相對單調,學生失去興趣。另一方面,實驗課程階段性強,且相對分散,不成體系。
(3)由于自動化測試軟件種類較多,且有些軟件屬于商業軟件,如何選擇合適的測試軟件既能滿足學生的學習需要,又能使適應社會的需求是一項比較有挑戰性的問題。
(4)傳統的考核機制基本上是筆試,不能體現學生的動手實踐能力。
3 ?軟件測試課程的解決方法
(1)針對限定的課時量,制定新的教學計劃,構建全面的知識體系,如圖1所示,軟件測試的主要內容分為理論性教學和實踐性教學。理論教學主要是講授軟件測試相關的基本的概述、原理、定義及原則等,如軟件測試基本概述、軟件測試原則、分類、測試流程、測試模型、測試用例;白盒及黑盒測試的主要方法及實現步驟;階段性測試的主要實現流程等。實踐性教學主要是在理論教學的基礎上對自動化測試工具的學習和使用。
培養有實踐能力的應用型人才不僅要掌握理論知識,更重要的是將理論知識應用于實踐,制定新的教學計劃是在一定的課時量的基礎上,加大體現動手能力的實驗課課時量,并且在理論教學是時著重為學生演示在理論知識背景下的轉換結果。體現這門課的應用價值,提高學生的學習興趣。
(2)進行案例教學,以案例穿插于教學全過程,讓學生看到這門課程的實用價值。選取案例要有代表性,以兩位整數加法計算器為例。要求:輸入的參數值必須大于等于-100同時小于100等于的整數。此案例可以作為黑盒測試中等價類劃分法的典型案例。界面如圖2所示。
由于學生已經有了編程基礎,可以讓部分學生實現此案例,另一部分同學進行黑盒測試,最后將測試結果進行反饋。白盒測試部分以圖2為例運用邏輯覆蓋法和基本路徑測試等方法進行代碼的測試。同樣此例也可以運用在自動化工具測試部分。在進行案例教學過程中要針對學生課程基礎,對選擇的案例進行難易程度分類,如在掌握圖2案例的基礎上增加判斷閏年或者三角形的案例。
(3)自動化測試工具不僅僅局限于自帶的案例,要傾向于有實際意義的案例。建立校企結合。依托軟件企業,學生參加企業實際測試項目,既能夠為企業解決測試人員欠缺的問題,更重要的是能夠使學生得到實際的鍛煉。
(4)除了課上進行案例教學外,實驗課將教學內容建立進行進一步的鞏固和擴充,實驗內容與課堂教授內容相一致,建立完善的實驗教學體系。主要的實驗內容如表1所示。實驗任務均要求限時提交,根據我校實際情況,我們以線上超星學習通為載體進行實驗任務的收交工作,教師對學生提交內容及時修改反饋給學生。對于實驗環節比較難的部分我們提前錄屏發放到學習通資料庫中,以便學生反復觀看學習。
(5)考核方式為筆試和機試,但更傾向于上機考試。考試形式和內容是學生的動力和主要目標之一,考試內容主要以課堂教學的基本理論和實驗教學內容為主線,考察學生對所學知識的靈活運用能力。以北華航天工業學院為例,我校近幾年期末考試采用筆試和機試相結合的方式,筆試主要考察學生基本理論知識的掌握能力,機試主要考察自動化測試軟件的運用能力。
4 ?結語
軟件測試是貫穿于軟件生命周期的一項任務,是軟件工程專業必修的一門專業課,但重編碼輕測試的思想及傳統的教學方式導致學生不能重視這門課程,本文以實踐能力為目標,制定新的教學計劃,采用案例教學,建立實驗教學體系,采用筆試與機試相結合的考核方式。實踐證明,本文教學方式更能提高學生對軟件測試課程的興趣和積極性,使學生認識到軟件測試的重要性,增強了軟件工程專業就業的競爭力。
參考文獻
[1] 吉雪蕓,譚火彬,蔡為東.能力導向的軟件測試課程研究[J].計算機教育,2019(5):94-96.
[2] 蘇晶,張冬梅,孫守卿.案例驅動法在《軟件測試》實踐教學中的研究與應用[J].科技創新導報,2018(22):185-186.
[3] 辜萍萍.軟件測試課程實驗教學體系設計與實踐[J].實驗室研究與探索, 2019(7):180-184.