
In this blog post, we are going to discuss what automated integration testing is and how we exercise it at ng-voice. This blog will provide a brief overview of the usage of automated integration testing in an IMS architecture, possible challenges faced, and the benefits of using this method. The testing process can be time-consuming and resource-intensive, so we’ll explain how automated integration tests are used at ng-voice to effectively reduce the required time and resources while retaining the reliability and quality standards of our fully containerized and cloud-native voice solution.
Integration testing is an important aspect of testing a software product – our IMS solution in this case. Using software to perform such integration tests in an automated manner is called automated integration testing. It ensures that multiple independent components – possibly even developed by separate teams – each function as expected when combined with others to form a complete system. The primary objective of such a test is to verify the correctness of a component’s external interfaces. Specifically, in the context of IMS architectures, a large number of Call Flows must be covered with close attention to intricate technical details.
When it comes to testing an IMS (IP Multimedia Subsystem), using genuine handsets (UE, short for User Equipment) is the obvious choice. The goal of such tests is to ensure compatibility between the IMS and:

However, this approach to IMS solution comes with a couple of drawbacks, such as:
Even though the first two drawbacks can be remediated by using a handset simulator, the latter three still persist. To solve these challenges, ng-voice developed a platform for automatically testing one or multiple IMS components in isolation without using auxiliary components or emulators.
The concept behind this testing platform is to launch the component(s) to be tested and simulate all their immediate dependencies via entities we call User-Agent Mocks (see the diagram below). The purpose of a User-Agent Mock is similar to that of an emulator; both imitate the behavior of a real component for the purpose of testing. The major difference is that User-Agent Mocks can be configured to send arbitrary messages to the System Under Test (SUT), as well as validate incoming ones. Furthermore, all User-Agent Mocks are controlled by the testing platform itself, causing a test scenario to fail as soon as a message fails validation at any of them.

Testing one or multiple components in isolation before integrating them into a complete IMS (network) architecture yields the following benefits:
As an industry disruptor, we’re always looking at how to improve our solution and development processes to give our clients the best possible experience. Using automated integration tests aids us in these efforts by saving time and resources in the testing process, as well as helping us retain the excellent reliability and quality standards of our fully containerized and cloud-native IMS. To know more about our solution, get in touch with us and schedule a meeting.
Automated integration testing verifies that different IMS components work together correctly, without requiring manual intervention. It replaces repetitive, error-prone manual testing with automated scenarios that ensure reliability and compliance.
It typically relies on real handsets, EPC, and other IMS components, making it time-consuming, resource-intensive, and hard to troubleshoot. Manual execution can also delay release cycles and introduce inconsistencies.
Instead of depending on real components or emulators, ng-voice uses mock User-Agents to simulate dependencies. This allows components to be tested in isolation, ensuring early error detection and strict compliance checks.
Mock User-Agents are configurable entities that simulate IMS components, validating both incoming and outgoing messages. Unlike emulators, they can be controlled by the testing platform to enforce specification compliance and fail fast when errors occur.
Yes. Automating repetitive scenarios and isolating component-level issues allows developers to fix problems earlier, resulting in faster release cycles and more stable updates.
Handset testing has its place for end-to-end validation, but ng-voice’s platform significantly reduces reliance on it. This minimizes cost, speeds up testing, and makes results more predictable.
Yes. The platform supports detailed call flow scenarios, validating even intricate technical behaviors to ensure that services like VoLTE, VoNR, and VoWiFi perform seamlessly.
They get a more reliable, faster-evolving IMS solution that has been rigorously tested against specification compliance. This means fewer integration headaches and smoother deployment in real-world networks.
By using this website, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.