Systems Integration Testing (SIT) and/or Shake-out Testing is an important element of each OSS transformation or implementation project. However, it’s a complex task to plan a SIT test, so we like to compare it to the design and construction of a high-rise building. 

Like SIT, constructing a high-rise building is a complex endeavour that involves different teams, skillsets and components. Naturally each component is a crucial part of the whole structure. The following list provides a high-rise perspective to each component that makes up shake-out testing.

Architectural Design

Architectural Design: The blueprint of the high-rise, drawn up by architects, is the plan-on-a-page that shows every element of the construction. It dictates where each part of the building should go and how each part should interact, much like the software solution architecture defines how different components (e.g. microservices) should interact and integrate. The overall solution architecture provides an important perspective for the purposes of SIT because it identifies all of the interfaces and integrations that need to be tested. The solution architecture also helps to identify the combinations that need to be considered when deciding how much test coverage is needed. It’s rarely viable to test every possible combination, so careful consideration must be applied when preparing a test plan and test cases.

Foundational Elements

Foundational Elements: The foundation of a building is similar to the basic software, cloud or hardware infrastructure that is required to support an OSS stack. This foundation must be adequately sized - strong enough to support all the other components of the building, just as the basic tech infrastructure must support all the higher-level software solutions. In the case of OSS, foundational elements are the compute, storage, networking and security to support OSS applications. It also includes shared services like identity management, access management and authorisation services, as well as mail relay (SMTP), synchronisation (NTP) and much more. All of these foundational elements need to be SIT tested to ensure the OSS operates as expected.

Individual Floors

Individual Floors: Every floor of a high-rise building can be seen as the separate software solutions that make up an OSS / BSS stack. Each floor of a building needs to be properly finished and furnished, it must also align with the overall design of the building and work with the other floors (e.g., alignment of plumbing and electrical systems, proper placement of stairs/elevators, correctly placed walls / doors / windows to divide into multiple tenancies). Similarly, each OSS / BSS tool must be uniquely configured for the needs of each user persona and / or tenant. However, it must also align with adjacent tools to ensure that end-to-end workflows transition seamlessly between applications. Whilst separate FAT and UAT (Factory Acceptance Testing and User Acceptance Testing) should generally ensure that the layout within each apartment is as expected, SIT ensures end-to-end workflows and usability are well aligned and configured.

Plumbing, Electrical and HVAC Systems

Plumbing, Electrical and HVAC Systems: These systems are much like the backend processes of a software system. Just as pipes, wires, and ducts need to be carefully laid out and tested to ensure they work well within the structure of the building and deliver necessary services to each floor, backend processes and data flows between OSS tools must be thoroughly tested for interoperability. SIT ensures that data flows are correctly integrated, with no fall-outs as data is handed between the APIs (Application Programmable Interfaces) on separate systems.

Elevators

Elevators: These can be likened to user interfaces (UIs). Just as elevators transport people and goods between floors, UIs allow people to go about their daily lives, facilitating activities, communication and data transfer between software solutions. They need to be SIT tested to ensure users can stop at the right floors / apartments - to navigate between applications intuitively, coherently and efficiently.

If any of these parts are constructed or installed in isolation without taking into account how they interact with the other parts, the resulting high-rise building could be dysfunctional or unsafe. Similarly, if different software solutions (often from different vendors) aren't tested together during SIT, it can result in issues like data inconsistencies / fallouts, workflow bottlenecks, or even overall system failures. This is why system integration testing (SIT) is a crucial part of the process of ensuring that the whole "building" (i.e., the integrated software system) functions as intended, providing an efficient and reliable user experience. 

System Integration Testing (SIT) in telco software development

One of the benefits of the SunVizion solution is that it is designed with modular integration in mind. Not only does SunVizion provide many different OSS and BSS modules pre-integrated, but it also adheres with industry standard interface techniques such as TM Forum’s OpenAPIs.