Software integration tests & integration strategy (2024)

Both IEC 62304 and the FDA require integration tests.

1. What are integration tests?

Definition: Integration test

In software development, integration tests are a sequence of individual tests with the objective of finding errors in the interaction of different, interdependent (and already tested) software components of a software system.

Source: Johner Institute, based on Wikipedia

Integration tests verify whether software components that use interfaces of other components, i. e. call its methods, properly handle their returns (return values, exceptions).

Software integration tests & integration strategy (1)

2. Why are integration tests necessary?

a) Improve the quality of the software

Integration tests, like all software tests, are intended to improve the quality of the software by finding errors. To do this, they check whether the interfaces of two or more software components (also called software modules or software units) fit together.

These integration tests are necessary, although professional software developers have already tested the public methods of all components. Because component, module, or unit tests are not sufficient in order to find errors in the interaction of these components. This shows the following example very drastically:

Software integration tests & integration strategy (2)

One spacecraft crashed even though all modules were fully tested. However, one module (component) used SI units and another IU (Imperial Units). That the two interfaces did not fit could have found integration tests.

b) Comply with regulatory requirements

Many standards require integration testing and set requirements for it. For example, IEC 62304 requires integration testing and a verification whether the selected integration test method is suitable.

IEC 62304 requirements for integration tests

IEC 62304 sets the following requirements for integration testing:

  • The existence of an integration plan
  • Integration testing according to the plan
  • Documentation of the integration tests
  • The initiation of the problem-solving process if errors are found.

Caution!

Many manufacturers do not meet the requirement of the problem resolution process. Instead, they modify the software until it behaves according to specifications. This corresponds neither to the requirements nor to the idea of IEC 62304.

Requirements of IEC 62304 for the evaluation of the integration test procedure

In addition, manufacturers must evaluate and ensure that the chosen integration test method is appropriate.

The manufacturer must evaluate the adequacy of the integration test procedure.

IEC 62304, Chapter 5.6.5

Since the 2015 version of IEC 62304, Section 5.6.5 has been worded somewhat more comprehensibly, as the term “verify” has been replaced by “evaluate” and the term “correctness” by “adequacy”.

It is, therefore, not a matter of reviewing the correct application of the test procedure but rather the suitability of the procedure.

What the authors of IEC 62304 mean by evaluation can also be derived from Annex B.5.6:

  • The integration strategy is suitable (see below).
  • The manufacturer has determined the correct and necessary test objectives, e.g., functional correctness, timing, and maintainability (for example, in terms of weak coupling).
  • The test procedure is suitable; this includes the methods to specify the test cases (see below).
  • The manufacturer has selected suitable tools, e.g., for creating stubs/mock objects to replace hardware and software components that are not (yet) available or are to be tested.

This evaluation of the test procedure is usually done by a review of the integration plan.

3. How to perform integration tests?

Step 1: Determine the objectives of the integration tests

The first step is to define the objectives of the integration tests. The taxonomy of ISO 25010 provides a good checklist for the completeness of these objectives.

The selection and prioritization of these objectives should be risk-based. For example, if the timing of the software is critical, it should be evaluated during integration testing.

Step 2: Determine the integration strategy

Determining the integration strategy is part of the test plan. Manufacturers should already determine the integration strategy as part of the software architecture. This determines the order in which the components are to be integrated. Typical representatives of integration strategies are:

  • Bottom-up strategy, which is popular with developers and requires many test- drivers
  • Top-down strategy, which allows an early impression of the final product and requires many mock objects
  • Big-bang strategy, which does not actually mean piecemeal integration at all but rather testing the entire system

In the bottom-up strategy, testers first test the hardware or operating system-related layers and then the higher layers (e.g., UI). This means that in the course of integration testing, they add the next higher layer each time, reviewing whether the test objectives are met.

Tip

In the Medical Device University, you will learn more integration strategies and how to meet the requirements of IEC 62304 (not only) for integration testing.

Step 3: Specify test cases

The specification of test cases is part of the test plan. In order to specify the test cases and, thus, the test data, manufacturers should use methods such as the black box methods. These help to systematically determine the test cases so that they find defects with a particularly high probability. This is what distinguishes good tests from bad ones.

The specification of the test cases also includes determining how the tests are to be carried out, documented, and their outputs evaluated.

Further information

Read more about blackbox testing techniques, such as equivalence class-based testing, and about software testing in general.

Step 4: Perform tests and log outputs

In order to perform the tests, the testers must develop mock objects or/and test drivers depending on the selected test strategy. With this, they perform the tests as intended in the test plan.

Software integration tests & integration strategy (3)

The documentation also includes an evaluation of the test result. In the event of an error, this documentation serves as input for the problem-resolution process.

4. What should you pay attention to?

a)Selection of the persons involved

In order to specify and perform integration tests, both programming experience and competence in software testing are required.

Software developers who have undergone further training to become software testers have this competence.

b) Correct timing

Manufacturers should not start software integration testing only when programming is complete. Instead, it is advisable to test the interaction of the available components following the integration plan from an early stage. In this way, errors can be found earlier and eliminated more easily.

During the maintenance phase, manufacturers should also perform the integration tests as regression tests. This way, they ensure that the changes do not reintroduce bugs that have already been fixed.

c)Compliance with regulatory requirements

IEC 62304 requires manufacturers to review, as part of the software release, whether the software integration tests have been performed as specified in the design and development respectively integration test plan. This assumes that these plans exist.

5. Conclusion & summary

Integration tests are an important instrument of software quality assurance.

The Johner Institute recommends that these tests be performed as a separate step and not together with the software system tests.

The integration tests help prove that the system can be assembled piece by piece from the components. This, in turn, confirms the desired weak coupling of the components and, thus, of a good architecture.

An architecture that fails to meet the “weak coupling and strong cohesion” paradigm becomes an architectural debt for manufacturers that becomes increasingly difficult to resolve. The expenditure for this “debt reduction” is a multiple higher than that for consistently accomplished integration tests.

Software integration tests & integration strategy (2024)

FAQs

What is integration strategy in software testing? ›

This testing strategy involves integrating modules one by one. You then verify that each module performs as expected until all components have been tested as a complete system. Breaking down the system into smaller parts ensures that issues can be found quickly, before advancing to further stages of development.

What is software integration strategy? ›

Software integration definition

It's the process of connecting software, typically using APIs, in order to facilitate a seamless exchange of data. These connections can be built across your internal systems or between your product and the applications your customers use. ‍

What are integration tests in software? ›

Integration testing is a type of software testing where components of the software are gradually integrated and then tested as a whole. Usually, these components are already working well individually. However, they may break when integrated with other components.

What are the four types of integration testing? ›

Common approaches to integration testing. Four key strategies to execute integration testing are big-bang, top-down, bottom-up and sandwich/hybrid testing. Each approach has benefits and drawbacks. Big-bang testing: The big-bang approach involves integrating all modules at once and testing them all as one unit.

What is an example of an integration strategy? ›

This strategy is also known as lateral integration. Some of the popular examples of horizontal integration include the acquisition of Compaq by HP; acquisition of Whatsapp by Facebook; Motorola by Google; Ola Cabs acquired TaxiforSure; takeover of Satyam by Mahindra.

What are the two basic integration strategies? ›

Horizontal integration and vertical integration are two different growth strategies that can help companies expand their business.

How do you create an integration strategy? ›

Seven steps to establish an effective integration solution strategy include linking integration to business outcomes, identifying typical scenarios, evaluating existing and new system integrations, understanding applicable interoperability standards, investing in an integration platform, ensuring the integration ...

What is software integration example? ›

Connect contact data with marketing software.

Take the last two, for example. You can integrate MailChimp and Shopify so that customer data flows freely between the software.

Which tool is used for integration testing? ›

SoapUI is a popular open-source tool used for testing web services, including SOAP and REST APIs. It is also commonly used as an integration testing tool with a user-friendly graphical interface that allows users to create test cases, define test steps, and configure test data easily.

Is API testing integration testing? ›

API integration testing is the process of testing your integration through making sure that every component of the integration will work as intended with the API. There are many components to integration testing, including the API authentication, pagination, rate limiting, and response bodies.

What is a real time example of integration testing? ›

But if different systems are tested in a combined way, then that will be integration testing. For example the fuel system may be tested in collaboration with an exhaust system, and later, these two module's working is tested in collaboration with the working of an engine. Now, this is integration testing.

What is API testing in software testing? ›

API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed at the message layer.

What is integration testing in agile methodology? ›

Integration testing is one of the agile methodologies of software testing where individual components or units of code are tested to validate interactions among different software system modules. In this process, these system components are either tested as a single group or organized iteratively.

What does an integration strategy do? ›

At its core, an integration strategy creates a cohesive framework that allows different business segments to function as a single, harmonious unit. This includes integrating internal processes and extending to how a company interacts with external entities such as suppliers, partners, and customers.

What is integration in QA? ›

Integration testing is a form of quality assurance with the goal being to ensure that different components of code work to their specified functional requirements. There are four common strategies to Integration testing: Big Bang, Top-Down, Bottom-Up, and Sandwich.

What is the integration strategy of Istqb? ›

A decision on how to put the pieces together is called the Integration Strategy. There are 3 strategies – Big Bang, Top Down Integration & Bottom Up Integration. If the modules are all integrated together in one shot, it is called Big Bang.

What is system integration strategy? ›

What is system integration strategy? A system integration strategy brings together technologies in a way that supports a professional services organization's business objectives. It allows you to integrate systems within a unique technology ecosystem to optimize your application stack.

References

Top Articles
Former Special Agent In Charge Of The New York FBI Counterintelligence Division Charged With Violating U.S. Sanctions On Russia
9 Common Gravely Zero Turn Lawn Mower Problems & Solutions
Aged Grimm Character Nyt Crossword
Antonym For Proton
Amazon Ups Drop Off Locations Near Me
Allegheny Clinic Primary Care North
Logo Variations - DreamWorks Animation
3472542504
Swap Shop Elberton Ga
Ravens 24X7 Forum
M&T Bank Atm Locations Near Me
Blackboard Utoledo
Ucf Net Price Calculator
Randolph Leader Obits
Tenkiller Dam Release Schedule
Post-Tribune Obits
Madison.ellee
Fisher-Cheney Funeral Home Obituaries
Kirksey's Mortuary Obituaries
Ashley Kolfa*ge Leaked
Truist Drive Through Hours
Arkansas Craigslist Cars For Sale By Owner
Joshua Efird Net Worth
Webcentral Cuny
Acnh Picnic Table
100000 Divided By 3
Ts Central Nj
Chicken Coop Brookhaven Ms
Broncos vs. Seahawks: How to Watch NFL Week 1 Online Today
Keanu Reeves cements his place in action genre with ‘John Wick: Chapter 4’
352-730-1982
Hubspot Community
Adult Theather Near Me
Alexis Drake Donation Request
Does Iherb Accept Ebt
Osrs Desert Heat
O'reilly's In Monroe Georgia
Exterior Ballistics Calculator
Taika Waititi Birth Chart
Star News Mugshots
Fighting Darius by Nicole Riddley - GALATEA
GW2 Fractured update patch notes 26th Nov 2013
Gregory (Five Nights at Freddy's)
Linkbuilding Specialist Amsterdam
Showbiz Waxahachie Bowling Hours
Hr Central Luxottica Benefits
Ultimate Guide to Los Alamos, CA: A Small Town Big On Flavor
Cambridge Assessor Database
Dragith Nurn Rs3
Synergy Grand Rapids Public Schools
Ap Bio Unit 2 Progress Check Mcq
Winta Zesu Net Worth
Latest Posts
Article information

Author: Rubie Ullrich

Last Updated:

Views: 5761

Rating: 4.1 / 5 (52 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Rubie Ullrich

Birthday: 1998-02-02

Address: 743 Stoltenberg Center, Genovevaville, NJ 59925-3119

Phone: +2202978377583

Job: Administration Engineer

Hobby: Surfing, Sailing, Listening to music, Web surfing, Kitesurfing, Geocaching, Backpacking

Introduction: My name is Rubie Ullrich, I am a enthusiastic, perfect, tender, vivacious, talented, famous, delightful person who loves writing and wants to share my knowledge and understanding with you.