劉曉剛
摘要:本文針對當前高職計算機及相關專業的軟件測試課程普遍存在的問題,引入了新技術移動測試的內容,采用了主流商用的測試軟件仿真實際的測試過程,并對大型項目設計了自動化的專業測試。課程的改革提高了學生的學習興趣和積極性,提升了學生測試技能的掌握程度,保障了教學目標的有效實施。
關鍵詞:高職;軟件測試;改革
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2018)14-0275-02
一、課程存在的問題及定位分析
當前的軟件測試課程教學中普遍存在著幾個突出的問題:一是教學內容前沿性不夠。一些新型應用不斷普及,但實訓項目中尚沒有針對這些應用的測試,如移動應用測試、云測試等。二是教學內容覆蓋面不夠。市場上常用的.NET測試、Android測試、Java測試都應該是學生掌握的技能,但由于課程時間有限,很少能全面覆蓋到這些內容。三是實訓軟件不夠理想??紤]到成本問題,實訓機房一般采用免費和共享的測試軟件,這些軟件與正式的商業軟件相比,在功能及性能上有一定差距。
對于高職計算機及相關專業的學生來說,他們理論基礎薄弱,但有一定的動手能力。在學習了程序設計基礎(Java)、.NET面向對象程序設計、移動應用開發(Android)、數據庫技術(MySQL)等課程之后,對基于Java語言和Android技術的程序設計有了一定的基礎,可以從事初步的軟件開發工作,測試技術就是這個階段作為初級程序員必須掌握的一門技能。為了讓他們掌握市場上的主流技術,本著理論精學夠用、重視技能的原則,在前序課程的基礎上,課程應涵蓋Java、.NET、Android、MySQL多個方面內容,讓學生學會多方面的技能并融會貫通,從而提高專業知識的綜合應用能力;通過對軟件測試基礎理論、技術方法、流程管理和使用自動化工具實施項目測試的學習,使學生了解完整的軟件測試的工作過程,從而實現測試技能要求的目標。
二、教學內容設計
1.課程內容建設。單元1:軟件測試的認知和體驗。具體內容:軟件測試概述,軟件測試的地位和作用,軟件測試的目的,軟件測試的原則,軟件測試的分類,軟件測試的流程,軟件測試人員的類型和要求,場景設計法,軟件開發與軟件測試的基線。重點是:軟件測試的分類、原則、策略及流程。場景測試法與軟件測試的基線。本單元講授2課時實訓2課時,共需4課時。單元2:白盒測試。具體內容:測試用例設計,白盒測試介紹,邏輯覆蓋,基本路徑測試。重難點是:代碼檢查法、邏輯覆蓋法、基本路徑測試法。本單元講授4課時,實訓4課時,共需8課時。單元3:黑盒測試。具體內容:黑盒測試介紹,等價類方法,邊界值方法,決策表方法,因果圖方法。重難點是:測試用例,等價類方法,邊界值方法,決策表方法,因果圖方法。本單元講授8課時,實訓8課時,共需16課時。單元4:單元測試。具體內容有:單元測試,集成測試,.NET應用程序的單元測試與界面測試,基于JUNIT的單元測試。重難點是:單元測試,.NET應用程序的單元測試與界面測試,基于JUNIT的單元測試。本單元講授6課時,實訓6課時,共需12課時。單元5:Android測試。具體內容有:Android界面自動化測試,Android程序的單元測試,Android的Activity測試。重難點是:Android界面自動化測試方法,Android程序的單元測試方法,Android的Activity測試方法。本單元講授6課時,實訓6課時,共需12課時。單元6:自動化測試。重難點有:自動化測試,QuickTest Professional的功能測試、自動化測試、參數化測試。本單元講授2課時,實訓2課時,共需4課時。
2.實訓內容建設。單元1:軟件測試的認知和體驗。對應2個實訓,分別是:實訓1 設計基本測試用例;實訓2 應用場景法對QQ登錄的功能和界面進行測試,屬于黑盒測試,是比較簡單的一種黑盒測試,放在單元1比較合適。單元2:白盒測試。對應的實訓有2個,分別是:實訓3 判斷閏年的白盒測試;實訓4 多分支程序的白盒測試。單元3:黑盒測試。對應的實訓有4個,分別是:實訓5 NextDate等價類劃分;實訓6 三角形邊長問題的邊界值測試;實訓7 乘機行李計費的決策表測試,實訓8 谷歌地圖的因果圖測試。單元4:單元測試。對應的實訓有4個,分別是:實訓9 自制計算器的單元測試,采用.NET技術的測試,測試C#開發的Windows的計算器;實訓10 JUNIT求數組最大最小值單元測試;實訓11 判斷素數和整除單元測試;實訓12 堆棧類的單元測試。后三個實訓都采用Eclipse工具和集成的JUNIT進行相關測試。單元5:Android測試。對應的實訓有3個,分別是:實訓13 Android界面自動化黑盒測試;實訓14 Android程序的自動化白盒測試;實訓15 Android程序的Activity測試。重難點是:Android界面自動化測試方法,Android程序的單元測試方法,Android的Activity測試方法。采用Android Studio開發工具以及集成的JUNIT進行測試。單元6:自動化測試。對應的實訓有3個,分別是:實訓16 用QTP對Java記事本進行功能測試;實訓17 用QTP對飛機訂票系統自動化測試;實訓18 用QTP對用戶登錄程序進行參數化測試。有更多的時間可以添加Load Runner的相關測試。
3.實訓設計。①實訓工具的選擇:盡量采用主流的商用的工具,如Visual Studio 2013專業版、JUNIT 5、QuickTest Professional 12、Load Runner11等,這樣更加貼近實際的工作環境,提高畢業生的就業競爭力。②測試項目仿真。將學生分成開發小組和測試小組。首先對開發小組指定任務,模擬實際項目的開發過程,選用一種編程語言按要求實現一個中小規模的項目,要求盡可能避免錯誤,減少Bug。項目開發完成后,用單元測試工具進行單元測試,即開發小組成員測試自己的代碼,發現問題立即修改好,再重新進行一遍單元測試,直至單元測試通過。單元測試通過后,再由測試小組對該項目進行集成測試和系統測試。集成測試階段需要測試小組開發必要的樁程序和驅動程序,系統測試階段需要進行測試的策劃和設計,提交必要的測試文檔。測試發現的問題匯總后交給開發小組進行項目修改,修改完成后要求進行回歸測試。③自動化測試的設計。進行自動化測試時不必劃分不同的角色,成員都歸屬于測試小組。教師提供已完成的大型項目給測試小組,小組成員自行安裝測試工具,按要求的步驟對大型項目進行自動化測試,提交測試的結果和相關分析報告,老師對測試的過程和結果進行點評和打分。
三、考核方案設計
采用過程考核與項目作業評價相結合的方式,注重課程提問、業務操作、項目報告、匯報交流等環節的評價,注重理實一體化的評價方式。提高學生創新能力的考核權重,重視學生在項目作業中的想象力、創造力。注重考核學生職業素養的培養,特別強調團隊協作能力的考核。考試課程成績按百分制評定,課程考核內容與權重如下:平時成績占20%,實訓成績占20%,期末考核成績占60%。
平時成績包括出勤情況、課堂紀律、提問,按20%比例折算到課程總成績中。實訓課成績是每次實訓課后,教師根據學生按要求完成任務的實際情況,給出其成績。具體比例為測試需求分析10%、測試方案設計30%、測試設計及編碼40%、測試執行和結果報告20%,但是不提交實訓報告者不給分數,一票否決。按優秀(90-100分)、良好(80-89分)、中等(70-79分)、及格(60-69分)、不及格(59分及以下)五個等級評定。最后在期末給出一個總評成績,也按上述五個等級評定。按20%比例折算到課程總成績中。平時成績和實訓課成績總和為40%錄入成績單。
實訓過程考核內容:是否在規定時間內完成任務,完成任務的結果是否完整、正確。實訓報告考核內容:對于每個實訓報告,為了規范化目的,教師先給出基本框架,保證格式統一,重點清晰,適當給予學生發揮空間??己说囊c是報告的格式是否規范,書寫是否認真,語句是否規范,表述是否嚴謹;是否完整地記錄了實訓項目的工作任務;個人在完成實訓過程中的總結體會和技巧歸納等。期末進行規定時間的上機考核,在規定時間內完成指定的任務。將成績按60%的比例折算到課程總成績中。主要通過對實際測試項目的工作過程進行檢查和考核,對任務完成情況進行考核,還包括對測試工具的運用的考核。
四、結語
基于移動技術的軟件測試課程的設計,引入了新技術移動技術測試的內容,采用了主流商用的測試軟件,以及仿真的測試過程,對大型項目進行了實用的自動化測試等等。經過近兩年來的應用和實踐,受到了學生們的好評。首先是課程內容的更新,提高了學生學習的興趣和積極性,學生在理論課上能夠認真聽講、踴躍參與討論,實訓課積極主動,學習熱情較高。然后是項目化的實踐過程,提升了測試技能的掌握程度,保障了教學目標的有效實施。最后是與市場接軌的工作過程訓練,提升了學生的就業競爭力。
參考文獻:
[1]穆海倫,李萬清.面向企業的高校軟件測試教學改革探索[J].計算機教育,2013,(10):36-40.