軟體測試的基本知識

2021-04-12 16:14:51 字數 2417 閱讀 9481

一、軟體測試的目的

第一是確認

軟體的質量(

最重要的目的),其一方面是確認軟體做了你所期望的事情(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.黑盒測試

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

黑盒測試的優點有:

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

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

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

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

5)在做軟體自動化測試時較為方便。

黑盒測試的缺點有:

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

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

2.白盒測試

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

hresult play( char* pszfilename )

if ( null == pszfilename )

return;

if ( state_opened == currentstate )

playthefile();

return;

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

白盒測試的缺點有:

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

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

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

三、軟體測試的型別

常見的軟體測試型別有:

bvt (build verification test)

bvt是在所有開發工程師都已經檢入自己的**,專案組編譯生成當天的版本之後進行,主要目的是驗證最新生成的軟體版本在功能上是否完整,主要的軟 件特性是否正確。如無大的問題,就可以進行相應的功能測試。bvt優點是時間短,驗證了軟體的基本功能。缺點是該種測試的覆蓋率很低。因為執行時間短,不 可能把所有的情況都測試到。

scenario tests(基於使用者實際應用場景的測試)

在做bvt、功能測試的時候,可能測試主要集中在某個模組,或比較分離的功能上。當使用者來使用這個應用程式的時候,各個模組是作為乙個整體來使用 的,那麼在做測試的時候,就需要模仿使用者這樣乙個真實的使用環境,即使用者會有哪些用法,會用這個應用程式做哪些事情,操作會是乙個怎樣的流程。加了這些測 試用例後,再與bvt、功能測試配合,就能使軟體整體都能符合使用者使用的要求。scenario tests優點是關注了使用者的需求,缺點是有時候難以真正模仿使用者真實的使用情況。

**oke test

在測試中發現問題,找到了乙個bug,然後開發人員會來修復這個bug。這時想知道這次修復是否真的解決了程式的bug,或者是否會對其它模組造成 影響,就需要針對此問題進行專門測試,這個過程就被稱為**oke test。在很多情況下,做**oke test是開發人員在試**決乙個問題的時候,造成了其它功能模組一系列的連鎖反應,原因可能是只集中考慮了一開始的那個問題,而忽略其它的問題,這就可 能引起了新的bug。**oke test優點是節省測試時間,防止build失敗。缺點是覆蓋率還是比較低。

軟體測試基本知識

軟體指的是電腦程式以及解釋和指導使用程式文件的總和。電腦程式由源程式和目標程式組成。源程式 用高階語言或者組合語言編寫的程式。目標程式 指的是源程式經編譯或者解釋加工以後可以有計算機直接執行的程式。1 1979年 軟體測試藝術 為了發現錯誤而執行程式或者系統的過程。2 1983年,ieee軟體工程標...

軟體測試基本知識

起源於上世紀70年代中期 測試資料選擇的原理 軟體測試的藝術 20世紀 80年代早期 軟體行業開始逐漸關注軟體產品質量,並在公司建 立的軟體質量保證部門 qa或 sqa軟體測試國內外現狀 國外軟體測試現狀 軟體測試在軟體公司中占有重要的地位 軟體測試理論研究蓬勃發展 軟體測試市場空前繁榮 國內軟體測...

測試基本知識

測試用例 功能,效能,介面,安全,易用 412教室 椅子 功能 效能 介面 安全 易用 軟體開發的流程 立項 說明該專案是做什麼的,要耗費多少資金,時間等資訊 產品說明書 對立項的詳細說明 需求文件 有些時候可能沒有產品說明書,而是使用需求文件 需求測試 開發人員,需求人員等在需求文件編寫完之後會對...