成都匯智動力-高校學子對軟件測試認識的三大誤區
軟件測試是保障軟件質量的重要環節,企業對于軟件質量意識的逐步增強,促使國內軟件測試人員的地位不斷提升。但中國高等教育往往落后企業實際發展3-5年,所以在高校學子心中,重開發、輕測試的思想依然嚴重。許多優秀的畢業生甚至對測試工作存在偏見,致使軟件測試人才缺口進一步放大,從而影響企業對測試人員的招募工作,繼而影響中國IT產業發展。其中有三個誤區尤為突出:

誤區1:軟件測試是軟件開發完成之后才進行的。
在傳統的瀑布模型中,軟件項目主要有以下幾個階段組成:計劃、需求分析、概要設計、詳細設計、編碼、測試和運行維護。由于軟件測試僅處于運行維護階段之前,是軟件產品交付用戶使用之前保證軟件質量的重要手段。因此很多人認為,軟件測試只是軟件編碼后的一個階段。

但隨著軟件測試的發展,人們越來越認識到瀑布模型有以下缺點:項目和項目之間極少有反饋,而且只有在項目生命周期的后期才能看到結果。這給經常發生需求變更的軟件研發工作產生很多不便,而且一旦在編碼階段結束才發現設計和需求階段的錯誤問題,修復的成本會很高。IBM研究發布的“缺陷修改成本趨勢圖”表明,缺陷存在放大趨勢,如果在設計階段修正一個錯誤的代價是1,那在詳細設計到編碼階段的錯誤放大系數大約為3,到測試階段成本則放大到20-30倍。所以軟件測試應貫穿于整個軟件開發生命周期的過程活動,包括軟件測試計劃、軟件測試需求分析、軟件測試用例設計、軟件測試執行、軟件缺陷管理、軟件測試風險管理以及其他的一些軟件測試相關的活動等組成。在軟件項目的每個階段,都需要進行不同目的和不同內容的測試活動,以保證各個階段工作產品輸出的正確性。軟件測試的對象也不僅僅是軟件代碼,還包括軟件需求文檔和設計文檔等其他所有的軟件工作產品。軟件開發與軟件測試之間應該是交互進行的,比如單元編碼之后需要進行單元測試,模塊組合之后進行集成測試。
誤區2:軟件測試無需具備很高的技能,是沒有前途的工作。
在很多高校學子的眼中,往往傾向于從事具有創造性的工作,比如軟件開發,將一個軟件從始至終的開發出來,而不屑于貌似事后完善的軟件測試工作。甚至還有很多學生認為,軟件測試只是簡單的功能性黑盒測試,點點鼠標,看看軟件功能是否符合產品規格說明書就可以了,這種看似家庭主婦都可以做的工作,毫無技術含量可言,且沒有發展前途。
其實,這種觀點是錯誤的,隨著軟件測試技術的發展,測試不僅僅是運行軟件發現缺陷的一個過程,測試人員應該在項目早期開始就介入,進行測試需求分析、制定測試計劃等。這要求測試人員有很好的溝通能力、理解能力、分析問題能力,同時還必須對該軟件服務的行業有一定的了解。如今,軟件測試技術不斷更新和完善,工具、流程、測試設計方法都在不斷更新,需要掌握和學習很多測試知識。有代碼能力的測試人員,更可以做代碼走讀、測試工具腳本編寫等工作,職業發展潛力無限。
誤區3:軟件發布后發現缺陷或bug,那是測試人員的責任。
許多學生認為,測試人員對軟件質量負全部責任,假如用戶收到軟件后發現問題,那是測試人員的責任。這種認識其實是非常片面的。首先,再高明的測試工程師都無法保證軟件發布后沒有錯誤或缺陷,即使是國際軟件巨頭研發的軟件都會或多或少存在一些bug,所以測試人員只能盡可能將軟件質量控制在較高的水準。其次,從軟件生命周期的整個過程來看,所有參與軟件項目的參與人員都應對軟件質量負責,而不單單是個人或測試團隊的事情。如:軟件急于發布,測試時間不足;客戶需求理解偏差;項目流程管理混亂等原因都會對軟件質量產生影響。
另外,還有很多學生不清楚測試工程師需要做哪些工作,現將主要工作內容列舉如下:
檢視代碼、評審開發文檔;
進行測試設計、寫測試文檔(測試計劃、測試方案、測試用例等);
通過人工或自動化手段執行測試,發現軟件缺陷,提交缺陷報告,并確認缺陷最終得到了修正;
通過測試度量軟件的質量。
總結:
作為正飛速發展的IT產業鏈中的一部分,軟件測試的重要性已是毋庸置疑的關鍵環節,當它的重要性已經被各家公司提升到一定高度的時候,高校學子們也應該與時俱進,提高對軟件測試崗位的理解。對于有志從事IT崗位的高校畢業生來說,充分了解各個職位的真實情況,對于將來職業的選擇和規劃都有著莫大的好處。
