蔡紅
摘要:軟件測試是軟件的整個生命周期內確定其功能和穩定性的重要措施,在軟件的開發階段軟件測試發揮了重要的作用。現在隨著互聯網技術的進步,各種軟件層出不窮,給人們的工作、生活帶來了極大的便利。軟件種類的增多也就相應的對軟件測試專業人才提出了更高的要求。高職軟件測試課程為了能夠培養更多的專業軟件測試人員,必須強化課程建設,采取有效的教學方法,將理論與實踐相結合,為社會培養更多的專業人才。
關鍵詞:高職院校;軟件測試;課程建設
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2019)30-0153-02
在一款應用軟件從編程開發到最后投入市場應用的完整過程中,軟件測試無疑是最重要的步驟,通過軟件測試可以發現軟件存在問題,然后讓軟件開發人員進行修復,從而能夠讓軟件穩定的運行。作為高職院校開設的軟件測試課程就是為了能夠培養專業的軟件測試人員。軟件測試的理論內容比較豐富,具有很多的專業術語,測試的程序和方法比較復雜,而且測試的工作量巨大,因此高職院校的軟件測試課程教學必須采取有效的教學模式和方法,將軟件測試的相關理論與軟件測試的實踐緊密的結合,讓高職學生能夠從理解軟件測試的相關概念人手,逐步的掌握軟件測試的原理、方法以及如何使用軟件測試工具,只有這樣才能夠把高職學生培養成軟件測試的專業人才,因此高職軟件測試課程要以當前的軟件行業對于人才的需求出發,探索軟件課程建設的新模式。
1目前高職軟件測試課程存在的問題
通過對目前軟件企業的人才需求進行調研以及高職軟件測試專業畢業生的反饋中可以看出,目前的高職軟件測試課程在理論建設上,普遍存在的問題就是培養的學生對軟件測試知識概念不清,測試的方法不明確,測試用例設計冗余以及功能的覆蓋率相對較低的問題,普遍對于“等價類”和“邊界值”等測試方法無法很熟練地運用。在軟件測試課程設計上,對測試理論的介紹不全面,不能夠全面系統的反映軟件測試的整個知識體系和結構,導致培養的學生軟件測試實踐操作能力不佳,測試效果不盡如人意。
1.1軟件測試課程理論沒有形成完整的體系
目前的高職軟件測試課程普遍存在的問題就是理論內容較多,涉及的知識點比較零碎,這樣就會讓學生在學習的過程中感到無所是從,無法抓住理論學習的重點。作為軟件工程課程體系的一門重要內容,軟件測試兼具了軟件測試的理論和實踐的雙重功能。課程內容涉及了很多專業的測試理論和測試方法,因此對于高職學生的邏輯思維能力要求較高,如果單純地為學生灌輸測試理論或者測試技巧,而不是將兩者有機地結合在一起,就會讓學生在學習中無法抓住重點,在腦海中形成完整的知識體系脈絡。
1.2學生對軟件測試學習興趣不高
高職軟件測試課程的教學在講解各種測試技巧時,通常都是采用的手工測試的方法,老師講解的測試案例大都是教材提供的或者是以往開發的一些小程序,學生對于這些軟件的功能還沒有辦法完全理解,對于程序的源代碼也不了解,在學習中完全是以完成練習的方式來做測試,導致了學生學習興趣低下。而且現在的軟件開發功能越來越復雜,對于測試的要求也原來越高,對于測試人員各方面知識和能力的要求也與以往有很大的不同,但是現在的軟件測試課程教學培養的學生在學習完軟件的開發和軟件的測試以后,沒有形成一套完整的關于軟件開發流程的體系,對今后的就業也會產生一定的影響。
1.3課堂教學案例不完備
高職院校的軟件測試課程教學老師本身并不是專業的軟件設計人員出身,很多老師都沒有軟件開發的相關經歷,因此在測試課程教學的過程中,采用的教學案例大都是一些比較零散的小程序,在學生每次進行軟件測試練習時都需要對軟件的功能進行重新地了解,因此就無法把學習的重點放到軟件的測試方法上和對比分析上,這樣就會減弱軟件測試實踐教學的效果,尤其是一些軟件測試需要分階段的測試技術,包括單元測試、集成測試、系統測試以及驗收測試等,這些都要求學生必須掌握連貫的測試流程和測試技術。
2高職軟件測試課程建設的改進措施
2.1壯大軟件測試教師隊伍
軟件測試課程教學效果與教師隊伍的教學水平息息相關,通常在軟件與信息服務專業測試課程當中都是外聘的企業工程師來負責教學任務,而對于軟件開發這一類的課程比如“Ja-va面向對象程序設計”“web應用程序開發”以及“Android應用程序開發”等一般都是高職院校的內部老師負責教學,這就導致了軟件開發和軟件測試成為完全分離的兩個教學部分,在軟件開發課程的教學當中,老師多是關注與對軟件開發語言和開發方法的介紹,很少提及關于軟件測試方面的內容,而在軟件測試課程教學中,老師則更多的關注軟件理論知識和測試技巧,這種相互脫節的教學體系設計讓學生很難有一個系統的軟件測試知識體系。因此在軟件測試課程建設中,對于師資力量的分配要重新考慮,在教師隊伍的團隊建設當中,要選擇軟件測試專業實訓老師以及軟件開發專業老師共同組成軟件測試課程的教師隊伍,在教師隊伍中以實訓老師為主導,軟件開發老師作為輔助。在教學隊伍的選拔方面,由于實訓老師比較熟悉軟件測試相關的理論和實踐,因此選擇實訓老師要優先考慮熟悉自動化測試軟件的具有經驗的老師,其他專業老師高職院校可以采用定期培訓的方式提升他們對于軟件測試理論和功能測試技術的熟悉程度。
2.2軟件測試理論教學課程建設
針對軟件測試理論對于高職學生無法提升學習興趣的現狀,可以嘗試對軟件測試理論進行改革,采用創新性的教學方法來提升學生的興趣,讓他們能夠主動接受老師講述的軟件測試理論,提升他們自主學習的積極性。比如在理論教學中為了能夠開拓學生測試用例的設計思路,除了給學生展示一些常規的登錄測試用以外,還可以為學生展示一些非常規的測試用例,比如通過演示黑客攻擊的方式和手段來向高職學生展示數據庫是如何被入侵和篡改的,讓學生的思路能夠得到拓展。其次可以采用典型案例教學的方法吸引學生的興趣,達到靈活運用的目的。比如從一些現實的軟件測試中選擇一些常用的軟件作為測試,讓學生一方面可以靈活的掌握所學習到的理論知識,同時也可以讓他們學會如何運用所學的知識來指導軟件測試的實踐,讓他們了解一些測試管理工具的使用情況,明白測試人員之間如何協作來實現整個軟件的測試過程。最后可以采用個性化的教學方法,利用新型教學模式來因材施教,根據每一位同學在軟件測試理論掌握的程度采取不同的教學方式,分成不同的學習小組,每個小組安排的教學任務不同,對于動手能力相對較差的小組,要給予他們明確的測試步驟引導,讓他們按照規定的步驟去進行軟件測試,逐漸掌握軟件測試的技巧;對于一些基礎較好,具有個性化編程技術小組的學生,可以針對源代碼的白盒測試給予具體的指導;對于軟件測試理論基礎扎實,進步較快的小組則可以安排一些更高階的軟件測試任務,通過小組內和小組之間的示范帶頭作用,由淺入深、循序漸進地進行軟件測試學習,從而讓整個班級的學習能力都有所增長。
2.3軟件測試實踐教學課程建設
在軟件測試實踐教學環節可以采用基于“工作過程”的實踐教學方式,將教、學、做、考相結合,不斷提升軟件測試教學的效果。首先是軟件測試問題的引入,向學生展示軟件存在的一些典型bug,讓學生有一個直觀的印象,然后針對這些bug提出問題讓同學們相互討論,從而引出相應的知識點;其次進行知識講解,可以針對不同軟件的不同測試過程進行延伸講解;最后是軟件實踐,讓學生根據本小組的測試對象來解決軟件測試中的實際問題,主要是鍛煉學生的臨場應變能力和創新思維能力。通過以上不同實踐方法提升軟件測試課堂的教學效果和學生的實踐能力。
具體的實踐測試環節包括布置任務、分組,然后創設軟件測試環境,然后讓學生根據軟件測試的任務編寫軟件測試計劃,根據測試計劃進行軟件前臺測試和后臺測試,最后由老師對測試結果進行驗收。軟件測試實踐環節的準備工作是最重要的,要引導學生在實踐之前做好與實踐環節相關的理論知識的準備工作,同時要求學生能夠根據被測試的軟件對象認真地思索實踐的內容,并對具體的實驗內容來進行設計。在實踐中老師要將學生在過程中出現的問題交由各個小組內部討論,盡量從小組內找出解決問題的辦法,對于一些比較困難的問題老師可以給予一定的指導,為學生準備幾種不同的方案供他們選擇,學生根據所學的軟件知識從這些方案中選擇最具有性價比的方法。每個小組在完成軟件測試實踐以后,都要提交一份軟件測試計劃、總結以及軟件測試報告,針對軟件存在的具體缺陷來設計解決方案。
通常軟件測試課程一般都是安排在軟件開發課程之后,這時學生一般都能夠掌握軟件測試課程的教學內容,然后在開始軟件測試的實踐,這樣能夠更好地促進學生對軟件測試體系和結構的掌握。
3結束語
高職院校的軟件測試課程建設目的是為社會培養更多軟件技術過硬、能力較強、可以滿足未來軟件開發企業需要的應用型人才,因此在課程設置上要不斷增強學生的學習興趣,科學合理的安排軟件測試課程教學內容,提升學生的軟件測試實踐能力。