When I first started my career at Sandhata, I was introduced to middleware test automation using a tool called IBM RIT (Rational Integration Tester). As a newbie, without any experience even of manual testing, I had to try to make sense of this new, unfamiliar process. Soon, however, I became fascinated by this particular tool and started to discover the real power of automation.
Why do we need test automation?
Manual testing is all about executing test cases by hand, without the support of any tools or scripts.
Automated testing, on the other hand, allows us to execute these test cases faster and more simply with the help of various tools, scripts, and software.
For the large number of organisations embracing Agile working practices, end-to-end automation and DevOps it’s becoming necessary to fully automate and streamline testing to be able to keep up with the pace of change. Automated testing is especially helpful in situations where the code changes frequently or when using a varied infrastructure landscape. This is something I experienced first-hand when working on the Sandhata Bank project.
Benefits of automated testing
- Speed: By removing manual steps, the execution process can be 1000’s of times faster.
- Reusability: Automated test cases can be reused/rerun with just a single click.
- Quality: Automation ensures that the test coverage is always as complete as possible, and helps to identify bugs early in the development process.
- Efficiency: The ability to run tests simultaneously means shorter test cycles.
Things that fascinated me in automation testing
RIT makes it possible to execute test steps automatically without any manual tasks. To do this, we use a programming approach to emulate a user’s interaction with an application, and then verify the test steps using various programming assertions. The range of features and functions available nowadays to validate test steps I find incredible. They really allow you to automate pretty much everything that is needed to probe and analyse code in a great deal of depth. We have come a long way from the early days of test automation with just basic comparison features.
When I first learnt about the concepts of Service Virtualisation (SV), I was bowled over by the possibilities it can provide. As I gained a deeper understanding of how it all works, I could fully appreciate the power of SV and its potential impact on a software project.
In my view, if harnessed correctly, SV really has the capability to eliminate bottlenecks in software delivery and increase the speed of change – by removing pretty much all dependencies.
Test automation types and tools
Most recently, I have been able to work on the whole range of testing for the Sandhata Bank project: unit testing, system integration testing, system testing and load testing. (Read more about Sandhata Bank and our DevOps Innovation platform here.)
Initially, we built all of our test harnesses using RIT, then implemented Service Virtualisation with RTVS (Rational Test Virtualisation Server) to remove dependencies and create full end-to-end automation so we could achieve Continuous Delivery. Since then, I have used several other tools for automated testing – including Selenium, Junit, and Karma.
The test automation difference
The biggest difference of test automation is in the ability to launch all the necessary testing functions at just the click of a button. Removing the need for manual steps helps to streamline the process and returns the results quickly. What’s not to like?
Curious about working at Sandhata?