- 軟件自動化測試實戰解析:基于Python3編程語言
- 徐西寧編著
- 716字
- 2021-07-23 16:17:28
1.2.1 按測試對象的顆粒度劃分
軟件系統日趨復雜,但是再復雜的軟件也是由小的組件組合而成的,只有在確保小顆粒度的“零件”能正常工作的前提下,驗證更大顆粒度的“整體”才有意義。
按被測試對象的顆粒度劃分,測試可以大致分為三種類型:
·單元測試(Unit Testing)。
·集成測試(Integration Testing)。
·系統測試(System Testing)。
單元測試的顆粒度最小,它針對最小可測單元(通常是單個函數或者單個類)來驗證代碼邏輯的正確性,通常由開發工程師完成,也有一些團隊中由測試工程師完成或者由工程團隊合作完成。
單元測試只專注于模塊單元,不關注單元之間的交互。對于單元測試,通用的測試框架通常就足夠應對,工程團隊一般不會針對單元測試去單獨開發業務測試框架。
集成測試的顆粒度比單元測試更大,它一般針對已經通過單元測試的模塊,驗證它們之間的交互,確保這些單元模塊可以正確地協同工作。
集成測試比較靈活,它的顆粒度可以根據項目需要做相應的設計,可大可小,可以針對少數幾個緊密相關的單元模塊,也可以針對一個子系統中涉及的所有模塊。如果把這些模塊看作一個整體的話,它有自己的“邊界”,在這個邊界上,它需要一些來源產生它所需要的輸入,然后生成相應的輸出。我們需要模擬(mock)實際系統的輸入,才能在不依賴外部系統的情況下進行相對獨立的集成測試,讓軟件模塊的開發和測試得以并行進行。我們需要盡力保證模擬輸入的有效性,否則集成測試就沒有意義。
系統測試的顆粒度最大,它是在集成測試完成之后,測試人員模擬用戶實際使用場景對軟件的整體功能進行測試。在系統測試中,所有相關的功能模塊都已經就位,我們可以驗證軟件系統是否達到了設計預期。
系統測試是從用戶的角度去測試,它關注的是軟件整體功能是否和設計預期相符,不關注軟件的內部實現。
推薦閱讀
- INSTANT OpenCV Starter
- 程序設計與實踐(VB.NET)
- C#程序設計教程
- 精通Scrapy網絡爬蟲
- SAS數據統計分析與編程實踐
- CouchDB and PHP Web Development Beginner’s Guide
- Mastering RStudio:Develop,Communicate,and Collaborate with R
- Android Native Development Kit Cookbook
- Unity 5 for Android Essentials
- Internet of Things with ESP8266
- HoloLens與混合現實開發
- Java編程從入門到精通
- MyBatis 3源碼深度解析
- 你必須知道的.NET(第2版)
- 讓Python遇上Office:從編程入門到自動化辦公實踐