軟體測試談(一)

2021-04-12 22:33:46 字數 2322 閱讀 8855

一、軟體測試概述

軟體測試是軟體開發過程的重要組成部分,是用來確認乙個程式的品質或效能是否符合開發之前所提出的一些要求。軟體測試的目的,第一是確認軟體的質量,其一方面是確認軟體做了你所期望的事情(do the right thing),另一方面是確認軟體以正確的方式來做了這個事件(do it right)。第二是提供資訊,比如提供給開發人員或程式經理的反饋資訊,為風險評估所準備的資訊。第三軟體測試不僅是在測試軟體產品的本身,而且還包括軟體開發的過程。如果乙個軟體產品開發完成之後發現了很多問題,這說明此軟體開發過程很可能是有缺陷的。因此軟體測試的第三個目的是保證整個軟體開發過程是高質量的。

軟體質量是由幾個方面來衡量的:一、在正確的時間用正確的的方法把乙個

工作

做正確(doing the right things right at the right time.)。二、符合一些應用標準的要求,比如不同國家的使用者不同的操作習慣和要求,專案工程中的可維護性、可測試性等要求。三、質量本身就是軟體達到了最開始所設定的要求,而**的優美或精巧的技巧並不代表軟體的高質量(quality is defined as conformance to requirements, not as 「goodness」 or 「elegance」.)。四、質量也代表著它符合客戶的需要(quality also means 「meet customer needs」.)。作為軟體測試這個行業,最重要的一件事就是從客戶的需求出發,從客戶的角度去看產品,客戶會怎麼去使用這個產品,使用過程中會遇到什麼樣的問題。只有這些問題都解決了,軟體產品的質量才可以說是上去了。

測試人員在軟體開發過程中的任務:

1、尋找bug;

2、避免軟體開發過程中的缺陷;

3、衡量軟體的品質;

4、關注使用者的需求。

總的目標是:確保軟體的質量。

二、常用的軟體測試方法

1. 黑盒測試

黑盒測試顧名思義就是將被測系統看成乙個黑盒,從外界取得輸入,然後再輸出。整個測試基於需求文件,看是否能滿足需求文件中的所有要求。黑盒測試要求測試者在測試時不能使用與被測系統內部結構相關的知識或經驗,它適用於對系統的功能進行測試。

黑盒測試的優點有:

1)比較簡單,不需要了解程式內部的**及實現;

2)與軟體的內部實現無關;

3)從使用者角度出發,能很容易的知道使用者會用到哪些功能,會遇到哪些問題;

4)基於軟體開發文件,所以也能知道軟體實現了文件中的哪些功能;

5)在做

軟體自動化測試

時較為方便。

黑盒測試的缺點有:

1)不可能覆蓋所有的**,覆蓋率較低,大概只能達到總**量的30%;

2)自動化測試的復用性較低。

2. 白盒測試

白盒測試是指在測試時能夠了解被測物件的結構,可以查閱被測**內容的測試工作。它需要知道程式內部的設計結構及具體的**實現,並以此為基礎來設計

測試用例

。如下例程式**:

hresult play( char* pszfilename )

return;

}白盒測試的直接好處就是知道所設計的測試用例在**級上哪些地方被忽略掉,它的優點是幫助軟體測試人員增大**的覆蓋率,提高**的質量,發現**中隱藏的問題。

白盒測試的缺點有:

1)程式執行會有很多不同的路徑,不可能測試所有的執行路徑;

2)測試基於**,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一些功能需求;

3)系統龐大時,測試開銷會非常大。

3. 基於風險的測試

基於風險的測試是指評估測試的優先順序,先做高優先順序的測試,如果時間或精力不夠,低優先順序的測試可以暫時先不做。有如下乙個圖,橫軸代表影響,豎軸代表概率,根據乙個軟體的特點來確定:如果乙個功能出了問題,它對整個產品的影響有多大,這個功能出問題的概率有多大?如果出問題的概率很大,出了問題對整個產品的影響也很大,那麼在測試時就一定要覆蓋到。對於乙個使用者很少用到的功能,出問題的概率很小,就算出了問題的影響也不是很大,那麼如果時間比較緊的話,就可以考慮不測試。

基於風險測試的兩個決定因素就是:該功能出問題對使用者的影響有多大,出問題的概率有多大。其它一些影響因素還有複雜性、可用性、依賴性、可修改性等。測試人員主要根據事情的輕重緩急來決定測試工作的重點。

2007.3.25

12:12

也談軟體測試地位

如果從理論,也就是講道理的角度去說服他人要重視測試 提高測試的地位,這純屬於扯淡的行徑,不要對這種做法抱希望。理由 1 測試本身不創造直接利潤。當然除了銷售直接創造利潤外,其它崗位都是消費崗。2 個人理解測試本身屬於支撐 服務角色 測試階段起主導作用 相對於開發人員直接 創造 了軟體來講,測試是默默...

談軟體測試人員定位 三年軟體測試總結

因為一直從事web產品的測試,我的觀點並不一定適合所有的型別專案。工作已將近三年了,雖然這三個年頭裡我都在積極的學習著與測試相關的技術 但是能沉澱的東西很少。相信測試同學都有類似的感覺。不要為了測試而測試 前幾天做了乙個測試的ppt 就是講專案中要用到的測試技術,總結了半天其實實際的產品中沒什麼技術...

也談「敏捷測試」 《全程軟體測試》試讀

最近一段時間,敏捷測試 成為了乙個熱門詞彙,我的朋友 包括學生也會來問我,什麼是敏捷測試?究其原因大概是因為敏捷開發這一概念的火熱。看了朱老師這本書的試讀章節,讓我也對敏捷測試有了更深一步的了解,那麼我也順著試讀中的內容,以我第一次開展的 敏捷測試 做乙個簡單闡述。第一次開展敏捷測試是在我剛進入測試...