With the goal of accelerating the adoption of new technologies without affecting business continuity, the journey of digital transformation in organizations increases the pressure for automation at all stages of the software development lifecycle.
One of the most commonly squeezed steps for reducing time and cost is software testing. For traditional development models, studies indicate that about 32% of the time between the design and the entry into production of a feature is spent on software testing. Therefore, automating this process to the maximum is a guideline at all times.
Even for major exponents of the software development world, such as SAP, this reality is no different. Test automation plays a key role in enabling the deployment of agile development mats (CI / CD) and DevOps on this platform and can get the new functionality to come into production in the shortest time possible.
However, some problems prevent the deployment of large-scale test automation solutions:
SAP Functional Knowledge
With the lack of functional analysts to perform the tests, the coverage of the tests is often impaired. Specific business cases may be left out of the test due to lack of functional knowledge in modules and business processes.
Mass of Data
Creating mass data to allow you to test specific situations is also a great challenge for teams. Although there are several solutions for copying or subsetting production data, finding the mass of tests and maintaining this valid mass remains one of the great challenges of the tests carried out in the SAP platform.
Integrations with legacy systems
For the vast majority of SAP implementations on the market, integration with other systems is a major source of defects. New implementations at either end require a new series of functional tests on the platform, to ensure the correct functionality of the functionality.
Maintenance of Test Automation Scripts
Because test automation uses the system components, every time these components change it becomes necessary to update the automation scripts. Therefore, systems that have a high degree of update / evolution (and consequently need a greater coverage of tests) demand a higher percentage of maintenance of these scripts.
Given this scenario, it is the main question that this article proposes to answer:
How can we implement a continuous testing framework for SAP?
The solution to this response involves the implementation of a tool called Testimony from Basis Technologies.
Instead of running scripts based on automated scripts, the Testimony tool creates tests based on the capture of production transactions. This technique allows for 100% automated and continuous regression testing.
Truth?! How it works?
- Discover: In the first phase, a listener is installed in production. It uses SAP’s own technology framework to capture transactions.
- Learn: All transactions, data and integrations performed by SAP in a given period are captured, classified and prioritized as they are used. At this stage, you can use dozens of filters to capture only parts of the transactions, if desired.
- Setup: At the time of testing, a new virtualized environment is created exclusively for this round. Captured production data is copied to the test environment. Legacy system integrations are virtualized as captured inputs and outputs. Finally, a merge is made between the changes made by the development team and the version of the application that is in production.
- Validate: To validate if the system continues to run, the tool re-executes all selected transactions (10% to 15% of the production runtime) in the new unique testing environment (which has all the data and virtualized integrations required to the tests) and points out the differences between the result obtained in the production and the result of the tests.
Wow!! That sounds pretty cool! Can I use in which cases?
- Upgrades / Updates: SAP updates are great scenarios for using the continuous testing paradigm to validate whether business modules and processes continue to function properly.
- Migrations (for Cloud or Hana): Migrations also require a lot of regression testing and is an excellent case for using the solution.
- Development of new features: Even new developments require a considerable degree of regression testing. The new changes must be tested using the traditional method, but the impacts of the change can be tested using the solution and after being deployed in production the new changes have been regressive tests for the next deliveries of the project.
- Production Support: The solution can also be used to investigate problems that have occurred in production and need to be reproduced in the controlled environment for problem analysis purposes and “retest” after defect correction.
Interesting! Do you have more benefits?
- Less Costs: Reduction of change costs by up to 50%.
- More Deliverables: Deliver projects up to 50x faster
- Less Manual Effort: Manual effort reduction by up to 95%
- More Quality: Reduction of incidents by up to 50%
Head, Digital Products – Inmetrics
Bachelor of Science in Computer Science from the Federal University of Pernambuco and specialization in Technical Management from the University of California and Leading Product Innovation from the Harvard Business School.