軟體工程基礎學習之軟體測試型別 軟體維護

2021-12-30 01:31:34 字數 2047 閱讀 5984

五、測試的型別

軟體測試分為兩大類:動態測試和靜態測試。

1.動態測試:

動態測試指通過執行程式發現錯誤,分為:

*黑盒測試法

黑盒測試又稱為功能測試或資料驅動測試。把被測試物件看成乙個黑盒子,測試人員完全不考慮程式的內部結構和處理過程,只在軟體的介面處進行測試,依據需求規格說明書,檢查程式是否滿足功能要求。

常用的黑盒測試用例的設計方法:

*等價類劃分

*邊界值分析

*錯誤推測

*因果圖

*白盒測試法

又稱機構測試,透明盒測、邏輯驅動測試或基於**的測試。把測試物件看做乙個開啟的盒子,測試人員必須了解程式的內部結構和處理過程,已檢查處理過程的細節為基礎,對程式中盡可能多的邏輯路徑進行測試,檢驗內部控制結構和資料結構是否有錯,實際的執行狀態與預期的狀態是否一致。

常用的白盒測試用例設計方法有:

語句覆蓋,判定覆蓋、條件覆蓋、條件判定覆蓋、條件組合覆蓋、路徑覆蓋等。發現錯誤的能力呈由弱至強的變化。

*語句覆蓋每條語句至少執行一次。

*判定覆蓋每個判定的每個分支至少執行一次。

*條件覆蓋每個判定的每個條件應取到各種可能的值。

*判定/條件覆蓋同時滿租足判定覆蓋條件覆蓋,

*條件組合覆蓋每個判定中個條件的每一種組合後至少出現一次。

*路徑覆蓋使程式中每一條可能的路徑至少執行一次。

*灰盒測試法

灰盒測試是一種介於白盒測試與黑盒測試之間的測試,它關注輸出堆輸入的正確性,同時也關注內部表現,但這種關注不像白盒測試那樣詳細且完整,而只是通過一些表徵性的現象、事件及標誌來判斷程式內部的執行狀態。

灰盒測試結合了白盒測試和黑盒測試的要素,考慮了使用者端、特定的系統知識和操作環境,在系統元件的協同性環境中評價應用軟體的設計。

2.靜態測試:

靜態測試指被測試程式不在機器上執行,二採用人工檢測和計算機輔助靜態分析的手段對程式進行檢測。

靜態分析中進行人工測試的主要方法:

*桌前檢查(desk checking)

由程式設計師自己檢查自己編寫的程式。程式設計師在程式通過編譯之後,進行單元測試設計之前,對源程式**進行分析、檢驗、並補充相關的文件,目的是發現程式中的錯誤。

***審查

**審查是由若干程式設計師和測試員組成乙個會審小組,通過閱讀、討論和爭議,對程式進行靜態分析的過程。**審查分為兩步。

*第一步,小組負責人提前把設計規格說明書、控制流程圖、程式文字及有關要求、規範等分發給小組成員,作為評審的依據。小組成員充分閱讀這些材料。

*第二部,召開程式審查會。在會上,首先由程式設計師逐句講解程式的邏輯。在此過程中,程式設計師或其他小組成員可以提出問題,展開討論,審查錯誤是否存在。

***走查

**走查與**審查基本相同,其過程也分為兩步。

*第一步,把材料發給走查小組成員,認真研究程式,再開會。

*第二步,開會的程式與**會審不同,不是簡單地讀程式和對照錯誤檢測表進行檢查,而是讓與會者「充當」計算機。讓測試用例沿程式的邏輯執行一遍,隨時記錄程式的蹤跡,供分析和討論使用。資料標準化、資料命名合理、檔案格式轉換、資料庫格式轉換等。

三、軟體維護

軟體可維護性是指維護人員對該軟體進行維護的難易程度,具體包括理解、改正、改動和改進軟體的難易程度、

衡量程式可維護性的因素:可理解性、可測試性和可修改性等。

軟體維護佔整個軟體生命週期的60%~80%,維護的型別有:

(1)改正性維護

是指改正在系統開發階段已發生而系統測試階段尚未發現的錯誤。

(2)適應性維護

是指使用軟體適應資訊科技變化和管理需求變化而進行的修改。

(3)完善性維護

是為了擴充功能和改善效能而進行的修改,主要是指對已有的軟體系統增加一些在系統分析和設計階段中沒有規定的功能與效能特徵。

(4)預防性維護

為了改進應用軟體和可靠性和可維護性,為了適應為了的軟硬體環境的變化,應主動增加與預防性的新的功能,以使應用系統適應各類變化而不被淘汰。

影響維護工作量的因素主要有:

*系統的代銷

*程式語言

*系統年齡

*資料庫技術的應用

*先進的軟體開發技術

軟體工程 軟體測試之黑盒測試

黑盒測試是測試中重要的乙個環節,但是過多書籍都是長篇大論,看起來很糟糕。今天對於黑盒,我決定借助乙個例子詳細解析下黑盒的奧秘。一起來吧!首先,我們要明白幾個概念 1 有效等價類 對程式規格說明來說合理,有意義的輸入資料。可用此類檢查規格說明中定義的功能和效能。2 無效等價類 與有效等價類相反的定義。...

軟體工程 軟體測試

本階段,軟體測試中,分為兩個方面1.軟體測試,也就是發現問題的過程。2.軟體除錯,也就是糾正問題的過程。下面是本階段的總結 軟體測試的目的簡單的說是發現錯誤,具體的描述 1.測試是軟體的執行過程,目的是發現錯誤。2.乙個好的測試用例在於發現至今未發現的錯誤。3.乙個成功的測試是發現了至今未發現的錯誤...

軟體工程 軟體測試

我也經歷過幾次師哥師姐的測試工作,當時並沒有多少感覺。自己的機房呢那幾乎每天都在除錯錯誤,自己經歷的只是一小部分就能感覺到它的複雜和重要。軟體測試在程式設計師對每乙個模組的編碼之後先做程式測試,在做單元測試,然後在進行整合測試,系統測試,驗收測試,平行測試,人工測試,測試橫跨開發與測試兩個階段,又有...