system integration testing checklist
January 20, 2020

System Integration Test Plan (SIT Testing) Checklist

Test Management

An enterprise system integration testing (SIT) project is challenging, especially if you’re new to the process. It typically involves stakeholders and subject matter experts from multiple departments. Each part of the system generally has its own team and is developed and tested separately.

 

Back to top

What is "SIT Testing?"

System integration testing (referred to by some as SIT Testing) is the complete testing of all the components within an entire system. It verifies that all subsystems work appropriately in coordination with each other.

Image Embedded Systems eBook Version Everything

 

Whether you're adopting a new electronic health record (EHR) solution in a hospital, or replacing the billing system behind your online commerce site, a key set of best practices can help your team avoid common challenges and conduct a successful system integration test every time.

⏱️ Is test case management eating up too much of your time? Read the blog: 
4 Reasons Why Software Testers Struggle (and How to Fix Them) >>

 

Back to top

7 Steps to Include in a System Integration Test Plan

This checklist of seven steps you should include in your SIT plan will help you establish best practices for system integration testing.

1. Create a Test Environment That Matches Your Production Environment

Testing in the production environment itself can create numerous problems. Even making minor changes can lead to crashes, critical module failures, and database corruption.

So you need to create a separate test environment that mirrors the production system. This gives you more control and allows you to make adjustments without taking the production system down while you make changes.

What’s most important about the test environment is that is stays the same as production. Therefore, whenever you update the production environment, make it protocol to update the test environment, too.
 

2. Identify Data In/Expected Data Out

Poorly written or vague test cases won’t help you validate system requirements. You can only know if a SIT is successful by identifying what output to expect from the test data being input.

For example, if you’re testing the integration of a hospital billing system, you need to know what billing statement should be generated by inputting test data, “Adult, age 50, no insurance, appendectomy.”

Specific expectations generate good test data. And this also positions you to be able to automate basic regression tests and drive test harnesses.

Write better tests, get better test coverage -- and tie results back to requirements. See how Helix ALM makes it easy.

👀 Watch the demo

3. Have a Reset

Along with good test data, you want to be able to reset the test systems to some known starting point. If you can control the starting conditions, issues are more likely to be reproducible.

Some examples of performing a reset include:

  • Resetting a virtual machine.
  • Dropping database tables and running create-and-load scripts.
  • Deleting directories and their contents from servers, and restoring files from a source code control system.


4. Establish a Common Repository

Repositories give a system-wide view of issues and production readiness. By making a common repository available to all SIT participants, all teams are able to see up-to-date information. Individual issues can be seen within the context of other issues­ — which are visible across teams and easy to reassign for investigation and resolution.

To communicate information most effectively, the following should be included in your repository documentation:

  • A brief description of the issue.
  • Who found the issue, and when.
  • Steps to reproduce (steps from the test case or the specific actions and data that resulted in the issue).
  • Affected component or subsystem.
  • Who is currently responsible for issue resolution.
  • Issue status (open, blocked, in progress, resolved).
  • Fix priority.
  • Environment and build information.
     

5. Define an Issue Triage Process

An effective triage process can save you many headaches. And it includes a triage schedule, identifies the team member who owns triage, and lists all participants.

These elements will help you balance the demands of decision makers, ensure high priority issues are fixed first, resolve priority conflicts, and maintain a history of issues fixed for a release.

This is how a triage process can provide a flexible, group-based approach to issue prioritization:

  • Decision-makers can quickly find issues and assign a priority.
  • Moderators can view priority conflicts and resolve them with the appropriate decision makers.
  • All team members will have a clearer picture of the work to complete before a product release, which helps ensure high priority issues are fixed first.
     

6. Establish a Communication Plan

A plan for communicating between teams is a good idea in any scenario, but it’s critical if your testing team includes remote, temporary, or inexperienced testers.

At the very least, your communication plan should ensure that testing is conducted in the right order. Identify how testers will be notified when their part is ready for testing, and how the team will manage handoff notifications.

If you have inexperienced testers, you can avoid bottlenecks if you also answer basic questions. If this is the case, address these questions in your plan:

  • How do I know what to test?
  • How do I let you know how it went?
  • What do I do if it doesn’t work?
  • Who do I notify, and how (call, email, IM, etc.)?
  • Where do I save my results?


7. Simplify Reporting

As deadlines approach, you’re expected to deliver results. If you don’t have proper reports set up, it can take a lot of time to answer a simple question like, “How did testing go today?”

Automated reporting is the most efficient way to show what you did and how it went. That way you don’t have to track down information that management needs. Examples of reports you’d want to automate include:

  • A list of the highest risk items.
  • The number of tests run that day.
  • The number of tests that have passed or failed.
  • The number of tests left to be run.
  • A breakdown by system, to identify what modules are causing trouble.

Need to go Agile? Read the white paper: 
Agile Development Methodologies for Testers >>

Back to top

Easier System Integration Testing

A test management solution enables more consistent, accurate, and efficient system integration testing. Helix ALM's dedicated test case management module automates alerts, notifications, reporting, and other project-critical communications to improve your testing efficiency and visibility. It also centralizes all of your requirements and test management information so it’s easy to access and update. And it’s powerful enough for even the most complex system integration testing.

With Helix ALM, you can be sure all of your requirements are thoroughly tested. And you'll be able to report on test status quickly and effectively — at any time.

You can try Helix ALM free for 30 days to see why it's the best tool to streamline and simplify system integration testing. Or, watch this demo of Helix ALM to see exactly how it:

  • Automates traceability.
  • Lets you easily configure any type of workflow.
  • Automatically traces test cases back to requirements.
  • Accommodates FMEA, ASIL, Hazard Analysis, and more with built-in risk tracking.

▶️ WATCH A DEMO 

 

Back to top

Need to do more than SIT? Check out:

📘 How to Do Smoke Tests

📘 How to Write Test Cases Well — With Examples

📘 AI Testing and Machine Learning in Software Testing

Back to top