- Mastering Software Testing with JUnit 5
- Boni García
- 282字
- 2021-07-02 15:34:24
Integration testing
Integration testing should expose defects in the interfaces, and the interaction between integrated components or modules. There are different strategies for performing integration testing. These strategies describe the order in which units are to be integrated, presuming that the units have been separately tested. Examples of common integration strategies are the following:
- Top-down integration: This strategy starts with the main unit (module), that is, the root of the procedural tree. Any lower-level module that is called by the main unit should be substituted by a test double. Once testers are convinced that the main unit logic is correct, the stubs are gradually replaced with the actual code. This process is repeated for the rest of the lower-unit in the procedural tree. The main advantage of this approach is that defects are more easily found.
- Bottom-up integration: This strategy starts the testing process with the most elementary units. Larger subsystems are assembled from the tested components. The main advantage of this type is that test doubles are not needed.
- Ad hoc integration: The components are integrated in the natural order in which are finished. It allows an early testing of the system. Test doubles are usually required.
- Backbone integration: A skeleton of components is built and others are gradually integrated. The main disadvantage of this approach is the creation of the backbone, which can be labor-intensive.
Another strategy commonly referred in the literature is big-bang integration. In this strategy, testers wait until all or most of the units are developed e integrated. As a result, all the failures are found at the same time, making very difficult and time-consuming to correct the underlying faults. If possible, this strategy should be avoided.
推薦閱讀
- 在最好的年紀學Python:小學生趣味編程
- Python數(shù)據(jù)分析入門與實戰(zhàn)
- Java從入門到精通(第5版)
- 基于Java技術(shù)的Web應用開發(fā)
- Windows Server 2012 Unified Remote Access Planning and Deployment
- SharePoint Development with the SharePoint Framework
- iOS編程基礎:Swift、Xcode和Cocoa入門指南
- Java Web開發(fā)詳解
- Mastering Linux Security and Hardening
- Mastering C++ Multithreading
- 一本書講透Java線程:原理與實踐
- 區(qū)塊鏈技術(shù)進階與實戰(zhàn)(第2版)
- ActionScript 3.0從入門到精通(視頻實戰(zhàn)版)
- 3ds Max 2018從入門到精通
- 網(wǎng)絡綜合布線與組網(wǎng)實戰(zhàn)指南