軟體工程——理論、方法與實踐 之 軟體測試
軟體危機曾經是軟體界甚至整個計算機界最熱門的話題。為了解決這場危機,軟體從業人員、專家和學者做出了大量的努力。現在人們已經逐步認識到所謂的軟體危機實際上僅是一種狀況,你就是軟體中有錯誤,這是這些錯誤導致了軟體開發在成本、進度和質量上的失控。
有錯是軟體的屬性,而且是無法改變的,因為軟體是由人來完成的,所有由人來做的工作都不會是完美無缺的。問題在於如何去避免錯誤的產生和消除已經產生的錯誤。使程式中的錯誤密度達到盡可能低的程度。為把握軟體開發各個環節的正確性,需要進行各種確認和驗證工作。驗證和確認是貫穿軟體生命週期的規範化評估方法。
廣義上講,測試是指軟體產品生存週期內所有的檢查、評審和確認活動,如設計評審、系統評審、系統測試。狹義上講,測試是對軟體產品質量的檢測和評價,它一方面檢查軟體產品質量中存在的問題,同時對產品進行客觀評價。
軟體產品在交付使用之前,一般需要經過單元測試、整合測試、確認測試和系統測試。
軟體測試的方法是多種多樣的,可以從不同的角度加以分類。從是否需要執行被測試軟體的角度來看,可分為靜態測試和動態測試;從測試是否針對系統的內部結構和具體實現演算法的角度來看,可分為白盒測試和黑盒測試。
物件導向是目前一種主流的軟體開發技術,已經基本代替了面向過程開發方法,被看成是解決軟體危機的一種先進技術。但是無論採取什麼樣的方法開發軟體,對於軟體高質量的要求不會改變,因而軟體測試的目標也不會改變。
軟體測試在軟體開發的整個過程中占有非常重要的位置,如同其他的過程和活動一樣,測試也有其專門的case工具。目前市場上主流的測試工具主要覆蓋以下幾個方面:功能測試工具、效能測試工具、缺陷管理工具、測試管理工具。包括junit、loadrunner。
軟體工程 理論 方法與實踐 之 軟體演化
軟體工程 理論 方法與實踐 之 軟體演化 一旦軟體進去使用期,一些暴露出來的軟體問題需要進一步修正和改善,同時新的需求會不斷出現,原有的需求也會隨著業務的變化而發生變化。因此,軟體系統在交付之後仍然在不斷地演化,即進去軟體的執行維護階段,以保證軟體長期處於可用狀態,並能夠適應實際業務的不斷變化。軟體...
軟體工程 理論 方法與實踐 之 軟體過程
軟體工程 理論 方法與實踐 之 軟體過程 軟體過程是軟體過程人員為了獲得軟體產品而在軟體工具的支援下實施的一系列軟體工程活動。軟體過程的目標是在確定時間和預算內開發出高質量的軟體,然而實現這個目標是一件非常困難的事情。由於軟體的複雜性和多樣性,軟體開發並沒有乙個理想的過程,不同的開發組織或者不同的軟...
軟體工程 理論 方法與實踐
第一章 概述 軟體是電腦程式 規程以及計算機系統可能需要的相關文件和資料。軟體一般分為通用和定製軟體。軟體的特性 1 軟體是複雜的 2 軟體是不可見的 3 軟體是不斷變化的 4 大多數軟體是定製的,而不是通過已有的構件組裝的。軟體工程師為了經濟的獲得能夠在實際機器上高效執行的可靠軟體而建立和使用的一...