摘 要 近年來,軟件行業的蓬勃發展,使得軟件質量日益受到關注,而軟件測試是軟件質量保證的基礎。在深入分析了目前高校軟件測試課程在實踐教學方式上所存在的問題后,本文詳細闡述了基于ALM的教學改革方案,該方案的初步構建和實施,對于提高學生參與實踐教學的積極性,培養工程實踐能力具有重要意義。
關鍵詞 軟件測試;實踐教學;ALM
前言
近年來,軟件行業蓬勃發展,使得保證產品質量,提高用戶滿意度成為業界共同關注的首要任務,一方面推動了軟件測試行業地快速發展,市場對高素質、專業化軟件測試人才的需求量急劇增加;另一方面,為了提高企業自身的競爭力,對軟件分析、設計和開發人員的質量管理和質量保證意識提出了更高的要求。作為人才培養基地的高校,在培養具備工程實踐能力的測試人才方面任重而道遠。
1教學改革的目的和意義
軟件測試課程傳統教學模式存在諸多問題,其中最為突出的是實踐教學環節與社會對質量保證人才的需求存在脫節現象[1]。
本課程的實踐性極強,且理論體系環環相扣。而傳統的實踐教學通常只是通過零散、關聯度極低的驗證型實驗內容,用于鞏固課堂上所學的知識。在這種情況下,學生往往對于實踐環節重視程度不夠或不感興趣,參與度和積極性大打折扣,提交的成果物普遍存在抄襲現象。繼而使得學生無法深入理解軟件質量特性和質量保障的任務,以及軟件測試在提高軟件產品質量過程中所發揮的作用,最終導致學生無法將所學知識融會貫通,用于解決實際問題。
2ALM的引入
為了確保學生對所學知識的全面認識和理解,實驗內容應與課堂教授知識體系一致。依據軟件測試知識體系,本課程的教學內容主要分為軟件測試方法、軟件測試階段和軟件測試質量特性三部分[2]。課程知識點繁多且較為零散,不利于學生的學習和掌握。為了將知識點有效銜接起來,本課程借鑒惠普應用程序生命周期管理(Application LifeCycle Management,簡稱ALM)的基本思想,教學及實踐內容以軟件測試過程管理為主線開展,完成對測試方法、階段和質量特性的全方位覆蓋。同時將軟件測試新技術、行業發展現狀、ALM、UFT、LoadRunner等業界常見自動化工具的使用融入課堂教學與實踐中。
ALM軟件測試生命周期管理主要包括以下4個階段[3]:
指定需求:對接收的開發需求進行分析,得出測試需求;
測試計劃:根據測試需求創建測試計劃,分析測試要點并設計測試用例;
執行測試:在測試運行平臺上創建測試集或者調用測試計劃中的測試用例執行;
跟蹤缺陷:報告在手工或自動化執行測試的過程中發現的軟件缺陷,并跟蹤管理整個缺陷的修復過程。
通過將惠普的ALM思想引入到軟件測試課程的實踐教學中,不僅能將軟件測試所涉及的知識體系貫穿融合起來,而且能將教學環節與工程實踐有機結合起來,因此能夠達到完善實驗教學方式、增強學生軟件工程全局意識的目的。
3教學改革方案
3.1 實驗項目的設計
實踐教學環節圍繞著軟件測試過程展開,主要包括六個環環相扣、銜接緊密的實驗項目,學習并體驗ALM軟件測試應用程序生命周期的管理思想。
(1)實驗1 指定發布和需求
實驗內容:配置ALM服務器環境,在站點管理中創建項目及用戶;在ALM管理模塊中創建發布和周期,完成對測試項目的啟動;分析開發需求,建立需求跟蹤矩陣,將測試需求導入至ALM需求模塊中,并建立需求與發布間的關聯關系。
任務類型:小組任務
輸入:軟件需求規格說明書
輸出:測試需求報告
(2)實驗2 設計測試用例
實驗內容:根據測試需求分析測試要點及測試點;設計能夠覆蓋測試點的測試用例,并將其導入至ALM測試計劃模塊中;建立測試用例與需求間的關聯關系。
任務類型:小組任務(30%)+個人任務(70%)
輸入:測試需求報告
輸出:測試計劃報告、測試用例報告
(3)實驗3 執行測試用例
實驗內容:將測試用例生成測試運行集,手動執行測試用例,記錄實際運行結果,報告軟件缺陷,并建立缺陷與測試用例和測試需求間的關聯關系。
任務類型:個人任務
輸入:測試用例報告
輸出:測試執行報告、缺陷跟蹤報告
(4)實驗4 單元測試
實驗內容:編寫驅動模塊和樁模塊,搭建單元測試環境,手動執行程序并記錄結果;使用框架工具JUnit編寫測試腳本并執行,自動生成測試結果報告;分析比較手工和自動化單元測試的優缺點。
任務類型:小組任務
輸入:測試用例報告
輸出:單元測試腳本、測試結果報告
(5)實驗5 系統功能測試
實驗內容:通過功能測試工具UFT錄制測試腳本,通過檢查點、參數化及模塊化等技術加強腳本,回放并執行腳本,生成測試結果報告。
任務類型:小組任務
輸入:測試用例報告
輸出:功能測試腳本、測試執行報告、測試結果報告
(6)實驗6 系統性能測試
實驗內容:通過性能測試工具LoadRunner的虛擬用戶生成器錄制并加強測試腳本,通過控制器創建負載測試場景,并管理監控負載測試過程,通過分析器創建報告并評估系統性能。
任務類型:小組任務
輸入:測試用例報告
輸出:性能測試腳本、測試執行報告、測試結果報告
3.2 實驗過程的設計
①實驗過程模擬公司項目組的工作模式,采用分組分階段任務的形式展開,通過統一教學案例,考核學生對軟件測試過程管理和自動化工具使用的掌握程度。實驗內容分為小組任務和個人任務兩部分。小組任務要求組員團隊合作完成,且工作量盡可能做到平均分配,個人任務要求各組員在案例分析材料的引導下獨立完成。②實驗課程以軟件測試的生命周期管理為主線,將課堂所學知識有效銜接起來。實驗項目內容環環相扣、銜接緊密,因此要求階段成果物必須限時提交,以保證后續過程的順利開展。③實驗課程結束后,任課教師在盡可能短的時間內,對學生提交的階段成果給予批改和反饋,對于共性問題在課堂中進行有針對性的講解。④對于任課教師給予的批改和反饋,在規定時限內,可進行修改和完善,并進行二次提交,以加深學生對所學知識的全面理解。
3.3 實驗成績評價方法
實驗項目成績采用百分制評價標準,分為小組任務成績和個人任務成績兩部分,兩者按一定比例綜合得到最終實驗項目成績。比率值由任務性質及工作量情況確定。
個人任務成績和小組任務完成成績嚴格按照實驗成績評價標準給出,而每名組員的小組任務成績=小組任務完成成績*貢獻度比率值。其中比率值由小組組長確定,需真實反映組員在任務完成過程中的貢獻度,且需得到組內所有成員的認可。貢獻度比率值最高為100%,組員間比率值差額不得小于2%。
4課題實施過程與效果
2015年,隨著我校軟件測試實驗室的建成及投入使用,課題組成員著手對課程實踐教學方式進行改革。2017年,改革方案初步應用于計科卓越班的實踐教學中,實施效果良好。學生普遍反映通過測試需求分析、測試用例設計、手工及自動化的測試用例執行、缺陷報告跟蹤等一系列銜接緊密的過程,對軟件測試知識體系的理解更為透徹和全面;通過模擬公司項目組的實踐教學內容及方式,有效調動了學生學習的積極性,提高了動手實踐能力和文檔撰寫能力;通過分組分階段完成各項實踐任務,提高了團隊合作和交流溝通能力,能夠實現將所學知識與工程實踐地初步結合。
參考文獻
[1] 蔡建平.現代軟件測試基礎[M].北京:清華大學出版社,2014:208-209.
[2] 佟偉光.軟件測試(第2版)[M].北京:清華大學出版社,2015:16-18.
[3] 楊秋輝.軟件測試課程實踐教學改革研究[J].計算機教育,2016, (2):106-109.
作者簡介
蘇晶(1981-),女,山東省濱州市人;學歷:碩士研究生,講師,現就職單位:山東理工大學計算機科學與技術學院。