軟件開發完成后才進行測試
在傳統的瀑布模型中,軟件項目主要有一下幾個階段組成:用戶需求、需求分析、概要設計、詳細設計、編碼和實現、測試以及運行維護。由于軟件測試僅處于運行維護階段之前,是軟件產品交付用戶使用之前保證軟件質量的重要手段。因此人們一般認為,軟件測試只是軟件編碼后的一個階段。
軟件發布后發現軟件問題,那是測試人員的責任
軟件的質量,不僅僅只是測試人員的事情,軟件項目參與的所有人員都應該關注軟件的質量。軟件質量的提高,需要每個項目人員的努力。測試只是提高軟件質量的一個重要環節,質量保證應該貫穿于整個軟件開發生命周期的所有的開發活動、測試活動、項目管理活動等。同時,采用合適的開發和測試過程,對改進軟件質量也能起到重要的作用。除了測試活動外,同時應該分析軟件項目的各個過程,從過程改進方面尋找產生錯誤的原因和改進的措施。
測試人員不需要具備很高的技能
不少軟件業人士認為軟件測試行業對軟件測試人員的技能要求不高。認為測試只是對照產品規格書操作軟件,發現軟件與規格說明不一致的地方,是沒有技術含量的工作。這種觀點是錯誤的,或者至少是步恰當的。隨著軟件測試行業的發展,測試不僅僅是運行軟件發現缺陷的一個過程,而是從項目早期,測試人員就開始介入,進行測試需求分析、計劃測試等。這要求測試人員有很好的溝通能力、理解能力、分析問題能力,同時還必須對產品開發技術有一定的了解。
測試是測試人員的工作,和開發人員無關
我們提倡軟件測試盡早介入軟件項目,或者說我們提倡貫穿于整個軟件開發生命周期的測試。因此,在項目概念、需求和設計階段,軟件測試就應該介入項目中去。開發和測試是相輔相成的過程,需要軟件測試人員和程序員、系統分析員等項目其他成員保持密切的聯系,需要更多的交流和協調,以便提高測試效率。在這些階段所發現的問題將有助于開發設計人員完善需求和設計。
由項目進度來決定測試工作量
規范的測試流程應該是一個整體的連續的過程,包括測試計劃和控制、測試分析和設計、測試實現和執行等階段。每一階段也應有各自的規程。而大多數人對測試的理解往往是隨項目進度而定,即離項目交付空余的時間多,就多做測試;反之,則少做測試。這樣很可能導致測試時間緊張,從而可能放棄其中的一些測試,可能導致遺漏一些重要的缺陷,顯然這種做法存在非常大的風險。
軟件測試是沒有前途的工作,只有開發人員是軟件高手
由于我國軟件整體開發能力比較低,軟件過程還不規范。項目的成功往往靠個別開發人員的能力,他們負責總體設計和程序詳細設計,認為軟件開發就是編寫代碼,給人的印象往往是程序員是真正的牛人,具有很高的地位和待遇。因此,在這種環境下,軟件測試并不受重視,軟件測試人員的地位和待遇自然就偏低了,甚至軟件測試變得可有可無。
自動化測試效率高,將取代軟件手工測試
測試自動化在某些情況下可以提高測試的效率(比如完成重復的測試配置、模擬大虛擬用戶等),但是并不是所有的測試都適合自動化,如程序需要處理的數據量不大、程序運行的次數不多、或者測試需要一些人的主觀判斷(如界面測試)等,在這些情況下,自動化測試可能并不是很好的選擇。
同時,自動化測試需要在前期投入大量的資源和工作量,同時需要維護的成本很高,包括環境的搭建、測試腳本的設計、維護等。因此,要具體情況具體分析,不能盲目推崇測試自動化。
推薦閱讀: