軟件測試(原書第二版)讀書筆記(三)

第七章 帶上X光眼鏡測試軟件

動態白盒測試

1、由於是動態的,就一定是測試運行中的程序。由於是白盒,就一定要洞察盒子裏面,檢查代碼並觀察運行狀況。
2、動態白盒測試是指利用查看代碼功能(做什麼)和實現方法(怎麼做)得到的信息來確定哪些需要測試,哪些不需要測試,如何開展測試。到淘寶和測試也稱結構化測試。
3、動態白盒測試包括以下四個部分:

直接測試底層函數、過程、子程序和庫。
以完整程序的方式從頂層測試軟件。
從軟件獲得讀取變量和狀態信息的訪問權。
估算執行測試中“命中”的代碼量和具體代碼,然後調整測試,去掉多餘的測試用例,補充遺漏的用例。

4、動態白盒測試與調試是不同的。動態白盒測試的目標是尋找軟件缺陷調試的目標是修復缺陷。他們在隔離軟件缺陷的位置和原因上存在交叉現象。

分段測試

1、在底層進行的測試稱爲單元測試或者模塊測試。單元經過測試,底層軟件缺陷被找出並修復後,就集成在一起,對模塊組合進行集成測試。這個不斷增加的測試過程繼續進行,加入越來越多的軟件片段,直到整個產品在系統測試的過程中一起測試。

採取這種測試策略很容易隔離軟件缺陷。總的來說,測試和調試比一起測試所有的內容要有效。

2、這種遞增測試有兩種途徑:自底向上自頂向下
3、在自底向上測試中,要編寫稱爲測試驅動的模塊調用正在測試的模塊。

採取這種方式,可以對整個軟件進行全面的測試,爲它提供全部類型和數量的數據。

4、自頂向下測試有點像小規模的大爆炸測試。
5、單元測試用例
許多編譯器會提供一個把ASCII字符轉爲整數值的常用函數。
該函數接收一串帶正負號的數字或者空格、字母等特殊字符,講其轉換爲數值。
執行該操作的C語言函數是atoi(),表示“把ASCII字符轉換爲整數”。
如果作爲軟件測試員要對該模塊進行動態白盒測試,要怎麼做?

首先可以確定該模塊屬於程序中的底層模塊。合理的做法是編寫一個測試驅動以獨立與程序其他部分的形式測驗該模塊。
測試驅動將向atoi()函數發送創建好的測試字符串,讀取這些字符串的返回值,與預期結果相比較。
測試驅動可以有多種形式。
下一步要分析說明書,確定應該採用的黑盒測試用例,然後運用等價列劃分技術減少測試用例集合。
最後,研究代碼看函數是如何實現的,利用模塊的白盒知識增減測試用例。

在進行白盒測試前,一定要根據說明書建立黑盒測試用例。用這種方式可以真正測試模塊的功能和作用。如果先從模塊的白盒角度建立測試用例,檢查代碼,就會偏向於以模塊工作方式建立測試用例,可能不準確,因爲沒有測試預期的操作。

數據覆蓋

1、數據流覆蓋主要是指在軟件中完全跟蹤一批數據。
2、如果進行白盒測試,就需要仔細檢查代碼,找到次邊界條件,並建立能測試它們的測試用例。
3、公式和等式通常深藏於代碼中。
4、錯誤強制。如果執行在調試器中測試的程序,不僅能夠觀察到變量的值,還可以強制改變變量的值。

小心不要設置不可能出現的情況。比如在函數開頭檢查n值必須大於0,而且n值僅用於該公式中,那麼將n值設爲0,使程序失敗的測試用例就是非法的。

代碼覆蓋

1、爲了全面覆蓋,還必須測試程序的狀態以及程序流程,必須設法進入和退出每一個模塊,執行每一行代碼,進入軟件每一條邏輯和決策分支。這種類型叫代碼覆蓋測試。
2、代碼覆蓋測試是一種動態白盒測試。最簡單的形式是利用編譯環境的調試器通過單步執行程序查看代碼。
3、對於小程序或者單獨模塊,使用調試器一般就夠了。但是對大多數程序進行代碼覆蓋測試需要用到稱爲代碼覆蓋率分析器的專用工具。
4、代碼覆蓋最直接的形式是語句覆蓋或者代碼行覆蓋。
5、試圖覆蓋軟件中的所有路徑稱爲路徑覆蓋。路徑覆蓋最簡單的形式稱爲分支覆蓋測試。
6、條件覆蓋測試將分支語句的條件考慮在內。

小結

1、靜態黑盒測試是指檢查產品說明書,並在軟件編寫之前找出問題。
2、動態黑盒測試是指在不瞭解軟件如何工作的前提下進行測試。
3、靜態白盒測試是指通過正式審查和檢驗檢查代碼的細節。
4、動態白盒測試是指在看到軟件的工作方式時,根據獲得的信息對軟件進行測試。

第八章 配置測試

配置測試綜述

1、配置測試是指使用各種硬件來測試軟件運行的過程。
2、(1)分離配置缺陷(2)計算工作量

執行任務(計劃配置測試時的一般過程)

1、確定所需的硬件類型。
2、確定有哪些廠商的硬件、型號和驅動程序可用。
3、確定可能的硬件特性、模式和選項。
4、將確定後的硬件配置縮減爲可控制的範圍。
5、明確與硬件配置有關的軟件唯一特性。
6、設計在每一種配置中執行的測試用例。
7、在每種配置中執行測試。
8、反覆測試直到小組對結果滿意爲止。

獲得硬件

費用高昂措施:
1、只買可以或者經常使用的配置。
2、與硬件生產廠商聯繫,看他們是否能夠租借或者贈送某些硬件。
3、向全公司的人發送電子郵件,詢問辦公室或者家裏是否有什麼硬件,能否用來測試。
4、如果預算充足,就和項目經理一起與專業配置和兼容性測試實驗室聯繫外協測試。

第九章 兼容性測試

兼容性測試綜述

1、軟件兼容性測試是指檢查軟件之間是否能夠正確地交互和共享信息。

向後和向前兼容

1、向後兼容是指可以使用軟件的以前版本。
2、向前兼容是指可以使用軟件的未來版本。
3、文本文件是向前兼容和向後兼容的最簡單的示例。
4、測試平臺和軟件應用程序多個版本相互之間能夠正常工作可能是個艱鉅任務,也是一個運用等價劃分減少工作量的示例。

決定要選擇的程序的原則是:
1、流行程度
2、年頭
3、類型
4、生產廠商

標準和規範

1、高級/低級
2、低級標準比高級標準更重要

數據共享兼容性

1、寫得好的程序支持並遵守公開標準;允許用戶與其他軟件輕鬆互傳數據,這樣的程序可稱爲兼容性極好的產品。
2、程序之間最廣爲人知的數據傳輸方式是讀寫磁盤文件。嚴格遵守磁盤和文件格式的低級標準是實現此類共享的前提。

小結

1、對兼容軟件的所有可能選擇進行等價劃分,使其成爲可以控制的範圍。
2、研究適用於測試軟件的高級/低級標準和規範。
3、測試軟件程序之間不同的數據流動方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章