- 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.
推薦閱讀
- HTML5+CSS3+JavaScript從入門到精通:上冊(微課精編版·第2版)
- 高手是如何做產品設計的(全2冊)
- MongoDB for Java Developers
- Java編程指南:基礎知識、類庫應用及案例設計
- Vue.js 3.0源碼解析(微課視頻版)
- INSTANT Weka How-to
- Instant Typeahead.js
- PLC編程及應用實戰
- Visual C#通用范例開發金典
- Python語言實用教程
- Learning Node.js for .NET Developers
- JavaScript程序設計(第2版)
- Scala編程實戰
- 網絡數據采集技術:Java網絡爬蟲實戰
- MySQL數據庫應用實戰教程(慕課版)