In the process of learning software testing, the concept of integration testing is exposed, and the general integration testing strategy is understood. Integration testing strategy concept is more abstract, after reviewing some of the data, in this detailed distinction between the various integration testing strategies.
Strategies for Integration testing
1) Big Bang Integration
Advantages: Integration testing can be completed quickly, and as long as a very small number of drivers and pile modules; Use cases are minimal; simple; high resource utilization
Disadvantage: A trial run is unlikely to succeed, problem positioning and modification is difficult, many interface errors are easy to avoid testing.
Suitable for a maintenance-type project or a small test system
2) top-down integration
Advantages: The main control and judgment points are verified earlier, and a complete software function can be realized and verified by the depth first, and the function is proven early, which brings confidence; only one driver is needed to reduce the cost of drive development; support fault isolation.
Disadvantage: The development of the column is large; the underlying validation is deferred; The underlying component is not tested adequately.
Adapt to the product control structure is relatively clear and stable; high-level interface changes are small, the underlying interface is undefined or often may be modified; The production control component has a large technical risk and needs to be verified as early as possible, and the system function behavior of the product should be seen early.
3) Bottom-up integration
Advantages: Early verification of the behavior of the underlying components;workIt can be integrated in parallel at first, which is more efficient than top-down, reduces the workload of piles, and supports fault isolation.
Disadvantage: The development of the driving workload is large, the verification of the high-level is postponed, design errors can not be found in time.
It is more stable to the bottom interface, and the high-level interface changes more frequently; The underlying component is completed earlier.
4) Sandwich Integration
Pros: The benefits of both top-down and bottom-up strategies are set
Cons: Middle tier testing is not sufficient
Adapt to most software development projects
5) Backbone Integration
Advantages: With the advantages of sandwich integration, it is more suitable for large complex project integration.
Disadvantage: The structure and interdependence of the system must be carefully analyzed, the driving and pile development is large, the strategy of the Big Bang is adopted locally, and some interfaces may not be adequately tested.
Commonly used in embedded systems
6) Tiered Integration
Adapted to systems with a clear hierarchy of relationships
7) function-based integration
Pros: Prioritize the correctness of key functions, reduce driver development, and make progress faster.
Disadvantage: The interface test is not sufficient, there is a large redundancy test.
8) Message-based integration
Pros: Prioritize the correctness of critical messages, reduce driver development, and make progress faster.
Disadvantage: The interface test is not sufficient, there is a large redundancy test.
9) Risk-based integration
Advantages: The most risky components are first validated to help the system to be fast and stable.
Cons: A clear analysis of the risks of each component is required.
10) Progress-based integration
Advantages: high degree of parallelism, can effectively shorten the project development progress.
Cons: Pile and drive workloads are large; some interfaces are not adequately tested; some tests are repetitive and wasteful.
The above strategy should be based on the actual situation to adopt, can also be combined use!
Software Test Learning Note Week 8---integration testing strategy