In the realm of software development, it is not uncommon to encounter user acceptance tests (UAT) which unfold the necessity for last minute fixes, long hours, and budget overruns. This is often a consequence of insufficient testing efforts conducted too late in the development lifecycle. To mitigate this problem, a shift left testing strategy is essential. The shift left strategy entails the adoption of automated testing solutions that allow developers to produce test cases alongside new implementations. By transitioning testing to earlier stages of the development process, malfunctions or regressions to the existing functionalities can be detected and rectified at an earlier point, reducing the risk of expensive rework and delays.
This article outlines our perspective on the fundamental components required for automated testing in Avaloq, a core banking system. We believe that implementation of these six building blocks is critical for executing an effective shift left testing approach. Below is an in-depth analysis of each block.
The 6 building blocks
1. Core Framework
The core framework serves as the basis for automated testing in Avaloq, providing the coded foundation and core functions for creating and executing test cases. The framework is based on the Avaloq Testing Suite application, which allows test cases to be developed in Avaloq Script. Furthermore, the framework provides features for code coverage, process queuing and test validation.
2. Search Engine
The search engine plays a vital role in automated testing by providing a dynamic and efficient mechanism to retrieve input data such as objects and orders from the database. This data can then be utilized for testing purposes.
3. Synthetic Data
End-to-end testing often necessitates comprehensive client constructs that are not easily attainable through the search engine. To enable optimal testing conditions, the synthetic data block facilitates the creation of synthetic clients for use in testing. Synthetic data enables banks to simulate real-world scenarios without relying on actual productive data.
4. Unit Testing
Unit testing is a critical aspect of the testing process that focuses on the testing of individual functions and modules. It serves as the foundation of the testing process and helps identify and rectify errors at an early stage. By incorporating unit testing at the start of the development process, banks can ensure that core functions and modules operate as expected throughout the development lifecycle.
5. Integration Testing
Integration testing is a comprehensive testing process that examines the functionality and performance of software, simulating real-world scenarios from start to finish. Including integration testing in the development process enables potential issues and side effects to be identified that may arise when different components are combined.
6. Automation
Automating the testing process is essential to ensure consistent, efficient, and reliable testing. By triggering automated tests during the software integration process, the integration of malfunctioning code can be prevented. Additionally, running all tests, as implemented in blocks 4 and 5, on a periodic basis helps to identify software bugs as soon as possible, this with marginal added effort to execute the test cases.
The impact of automating testing scales with the number of implemented test cases. The proposed automated testing setup allows the Avaloq developer to code test cases in the familiar Avaloq Script, enabling test cases to be created alongside the development of new implementations efficiently. Performing regular tests on the main functions and workflows is considered a best practice for minimizing the risks of critical bugs and side effects that may arise from implementing new changes. It is to be noted, that the initial efforts related to bootstrapping the automated testing approach may seem greater than anticipated, but the investment will eventually yield returns over time.
In conclusion, the implementation of the six building blocks of automated testing in Avaloq is crucial for the successful adoption of a shift left testing strategy. By incorporating automated testing solutions into the development process, defects can be identified and fixed earlier in the development cycle, leading to a reduction in expensive rework and delays.
If you have any questions or are interested in the implementation of automated testing in Avaloq, please contact us via out contact form or simply reach out to us via our LinkedIn page. We look forward to hearing from you!
Author

Thomas Kreiner, Consultant
Topic Responsibility
