標籤:
軟體測試的概念:
1.錯誤改正代價與發現的時間呈現指數增長的趨勢
2.軟體測試不僅僅限於程式編碼之後,而應該貫穿於軟體開發的全過程。軟體測試並不等於程式測試,因此,需求分析、概要設計、詳細設計以及程式編碼等各個階段所得到的文檔資料,包括需求規格說明、軟體概要設計規格說明、軟體詳細設計規格說明以及來源程式,都應作為軟體測試的對象。
3.關鍵性分析、可跟蹤性分析、評估和介面分析等都是驗證和確認的主要活動。其中關鍵性分析的目的是為了保證資源的有效利用,尤其在需求資源得不到滿足時,有必要在整體上分析整個系統的資源分派策略;可跟蹤性分析就是標識原始需求和相應開發結果之間關係的能力,它的目的是保證規格說明中的每項需求被正確標識,當前階段與前後階段之間的跟蹤是一致的。評估是不僅僅要對最終的軟體產品進行評估,而是軟體開發各個階段都需要進行的.介面分析必須關注3種介面,即使用者介面、硬體介面和軟體介面。
4.軟體品質保證活動的目標為:制定和規劃軟體品質保證的任務,客觀地驗證軟體產品和各項任務是否遵循適用的標準、規程和需求,相關小組和個人保持良好的溝通,及時通知他們在軟體品質保證方面的認識和結果,高層管理員能夠參與並協助解決項目中不能解決的不相容問題。
5.軟體驗證和確認理論是測試過程的理論依據,驗證是檢查軟體開發的各個階段過程活動的結果是否滿足規格說明的描述,證實各階段之間的邏輯協調性、完備性和正確性。確認是證實在一個給定的外部環境中軟體的邏輯正確性,即是否滿足使用者的要求。Bohem給出了一個經典定義:驗證是檢查我們是否正在正確地建造一個產品,它強調的是過程的正確性。而確認是檢查我們是否在建成一個正確的產品,它強調的是產品的正確性。
6.軟體生產的3個最重要因素是:品質、進度和費用。
7.由測試案例的原則第5條(設計測試案例時應該充分注意測試中的群集現象,即測試後程式中殘存的錯誤數與已發現的錯誤數目成正比),故在測試時應當對錯誤群集的程式段進行重點測試,以提高測試的效率及測試投資的效益。目前,在軟體測試領域流行一個“80-20原則”,認為80%的錯誤是在20%的模組中發現的,所以在測試時如果發現某一程式模組似乎比其他程式模組有更多的錯誤傾向時,則應當花費較多的時間和代價測試這個程式模組,從而提高測試的效率。
8.V模型反映出測試活動與分析設計活動的關係,強調了在整個項目開發過程中需要經曆的不同測試層級,忽視了測試的對象不應該僅僅是程式,W模型是對V模型進行了補充,明確指出:測試的對象不僅僅是程式,需求、設計等同樣需要進行測試,H模型指出軟體測試是一個獨立的流程,只要某個測試達到準備就緒點,測試執行活動就可以開展,軟體測試貫穿於產品的整個生命週期,與其他流程可以並發進行。
9.軟體測試過程體現了軟體測試的流程和方法,與軟體開發過程一樣,都遵循軟體工程原理,遵循管理學原理
10.Glenford J.Myers於1979年給出測試的定義為:軟體測試是為發現錯誤而執行的一個程式或者系統的過程。同時他給出了三個關於測試的重要觀點:· 測試是為了證明程式有錯,而不是證明程式正確。· 一個好的測試案例在於它能發現以前未發現的錯誤。· 一個成功的測試是發現了以前未發現的錯誤的測試。
11.驗收測試是以需方為主的測試,其對象是完整的、整合的電腦系統,技術依據是軟體研製合約;軟體驗收測試工作應滿足被驗收測試的軟體已通過系統測試。驗收測試一般由軟體的需方組織,由獨立於軟體開發的人員實施。如果驗收測試委託第三方實施,一般應委託國家認可的第三方測試機構。
12.風險是指發生了可能給項目成本、進度和品質帶來壞的影響的事情。風險有可能是可以避免的,可以採取措施避免其發生,也有可能是不可避免的,只能降低風險帶來的損失。
13.TSM分為3個層級。第一級:弱(weak)。可測性支援,只提到很少的測試問題。第二級:基本(basc)。可測性支援,提到了基本的測試問題。第三級:強(strong)。可測性支援,提到了所有的測試問題。
14.根據《GB/T 15532—2008電腦軟體測試規範》,測試案例的設計應遵循下面原則:①基於測試需求的原則。②基於測試方法的原則。③兼顧測試充分性和效率的原則。④測試執行的可重複性原則。
根據《GB/T 15532—2008電腦軟體測試規範》,軟體測試管理組件括測試過程管理、組態管理和測試評審管理。
15.軟體開發過程是一個自頂向下、逐步細化的過程,而軟體測試過程則是相反的順序自底向上、逐步整合的過程。
軟體品質:
1.按照ISO/IEC 9126—1:2001,軟體品質模型可以分為內部品質模型、外部品質模型和使用品質模型3種。
2.軟體品質的度量主要是根據軟體生存周期中對軟體品質的要求所進行的一項活動。它主要分為三個方面:外部度量、內部度量和使用品質的度量。其中外部度量是在測試和使用軟體產品過程中進行的,通過觀察該軟體產品的系統行為,執行對其系統行為的測量得到度量的結果;內部度量是在軟體設計和編碼過程中進行的,通過對中間產品的靜態分析來測量其內部品質特性;使用品質的度量是在使用者使用過程中完成的。
3.內部品質是表徵軟體產品在規定條件下使用時,決定其滿足規定的和隱含的要求的能力的產品屬性的全體。內部品質是從內部的觀點看軟體產品的全部特性,內部品質需求包括靜態模型、動態模型、其他文檔和原始碼等。
4.軟體的使用品質屬性分為4種:有效性、生產率、安全性和滿意度。
5.外部品質是針對要求的滿足程度而言的,是表徵軟體產品在規定條件下使用時,滿足規定的和隱含的要求的程度;而內部品質則主要是根據軟體產品的情況給出的,是表徵軟體產品在規定條件下使用時,決定其滿足規定的和隱含的要求的能力的產品屬性的全體
健壯性測試:
1.健壯性測試常用的測試案例設計方法有:故障插入測試、變異測試和錯誤猜測法。失效恢複測試常用的測試案例設計方法有:規範匯出法、錯誤猜測法、基於故障的測試和基於風險的測試
2.健壯性測試又稱為容錯性測試,其目的是檢查系統能否自動從故障中恢複以及自我修複的能力,這就要求系統本身對運行狀態可能出現的異常進行充分估計,並提前進行預案設計,以保證系統能夠從錯誤中恢複。常用的測試案例設計方法有:故障插入測試、變異測試和錯誤猜測法。而規範匯出法是失效恢複測試常用的用例設計方法。
軟體整合測試的目的是檢驗單元之間、軟體單元和已整合的軟體系統之間的介面關係,並驗證已整合軟體系統是否符合設計要求。
軟體缺陷:
1.在軟體缺陷中,開啟是屬於活動狀態,而解決與關閉都屬於非使用中。
2.通常來說,軟體缺陷大多數是來自軟體開發項目的需求和設計階段的。
3.從測試觀點可以將軟體缺陷分為5類,分別為:功能缺陷、系統缺陷、加工缺陷、資料缺陷、代碼缺陷。其中功能缺陷的表現有:規格說明書缺陷、功能缺陷、測試缺陷和測試標準引起的缺陷。控制與順序缺陷屬於系統缺陷。
軟體測試概念