信息技術業已成為國家經濟發展的支柱產業之一,作為其重要組成部分的軟件產業取得了長足的發展,并且越來越廣泛地應用于國民經濟和國防建設的各個領域。然而,在實際應用中,由于計算機軟件缺陷而造成計算機系統故障并導致嚴重后果的事例屢見不鮮。因此,如何保證軟件產品的質量就成了必須解決的一個問題,而對軟件進行有效的測試就是解決軟件質量問題的方法之一。
軟件測試是軟件質量保證的關鍵步驟。軟件測試研究的結果表明:軟件中存在的問題發現越早,其軟件開發費用就越低;在編碼后修改軟件缺陷的成本是編碼前的10倍,在產品交付后修改軟件缺陷的成本是交付前的10倍;軟件質量越高,軟件發布后的維護費用越低。另據對國際著名IT企業的統計,它們的軟件測試費用占整個軟件工程所有研發費用的50%.以上。
中國軟件企業在軟件測試方面與國際水準相比仍存在較大差距。首先,在認識上重開發、輕測試,忽略了如何通過流程改進和軟件測試來保證產品或系統的質量,也沒有認識到軟件項目的如期完成不僅取決于系統設計水平和代碼實現能力,而且還取決于設計、代碼、文檔等各方面的質量。其次,在管理上隨意、簡單,沒有建立規范、有效的軟件測試管理體系。另外,缺少自動化工具的支持,大多數企業在軟件測試時并沒有采用軟件測試管理系統。所以對軟件企業來說,不僅要提高對軟件測試的認識,同時要建立獨立的軟件測試組織,采用先進的測試技術,充分運用測試工具,不斷改善軟件開發流程,建立完善的軟件質量保障的管理體系。只有這樣,才有可能達到軟件開發的預期目標,降低軟件開發的成本和風險,提高軟件開發的效率和生產力,確保及時地發布高質量的軟件產品。
我們將多年來所積累的軟件測試經驗與技術實踐整理成書,與大家分享,希望成為軟件測試的實際應用參考書。同時,也將作者在大學軟件學院的軟件測試專業課、在全國性軟件測試和質量保證高級培訓班及其他培訓班等的授課經驗與體會,融入本書之中。
本書參考教學時數為40~50學時,全書共分為7章:第1章討論了軟件測試的一些基本概念;第2章介紹了軟件開發過程及特征;第3章介紹了軟件測試的基礎知識;第4章詳細描述了面向對象測試技術;第5章討論了目前較為流行的Web系統測試技術;第6章介紹軟件測試的組織與管理;第7章通過一個實例,給出了完整的與軟件測試相關的文檔。本書最后附有軟件測試術語。第1章和第3章由撫順職業技術學院的王愛平老師編寫,第2章和附錄A由撫順職業技術學院的劉鳳玲老師編寫,第4章和第5章由青島職業技術學院的徐占鵬老師編寫,第6章和第7章由沈陽師范大學職業技術學院的李天輝老師編寫。撫順職業技術學院的張海偉老師參與了本書的編寫及校對工作。
本書在編寫過程中,參閱了很多國內外同行的著作和文章,汲取了該領域最新的研究成果。在此,對這些成果的作者表示深深的感謝!
由于水平和時間的限制,書中不可避免地會出現一些錯誤,請廣大讀者不吝賜教。