官术网_书友最值得收藏!

1.2.1 按測試對象的顆粒度劃分

軟件系統日趨復雜,但是再復雜的軟件也是由小的組件組合而成的,只有在確保小顆粒度的“零件”能正常工作的前提下,驗證更大顆粒度的“整體”才有意義。

按被測試對象的顆粒度劃分,測試可以大致分為三種類型:

·單元測試(Unit Testing)。

·集成測試(Integration Testing)。

·系統測試(System Testing)。

單元測試的顆粒度最小,它針對最小可測單元(通常是單個函數或者單個類)來驗證代碼邏輯的正確性,通常由開發工程師完成,也有一些團隊中由測試工程師完成或者由工程團隊合作完成。

單元測試只專注于模塊單元,不關注單元之間的交互。對于單元測試,通用的測試框架通常就足夠應對,工程團隊一般不會針對單元測試去單獨開發業務測試框架。

集成測試的顆粒度比單元測試更大,它一般針對已經通過單元測試的模塊,驗證它們之間的交互,確保這些單元模塊可以正確地協同工作。

集成測試比較靈活,它的顆粒度可以根據項目需要做相應的設計,可大可小,可以針對少數幾個緊密相關的單元模塊,也可以針對一個子系統中涉及的所有模塊。如果把這些模塊看作一個整體的話,它有自己的“邊界”,在這個邊界上,它需要一些來源產生它所需要的輸入,然后生成相應的輸出。我們需要模擬(mock)實際系統的輸入,才能在不依賴外部系統的情況下進行相對獨立的集成測試,讓軟件模塊的開發和測試得以并行進行。我們需要盡力保證模擬輸入的有效性,否則集成測試就沒有意義。

系統測試的顆粒度最大,它是在集成測試完成之后,測試人員模擬用戶實際使用場景對軟件的整體功能進行測試。在系統測試中,所有相關的功能模塊都已經就位,我們可以驗證軟件系統是否達到了設計預期。

系統測試是從用戶的角度去測試,它關注的是軟件整體功能是否和設計預期相符,不關注軟件的內部實現。

主站蜘蛛池模板: 郯城县| 曲沃县| 河曲县| 扶风县| 图片| 泉州市| 翁源县| 甘肃省| 康马县| 泾川县| 阳高县| 盱眙县| 三河市| 曲水县| 尖扎县| 岳阳市| 乐平市| 宁晋县| 西安市| 利辛县| 北安市| 黔南| 夹江县| 洞头县| 丰镇市| 大连市| 天等县| 铁力市| 绿春县| 德清县| 广东省| 英吉沙县| 萍乡市| 纳雍县| 赤峰市| 卢湾区| 额尔古纳市| 理塘县| 平遥县| 沽源县| 弥勒县|