『壹』 軟體測試包含什麼內容啊
軟體測試的基本方法
軟體測試的方法和技術是多種多樣的。
對於軟體測試技術,可以從不同的角度加以分類:
從是否需要執行被測軟體的角度,可分為靜態測試和動態測試。
從測試是否針對系統的內部結構和具體實現演算法的角度來看,可分為白盒測試和黑盒測試;
1、黑盒測試
黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序介面進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,並且保持外部信息(如資料庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用於軟體確認測試。 「黑盒」法著眼於程序外部結構、不考慮內部邏輯結構、針對軟體界面和軟體功能進行測試。「黑盒」法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
2、白盒測試
白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。
「白盒」法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。「白盒」法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規范,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與數據相關的錯誤。
3.ALAC(Act-like-a-customer)測試
ALAC測試是一種基於客戶使用產品的知識開發出來的測試方法。ALAC測試是基於復雜的軟體產品有許多錯誤的原則。最大的受益者是用戶,缺陷查找和改正將針對哪些客戶最容易遇到的錯誤。
『貳』 軟體測試的方法都有哪些好學嗎
有黑盒測試和白盒測試技術,黑盒測試又包括等價類劃分法、邊界值分析法、判定表驅動法、因果圖法、錯誤推測法等;白盒測試又包括邏輯覆蓋法、基本路徑法等
『叄』 軟體測試對於測試方法的分類是什麼
軟體測試分類
軟體測試是一項復雜的系統工程,從不同的角度考慮可以有不同的劃分方法,對測試進行分類是為了更好的明確測試的過程,了解測試究竟要完成哪些工作,盡量做到全面測試。
1,按是否需要執行被測軟體的角度
按是否需要執行被測軟體的角度,可分為靜態測試和動態測試,前者不利用計算機運行待測程序而應用其他手段實現測試目的,如代碼審核。(我認為主要是讓測試人員對編譯器發現不了的潛在錯誤進行分析,如無效的死循環,多餘的變數等),而動態測試則通過運行被測試軟體來達到目的。
2、按階段劃分:
1 單元測試
單元測試是對軟體中的基本組成單位進行的測試,如一個模塊、一個過程等等。它是軟體動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟體基本組成單位的正確性。因為單元測試需要知道內部程序設計和編碼的細節知識,一般應由程序員而非測試員來完成,往往需要開發測試驅動模塊和樁模塊來輔助完成單元測試。因此應用系統有一個設計很好的體系結構就顯得尤為重要。
一個軟體單元的正確性是相對於該單元的規約而言的。因此,單元測試以被測試單位的規約為基準。單元測試的主要方法有控制流測試、數據流測試、排錯測試、分域測試等等。
2 集成測試
集成測試是在軟體系統集成過程中所進行的測試,其主要目的是檢查軟體單位之間的介面是否正確。它根據集成測試計劃,一邊將模塊或其他軟體單位組合成越來越大的系統,一邊運行該系統,以分析所組成的系統是否正確,各組成部分是否合拍。集成測試的策略主要有自頂向下和自底向上兩種。
3 系統測試
系統測試是對已經集成好的軟體系統進行徹底的測試,以驗證軟體系統的正確性和性能等滿足其規約所指定的要求,檢查軟體的行為和輸出是否正確並非一項簡單的任務,它被稱為測試的「先知者問題」。因此,系統測試應該按照測試計劃進行,其輸入、輸出和其他動態運行行為應該與軟體規約進行對比。軟體系統測試方法很多,主要有功能測試、性能測試、隨機測試等等。
4 驗收測試
驗收測試旨在向軟體的購買者展示該軟體系統滿足其用戶的需求。它的測試數據通常是系統測試的測試數據的子集。所不同的是,驗收測試常常有軟體系統的購買者代表在現場,甚至是在軟體安裝使用的現場。這是軟體在投入使用之前的最後測試。
5 回歸測試
回歸測試是在軟體維護階段,對軟體進行修改之後進行的測試。其目的是檢驗對軟體進行的修改是否正確。這里,修改的正確性有兩重含義:一是所作的修改達到了預定目的,如錯誤得到改正,能夠適應新的運行環境等等;二是不影響軟體的其他功能的正確性。
6 Alpha 測試:在系統開發接近完成時對應用系統的測試;測試後,仍然會有少量的設計變更。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成。
7 Beta 測試:當開發和測試根本完成時所做的測試,而最終的錯誤和問題需要在最終發行前找到。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成。
3、按測試方法劃分:
1 白盒測試
白盒測試也稱結構測試或邏輯驅動測試,是指基於一個應用代碼的內部邏輯知識,即基於覆蓋全部代碼、分支、路徑、條件的測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。
「白盒」法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。「白盒」法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規范,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與數據相關的錯誤。
白盒測試可以藉助一些工具來完成如Junit Framework,Jtest等。
2 黑盒測試
黑盒測試是指不基於內部設計和代碼的任何知識,而基於需求和功能性的測試,黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序介面進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,並且保持外部信息(如資料庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用於軟體確認測試。
「黑盒」法著眼於程序外部結構、不考慮內部邏輯結構、針對軟體界面和軟體功能進行測試。「黑盒」法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
黑盒測試也可以藉助一些工具,如WinRunner,QuickTestPro,Rational Robot等。
3 ALAC(Act-like-a-customer)測試
ALAC測試是一種基於客戶使用產品的知識開發出來的測試方法。ALAC測試是基於復雜的軟體產品有許多錯誤的原則。最大的受益者是用戶,缺陷查找和改正將針對哪些客戶最容易遇到的錯誤。
『肆』 軟體測試的基本標準是什麼
1)所有的測試都應追溯到用戶需求。
軟體測試的目標在於揭示錯誤。從用戶角度來看,最嚴重的錯誤是那些導致程序無法滿足需求的錯誤。
(2)應該在測試工作真正開始前的較長時間內就進行測試計劃。測試計劃可以在需求模型一完成就開始,詳細的測試用例定義可以在設計模型被確定後立即開始。因此,所有測試應該在任何代碼被產生前就進行計劃和設計。
(3)pareto原則:測試發現的錯誤中80%很可能起源於20%的模塊中。
當某個功能出問題,其對用戶的影響有多大?然後根據風險大小確定測試的優先順序。優先順序高的測試,優先得到執行,一般來講,針對用戶最常用的20%功能(優先順序高)的測試會得到完全執行,而低優先順序的測試(另外用戶不經常用的80%功能)就不是必要的,如果時間或經費不夠,就暫時不做或少做。
(4)測試無法顯示軟體潛在的缺陷,「測試只能證明軟體存在錯誤而不能證明軟體沒有錯誤」。最初的測試通常把焦點放在單個程序模塊上,進一步測試的焦點則轉向在集成的模塊簇中尋找錯誤,最後在整個系統中尋找錯誤。在測試中不可能運行路徑的每一種組合。然而,充分覆蓋程序邏輯,並確保程序設計中使用的所有條件是有可能的。
(5)應由獨立的第三方來構造測試。
第三方測試最大的特點在於它的專業性、獨立性、客觀性和公正性。
(6)充分注意測試中的群集現象。
測試後程序殘存的錯誤數目與該程序中已發現的錯誤數目或檢錯率成正比。不要在某個程序段中找到幾個錯誤就誤認為該程序段就沒有錯誤而不再測試,相反應該對錯誤群集的程序段進行重點測試。
(7)盡量避免測試的隨意性。
測試計劃應包括:所測軟體的功能,輸入和輸出,測試內容,各項測試的進度安排,資源要求,測試資料,測試工具,測試用例的選擇,測試的控制方法和過程,系統的配置方式,跟蹤規則,調試規則,以及回歸測試的規定等以及評價標准。
(8)兼顧合理的輸入和不合理的輸入數據。
(9)程序修改後要回歸測試
修改程序後,應該重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。
(10)應長期保留測試用例,直至系統廢棄。
妥善保存測試計劃,測試用例,出錯統計和最終分析報告,為維護等提供方便。
『伍』 軟體測試的方法有哪幾種
《全國計算機等級考試三級教程軟體測試》
目錄
第1章 軟體測試的基本概念
1.1 軟體質量的概念
1.1.1 軟體質量的定義
1.1.2 軟體質量的屬性
1.1.3 軟體質量模型
1.1.4 軟體質量的度量
1.1.5 影響軟體質量的主要因素
1.2 軟體測試的概念
1.2.1 軟體測試的定義與目的
1.2.2 軟體測試的原則
1.3 軟體的缺陷與錯誤
1.3.1 軟體缺陷的定義和類型
1.3.2 軟體缺陷的級別
1.3.3 軟體缺陷產生的原因
1.3.4 軟體缺陷的構成第1章 軟體測試的基本概念
1.1 軟體質量的概念
1.1.1 軟體質量的定義
1.1.2 軟體質量的屬性
1.1.3 軟體質量模型
1.1.4 軟體質量的度量
1.1.5 影響軟體質量的主要因素
1.2 軟體測試的概念
1.2.1 軟體測試的定義與目的
1.2.2 軟體測試的原則
1.3 軟體的缺陷與錯誤
1.3.1 軟體缺陷的定義和類型
1.3.2 軟體缺陷的級別
1.3.3 軟體缺陷產生的原因
1.3.4 軟體缺陷的構成
1.3.5 修復軟體缺陷的代價
1.4 軟體測試的經濟學與心理學
1.4.1 軟體測試的心理學
1.4.2 軟體測試的經濟學
1.5 軟體質量保證
1.5.1 軟體質量保證概要
1.5.2 軟體質量保證活動的實施
1.5.3 軟體的驗證與確認
1.5.4 驗證和確認任務分析
本章小結
第2章 軟體生存周期中測試的實施
2.1 軟體開發階段
2.1.1 軟體生存周期
2.1.2 軟體測試的生存周期模型
2.1.3 軟體測試過程模型
2.1.4 測試信息流
2.2 需求獲取與分析階段的測試
2.2.1 需求評審的實施
2.2.2 需求規格說明的評審
2.2.3 Wiegers 用例與需求評審表
2.2.4 基於原型的測試
2.2.5 基於需求的測試覆蓋率評估
2.3 設計階段的測試
2.3.1 設計的測試因素
2.3.2 設計評審的實施
2.3.3 設計規格說明的評審
2.3.4 設計元素的覆蓋原則
2.4 編程階段的測試
2.4.1 白盒測試與黑盒測試
2.4.2 源代碼的控制流覆蓋原則
2.4.3 源代碼的數據流覆蓋原則
2.4.4 源代碼的靜態分析與動態測試
2.5 運行和維護階段的測試
2.6 回歸測試
2.6.1 回歸測試的概念
2.6.2 回歸測試的類型
2.6.3 回歸測試的時機
2.6.4 回歸測試的實施
本章小結
第3章 代碼檢查、走查與評審
3.1 桌上檢查
3.1.1 桌上檢查的實施
3.1.2 桌上檢查的檢查表
3.2 代碼檢查
3.2.1 特定的角色和職責
3.2.2 代碼檢查的實施
3.2.3 用於代碼檢查的檢查表
3.3 走查
3.3.1 特定的角色和職責
3.3.2 走查的實施
3.3.3 走查中的靜態分析技術
3.4 同行評審
3.4.1 同行評審的角色和職責
3.4.2 同行評審的內容
3.4.3 評審的方法和技術
3.4.4 評審工作
本章小結
第4章 白盒測試
4.1 覆蓋率的概念
4.2 邏輯覆蓋
4.2.1 語句覆蓋與塊覆蓋
4.2.2 判定覆蓋(分支覆蓋)
4.2.3 條件覆蓋
4.2.4 條件/判定覆蓋
4.2.5 條件組合覆蓋
4.2.6 路徑覆蓋
4.2.7 ESTCA覆蓋
4.2.8 LCSAJ覆蓋
4.3 路徑測試
4.3.1 分支結構的路徑測試
4.3.2 循環結構的路徑測試
4.3.3 圈復雜度與基本路徑測試
4.4 數據流測試
4.4.1 定義∕使用測試的幾個定義
4.4.2 定義∕使用測試舉例
4.4.3 定義∕使用路徑測試覆蓋指標
4.5 基於覆蓋的測試用例選擇
4.5.1 覆蓋率的使用
4.5.2 使用最少的測試用例來達到覆蓋
4.6 程序插樁技術
4.6.1 程序插樁
4.6.2 用於測試覆蓋率的程序插樁
4.6.3 用於斷言檢測的程序插樁
4.6.4 用於數據流異常檢測的程序插樁
本章小結
第5章 黑盒測試
5.1 等價類測試
5.1.1 等價類的概念
5.1.2 等價類測試的原則
5.1.3 等價類方法測試用例設計舉例
5.2 邊界值分析
5.2.1 邊界值分析的概念
5.2.2 選擇測試用例的原則
5.2.3 邊界值方法測試用例設計舉例
5.3 基於判定表的測試
5.3.1 判定表的概念
5.3.2 基於判定表的測試用例設計舉例
5.4 基於因果圖的測試
5.4.1 因果圖的適用范圍
5.4.2 用因果圖生成測試用例
5.4.3 因果圖法測試用例設計舉例
5.5 基於狀態圖的測試
5.5.1 狀態圖
5.5.2 利用狀態轉換樹生成測試用例
5.5.3 利用狀態轉換表生成測試用例
5.6 基於功能圖的測試
5.6.1 功能圖
5.6.2 功能圖法設計測試用例舉例
5.7 基於用例和場景的測試
5.7.1 基本流和備選流
5.7.2 利用用例和場景設計測試用例的實例
5.8 基於有向圖的測試用例設計
5.8.1 使用基於有向圖的測試的場合
5.8.2 基於事務流建模設計測試用例
5.8.3 基於控制流建模設計測試用例
5.8.4 基於有向圖設計測試用例的過程
5.9 基於正交實驗設計法的測試
5.9.1 提取功能說明,構造因子/ 狀態表
5.9.2 加權篩選,生成因素分析表
5.9.3 利用正交表構造測試數據集
5.10 其他黑盒測試用例設計技術
本章小結
第6章 單元測試和集成測試
6.1 單元測試的基本概念
6.1.1 單元測試的定義
6.1.2 單元測試與集成測試、系統測試的區別
6.1.3 單元測試環境
6.2 單元測試策略
6.2.1 自頂向下的單元測試策略
6.2.2 自底向上的單元測試策略
6.2.3 孤立測試
6.2.4 綜合測試
6.3 單元測試分析
6.3.1 模塊介面
6.3.2 局部數據結構
6.3.3 獨立路徑
6.3.4 出錯處理
6.3.5 邊界條件
6.4 單元測試的測試用例設計原則
6.4.1 單元測試的測試用例設計步驟
6.4.2 單元測試中的白盒測試與黑盒測試
6.5 集成測試的基本概念
6.6 集成測試策略
6.6.1 基於分解的集成策略
6.6.2 基於功能的集成
6.6.3 基於路徑的集成
6.6.4 基於調用圖的集成
6.7 集成測試分析
6.7.1 體系結構分析
6.7.2 模塊單元分析
6.7.3 介面分析
6.7.4 風險分析
6.7.5 可測試性分析
6.7.6 集成測試策略分析
6.7.7 常見的集成測試故障
6.8 集成測試的測試用例設計原則
6.8.1 集成測試的測試用例設計步驟
6.8.2 場景測試
本章小結
第7章 系統測試
7.1 系統測試概念
7.2 系統測試的方法
7.2.1 功能測試
7.2.2 協議一致性測試
7.2.3 性能測試
7.2.4 壓力測試
7.2.5 容量測試
7.2.6 安全性測試
7.2.7 失效恢復測試
7.2.8 備份測試
7.2.9 GUI測試
7.2.10 健壯性測試
7.2.11 兼容性測試
7.2.12 可使用性測試
7.2.13 安裝測試
7.2.14 文檔測試
7.2.15 在線幫助測試
7.2.16 數據轉換測試
7.3 系統測試的實施
7.3.1 確認測試
7.3.2 α 測試和β測試
7.3.3 驗收測試
7.3.4 系統測試問題總結、分析
7.4 做好系統測試的原則
本章小結
第8章 軟體性能測試和可靠性測試
8.1 軟體性能測試的基本概念
8.1.1 軟體性能
8.1.2 軟體性能測試
8.2 軟體性能測試的執行
8.2.1 性能測試的過程與組織
8.2.2 性能分析
8.2.3 性能測試的自動化
8.3 軟體可靠性的概念
8.4 軟體可靠性測試的執行
8.4.1 軟體可靠性測試的過程
8.4.2 軟體可靠性預測
8.5 軟體故障數目的預測
8.6 軟體可靠性分析
本章小結
第9章 面向對象軟體的測試
9.1 面向對象軟體測試的問題
9.1.1 面向對象的基本特點引起的測試問題
9.1.2 面向對象程序的測試組織問題
9.2 面向對象軟體的測試模型及策略
9.3 面向對象程序的單元測試
9.3.1 方法層次的測試
9.3.2 類層次的測試
9.3.3 類樹層次的測試
9.4 面向對象軟體的集成測試
9.4.1 面向對象軟體的集成測試策略
9.4.2 針對類間連接的測試
9.4.3 面向對象軟體集成測試的UML支持
9.5 面向對象軟體的系統測試
本章小結
第10章 Web應用軟體測試
10.1 Web應用軟體的特點
10.1.1 Web應用軟體的概念
10.1.2 Web應用軟體的特點
10.1.3 Web應用軟體的基本結構
10.1.4 Web應用軟體的常用開發技術
10.2 應用伺服器的分類和特徵
10.2.1 三層和多層體系結構
10.2.2 應用伺服器的分類
10.2.3 應用伺服器對Web應用軟體測試的影響
10.3 Web 應用軟體的測試策略
10.3.1 表示層的測試
10.3.2 業務層的測試
10.3.3 數據層的測試
10.3.4 層間的集成測試
10.4 Web應用軟體的系統測試技術
10.4.1 功能測試
10.4.2 性能測試
10.4.3 易用性測試
10.4.4 內容測試
10.4.5 安全性測試
10.4.6 介面測試
10.5 基於資料庫的Web應用軟體的性能測試
10.6 Web應用軟體的系統安全檢測與防護
10.6.1 入侵檢測
10.6.2 漏洞掃描
10.6.3 安全策略
本章小結
第11章 其他測試
11.1 兼容性測試
11.1.1 硬體兼容性測試
11.1.2 軟體兼容性測試
11.1.3 數據兼容性測試
11.2 易用性測試
11.2.1 易安裝性測試
11.2.2 功能易用性測試
11.2.3 用戶界面測試
11.3 極限測試
11.3.1 極限編程基礎
11.3.2 極限測試
11.3.3 JUnit簡介
11.4 文檔測試
11.4.1 文檔測試的范圍
11.4.2 用戶文檔的內容
11.4.3 用戶文檔的測試
本章小結
第12章 軟體測試過程和管理
12.1 軟體測試過程
12.1.1 測試過程的概念
12.1.2 測試過程的抽象模型
12.1.3 測試階段中的測試活動
12.2 測試過程組織與管理
12.2.1 軟體測試過程管理的特點
12.2.2 軟體測試過程的人員組織
12.3 測試策劃管理
12.3.1 測試策劃的目標
12.3.2 測試需求分析
12.3.3 測試策略與測試方法
12.3.4 測試策劃工作流程
12.3.5 測試計劃的要點
12.4 測試設計與實現管理
12.4.1 軟體測試設計與實現主要內容
12.4.2 軟體測試設計與實現要點
12.4.3 測試用例的設計方法
12.4.4 測試用例的管理
12.4.5 測試開發
12.5 測試環境管理
12.5.1 測試環境的定義
12.5.2 測試環境是測試的基礎
12.5.3 測試環境的各要素
12.5.4 測試環境准備
12.6 測試執行管理
12.6.1 基於測試環境的測試用例執行
12.6.2 測試用例執行的記錄與跟蹤
12.6.3 軟體缺陷的跟蹤和管理
12.6.4 測試執行活動結束
12.7 測試質量分析
12.7.1 評估系統測試的覆蓋程度
12.7.2 軟體缺陷分析方法
12.8 測試總結管理
12.9 測試過程改進
12.9.1 軟體測試過程改進的概念
12.9.2 軟體測試過程改進的具體方法
本章小結
第13章 軟體自動化測試
13.1 自動化測試的原理與方法
13.2 自動化測試的限制
13.3 自動化測試用例的生成
13.3.1 腳本的作用、質量和編寫原則
13.3.2 腳本的基本結構
13.4 測試執行自動化
13.5 測試結果比較自動化
13.5.1 自動比較的基本概念
13.5.2 動態比較
13.5.3 執行後比較
13.6 基於STAF/STAX的自動化測試框架
13.7 測試工具的分類與選擇
13.7.1 測試工具的分類
13.7.2 測試工具的選擇
13.8 主流測試工具
13.8.1 主流單元測試工具
13.8.2 主流功能測試工具
13.8.3 主流負載測試工具
13.8.4 主流軟體測試管理工具
本章小結
第14章 軟體測試的標准和文檔
14.1 軟體測試的標准
14.1.1 軟體測試規范
14.1.2 軟體測試文檔編制規范
14.2 軟體測試文檔格式和模板
14.2.1 軟體測試文檔格式
14.2.2 軟體測試部分模板
本章小結
第15章 軟體測試實踐
15.1 軟體測試過程管理實踐
15.1.1 測試實踐中的測試過程類型
15.1.2 測試策劃實踐
15.1.3 測試設計與實現的實踐
15.1.4 測試執行實踐
15.1.5 測試總結實踐
15.1.6 QESuite Web 1.0 軟體測試過程管理平台實踐
15.2 白盒測試實踐
15.2.1 QESAT/C簡介
15.2.2 被測程序link.c說明
15.2.3 測試准備
15.2.4 靜態分析
15.2.5 動態測試
『陸』 軟體測試的流程是什麼
軟體測試工作流程:
1、需求分析、需求評審
需求分析和評審就是分析客戶的需求可不可行,需要怎麼進行測試。
2、編寫測試計劃
編寫測試計劃通俗一點講就是什麼人在什麼時間做什麼事,最後產出什麼東西。那也就是測試人員要測試哪些模塊、在什麼期限內,提交哪些文檔。
3、編寫測試用例、用例評審
測試用例就是指導測試的文檔,比如我們要測試商城登錄、買東西等功能,通過測試方法和策略設計測試用例。
評審就是評價審查,不能想當然該怎麼測。不能只是輸入正確的用戶名和密碼,能登錄進去就完事了。作為軟測工程師需要有破壞性,比如密碼輸錯時怎麼辦?會不會有相應的報錯等等?
4、執行測試、提交bug、回歸測試
Bug就是缺陷,發現bug之後,要提交給開發人員讓他們去修改,然後進行回歸測試,驗證開發人員有沒有改好。
5、編寫測試總結報告
Bug都改好了之後,要編寫測試總結報告,這款軟體的質量如何。
『柒』 軟體測試的目標和准則是什麼有哪些測試方法測試步驟有哪些
軟體測試的目的;在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估。
准則:對計算機軟體進行測試前,首先需遵循軟體測試原則,即不完全原則的遵守。不完全原則即為若測試不完全、測試過程中涉及免疫性原則的部分較多,可對軟體測試起到一定幫助。
因軟體測試因此類因素具有一定程度的免疫性,測試人員能夠完成的測試內容與其免疫性成正比,若想使軟體測試更為流暢、測試效果更為有效,首先需遵循此類原則,將此類原則貫穿整個開發流程,不斷進行測試,而並非一次性全程測試。
測試方法:
1、靜態測試方法
軟體代碼的靜態分析測驗,此類過程中應用數據較少,主要過程為通過軟體的靜態性測試(即人工推斷或計算機輔助測試)測試程序中運算方式、演算法的正確性,進而完成測試過程,此類測試的優點在於能夠消耗較短時間、較少資源完成對軟體、軟體代碼的測試,能夠較為明顯地發現此類代碼中出現的錯誤。
2、動態測試
計算機動態測試的主要目的為檢測軟體運行中出現的問題,較靜態測試方式相比,其被稱為動態的原因即為其測試方式主要依賴程序的運用,主要為檢測軟體中動態行為是否缺失、軟體運行效果是否良好。
3、黑盒測試
通過數據輸入觀察數據輸出,檢查軟體內部功能是否正常。測試展開時,數據輸入軟體中,等待數據輸出。數據輸出時若與預計數據一致,則證明該軟體通過測試,若數據與預計數據有出入,即便出入較小亦證明軟體程序內部出現問題,需盡快解決。
4、白盒測試
白盒測試相對於黑盒測試而言具有一定透明性,原理為根據軟體內部應用、源代碼等對產品內部工作過程進行調試。測試過程中常將其與軟體內部結構協同展開分析,最大優點即為其能夠有效解決軟體內部應用程序出現的問題,測試過程中常將其與黑盒測試方式結合,當測試軟體功能較多時,白盒測試法亦可對此類情況展開有效調試。
(7)面向錯誤軟體的測試方法是什麼擴展閱讀
軟體測試工具
開源測試管理工具:Bugfree、Bugzilla、TestLink、mantis zentaopms。
開源功能自動化測試工具:Watir、Selenium[1]、MaxQ、WebInject。
開源性能自動化測試工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator。
其他測試工具與框架:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
禪道測試管理工具:功能比較全面的測試管理工具,功能涵蓋軟體研發的全部生命周期,為軟體測試和產品研發提供一體化的解決方案。是一款優秀的國產開源測試管理工具。
Quality Center:基於Web的測試管理工具,可以組織和管理應用程序測試流程的所有階段,包括指定測試需求、計劃測試、執行測試和跟蹤缺陷。
QuickTest Professional:用於創建功能和回歸測試。
LoadRunner:預測系統行為和性能的負載測試工具。
國內免費軟體測試工具有:AutoRunner和TestCenter。
『捌』 軟體測試的方法有哪些
選擇培訓機構時就一定考慮到以下幾點:
1、課程選擇,不要只是簡單的學習功能測試,而是會涵蓋有現在流行的自動化測試、GUI測試,介面測試和性能測試開發等內容;
2、培訓機構的教學不僅僅是教會你做標準的軟體測試,而是要教你一些測試邏輯,教會你使用工具但又不依賴於這些工具也可以完成自動化測試,也就是其背後的底層的工作原理,這些東西才是真正能夠內化成屬於你個人的核心競爭力。
3、現在的移動互聯網企業對自動化測試的需求非常大,也會要求學員掌握程序設計的原理,所以測試開發性綜合性人才才是未來IT行業的需求方向。
4、一定要去參加試學,因為很多人目標不明確,甚至是迷茫的,所以去試學一周,看看自己是不是真的想做技術,或者適合做技術。
5、授課方式,有些是面授,有些是視頻授課,各有優點,就看自己喜歡哪種了。當然,線下面授的學費應該更高,畢竟成本在那裡,學習時有老師盯著,有同學陪著,能夠更快的進入學習的狀態,有更充足的鬥志。
『玖』 軟體測試的方法一共有幾種
1、從是否關心內部結構來看
(1)白盒測試:又稱為結構測試或邏輯驅動測試,是一種按照程序內部邏輯結構和編碼結構,設計測試數據並完成測試的一種測試方法。
(2)黑盒測試:又稱為數據驅動測試,把測試對象當做看不見的黑盒,在完全不考慮程序內部結構和處理過程的情況下,測試者僅依據程序功能的需求規范考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟體或程序的角度,從輸入數據與輸出數據的對應關系出發進行的測試。
(3)灰盒測試:是一種綜合測試法,它將「黑盒」測試與「白盒」測試結合在一起,是基於程序運行時的外部表現又結合內部邏輯結構來設計用例,執行程序並採集路徑執行信息和外部用戶介面結果的測試技術。
2、從是否執行代碼看
(1)靜態測試:指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、介面等來檢查程序的正確性。
(2)動態測試:是指通過運行被測程序,檢查運行結果與預期結果的差異,並分析運行效率、正確性和健壯性等性能指標。
3、從開發過程級別看
(1)單元測試:又稱模塊測試,是針對軟體設計的最小單位----程序模塊或功能模塊,進行正確性檢驗的測試工作。其目的在於檢驗程序各模塊是否存在各種差錯,是否能正確地實現了其功能,滿足其性能和介面要求。
(2)集成測試:又叫組裝測試或聯合,是單元測試的多級擴展,是在單元測試的基礎上進行的一種有序測試。旨在檢驗軟體單元之間的介面關系,以期望通過測試發現各軟體單元介面之間存在的問題,最終把經過測試的單元組成符合設計要求的軟體。
(3)系統測試:是為判斷系統是否符合要求而對集成的軟、硬體系統進行的測試活動、它是將已經集成好的軟體系統,作為基於整個計算機系統的一個元素,與計算機硬體、外設、某些支持軟體、人員、數據等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
在系統測試中,對於具體的測試類型有:
(1)功能測試:對軟體需求規格說明書中的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(2)性能測試:對軟體需求規格說明書的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(3)介面測試:對軟體需求規格說明中的介面需求逐項進行的測試。
(4)人機交互界面測試:對所有人機交互界面提供的操作和顯示界面進行的測試,以檢驗是否滿足用戶的需求。
(5)強度測試:強制軟體運行在異常乃至發生故障的情況下(設計的極限狀態到超出極限),驗證軟體可以運行到何種程序的測試。
(6)餘量測試:對軟體是否達到規格說明中要求的餘量的測試。
(7)安全性測試:檢驗軟體中已存在的安全性、安全保密性措施是否有效的測試,
(8)可靠性測試:在真實的或模擬的環境中,為做出軟體可靠性估計而對軟體進行的功能(其輸入覆蓋和環境覆蓋一般大於普通的功能測試)
(9)恢復性測試:對有恢復或重置功能的軟體的每一類導致恢復或重置的情況,逐一進行的測試。
(10)邊界測試:對軟體處在邊界或端點情況下運行狀態的測試。
(11)數據處理測試:對完成專門數據處理功能所進行的測試。
(12)安裝性測試:對安裝過程是否符合安裝規程的測試,以發現安裝過程中的錯誤。
(13)容量測試:檢驗軟體的能力最高能達到什麼程度的測試。
(14)互操作性測試:為驗證不同軟體之間的互操作能力而進行的測試。
(15)敏感性測試:為發現在有效輸入類中可能引起某種不穩定性或不正常處理的某些數據的組合而進行的測試。
(16)標准符合性測試:驗證軟體與相關國家標准或規范(如軍用標准、國家標准、行業標准及國際標准)一致性的測試。
(17)兼容性測試:驗證軟體在規定條件下與若干個實體共同使用或實現數據格式轉換時能滿足有關要求能力的測試。
(18)中文本地化測試:驗證軟體在不降低原有能力的條件下,處理中文能力的測試。
4、從執行過程是否需要人工干預來看
(1)手工測試:就是測試人員按照事先為覆蓋被測軟體需求而編寫的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個一個地輸 入執行,包括與被測軟體進行交互(如輸入測試數據、記錄測試結果等),然後觀察測試結果,看被測程序是否存在問題,或在執行過程中是否會有一場發生,屬於比較原始但是必須執行的一個步驟。
(2)自動化測試:實際上是將大量的重復性的測試工作交給計算機去完成,通常是使用自動化測試工具來模擬手動測試步驟,執行用某種程序設計語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預,由程序自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程序按照人工指定的要求完成自動測試)
5、從測試實施組織看
(1)開發測試:開發人員進行的測試
(2)用戶測試:用戶方進行的測試
(3)第三方測試:有別於開發人員或用戶進行的測試,由專業的第三方承擔的測試,目的是為了保證測試工作的客觀性
6、從測試所處的環境看
(1)阿爾法測試:是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的測試
(2)貝塔測試:是用戶公司組織各方面的典型終端用戶在日常工作中實際使用貝塔版本,並要求用戶報告
軟體測試的內容:
1 得到需求、功能設計、內部設計說書和其他必要的文檔
2 得到預算和進度要求
3 確定與項目有關的人員和他們的責任、對報告的要求、所需的標准和過程 ( 例如發行過程、變更過程、等等 )
4 確定應用軟體的高風險范圍,建立優先順序、確定測試所涉及的范圍和限制
5 確定測試的步驟和方法 ── 部件、集成、功能、系統、負載、可用性等各種測試
6 確定對測試環境的要求 ( 硬體、軟體、通信等 )
7 確定所需的測試用具 (testware) ,包括記錄 / 回放工具、覆蓋分析、測試跟蹤、問題 / 錯誤跟蹤、等等
8 確定對測試的輸入數據的要求
9 分配任務和任務負責人,以及所需的勞動力
10 設立大致的時間表、期限、和里程碑
11 確定輸入環境的類別、邊界值分析、錯誤類別
12 准備測試計劃文件和對計劃進行必要的回顧
13 准備白盒測試案例
14 對測試案例進行必要的回顧 / 調查 / 計劃
15 准備測試環境和測試用具,得到必需的用戶手冊 / 參考文件 / 結構指南 / 安裝指南,建立測試跟蹤過程,建立日誌和檔案、建立或得到測試輸入數據
16 得到並安裝軟體版本
17 進行測試
18 評估和報告結果
19 跟蹤問題 / 錯誤,並解決它
20 如果有必要,重新進行測試
21 在整個生命周期里維護和修改測試計劃、測試案例、測試環境、和測試用具