Digital Service Providers (DSPs) and Original Equipment Manufacturers (OEMs) often face challenges with evolving network technologies and frequent Customer Premises Equipment (CPE) upgrades that increase the roll-out time. In addition, the usage of multiple testing tools and automation frameworks results in increased complexities and dependency on experts.
DSPs today, must look beyond manual-based, tedious, and vendor-dependent testing methods and adopt a unified automation testing framework that can –
- Auto-learn the configuration of various network devices
- Provide a customizable solution to accelerate the development time with minimal effort
- Seamlessly integrate with DSPs’ test environments, test tools, and management systems to smoothly execute all test cases
This service assurance framework helps Digital Service Providers (DSPs) to proactively solve broadband performance issues and improve customer experience. The three-step process that enables DSPs in achieving improved serviceability is detailed below:
Figure-1 illustrates 3 key components of the unified automation framework.
- Test case processor – reduces the customization effort by building auto-discovery function and templatizing test cases for broadband residential services.
- Execution engine – enables faster processing using rapidly scalable logic.
- Further, the report or log generator helps to debug test result log to enable quicker troubleshooting.
How to build key components of a unified automation framework?
In this section, we will show you how to implement the unified automation framework and the key components that need to be built for enhancing the tester’s efficiency.
1. Test Case Processor
One of the major challenges in the traditional approach is that the testers have to repeat 100s of manual tests to cover all features and services which is a tedious and lengthy procedure.
Implementing the auto-discovery function helps the DSPs to learn their live network configuration, thus, reducing testing time and effort.
Following are the steps to build an efficient auto-discovery function –
- Use the ‘show run’ CLI command to gather the configuration features enabled on a device
- Use the ‘show’ CLI command to collect the status of each feature and capture the golden snapshot for comparison
- Run test cases from the execution engine and compare the current snapshot with the golden snapshot to identify issues (if any) and report the test results
Templatizing the test cases reduces customization effort for broadband residential services. It enables simple, reusable, and customizable test cases with reduced coding effort and easy enhancements.
Test case template should consist of finer details of the events like the title of the test case, description of the test case, device name, test procedure or action, description of the procedure, test case ID, device username & password, and type – test case/test step.
2. Execution Engine
Using rapidly scalable logic and auto-dumping feature, the execution engine reduces the turnaround time for broadband residential devices.
An efficient execution engine uses open-source Python packages to consume information from the core processor. It also uses SSH (Secure Shell Protocol) and Telnet logic to connect the devices, establish communication between devices/applications under test and test case parsing. It uses the test step, test snap, and test case (traditional) methods for test case execution.
- Test step: Executes the test case step by step, uses YAML events and actions-based validation commands
- Test snap: Captures snapshot of the session, pre- and-post-execution trigger to validate changes and device stability
- Test case (traditional): Automates traditional way of coding style of test cases to support backward compatibility
Using YAML events expedites test case execution. Following are the steps for efficient execution of events-
- Select events and execute them in a sequential manner
- Generate reports and logs based on pass/fail results
- Criteria based failure event handling leads to either continued execution or exit
3. Report or Log Generator
Report or log generator is customized as per the user needs to provide a one-stop view of summary of the test results along with configuring the test results in the form of logs with navigation links and providing clickable options for ease of analysis.
The contextual auto-dumping function within the report or log generator enables quicker troubleshooting which helps in 80% reduction in time to locate the failure. The indexing feature helps productive dispatches to a technician in real-time with fault location and guided recommendations.
In Conclusion
Implementing the above 3 components can help DSPs to reduce the time-to-market by 34%, save development time by 28%, save 35% of man-hours per release, and save execution time by 33%.
I thank my colleagues Rajesh Kumar – Senior Technical Lead, Padmapriya– Technical Lead, and Neha Sehgal – Manager, Strategic Insights for their valuable inputs in shaping up this article.
Read Next: Can technology fully substitute the use of physical books and notes?
About Author: Dhanasankar P Associate Director - Delivery, Prodapt Dhansankar is a proficient IT professional with 17+ years of hands-on experience in manual & automation testing and enterprise application development. His experience in design and product engineering resulted in many automation frameworks. His experience spans across telecom and life safety and he is a hands-on expert in tools such as Selenium, TestRunner, SoapUI, LoadRunner, and SilkPerformer. Dhansankar is associate director – delivery at Prodapt, a two-decade-old consulting & managed services provider, singularly focused on the Telecom, Entertainment and Technology companies that helps clients transform their IT, products, operations, and networks to meet their strategic objectives. Prodapt's business consultants enable DSPs on their transformation journey at several layers, including cloud, customer experience, business outcome-focused initiatives, CapEx, and OpEx optimization programs.