Yet again we have been exposed to a software platform upgrade that we assumed would not change existing behaviour. A very foolish viewpoint.. We also released a lot of new functionality on top of the new platform, compounding the number of changes and the release of bugs!
The lack of testing reared its head again. The standard java option is to get coding and write many junit tests. Yes, we need unit and integration tests but our java developers are needed to create new features, and often do not have the skills to test the wider business functionality. The testing team code coverage is sporadic, focusing on new features. So who tests old code that we know always works?
A definite opportunity for automation of testing and a need to investigate, again, automated software testing tools. Surely things have moved on a bit?
A quick Google and I came across a tool from Leaptest, a Danish company – now known as Leapwork, – they are geared as much to software automation as automated testing, perhaps a sensible change to remove the word ‘test’ from their name. Like other tools to test web applications it uses a backend of Selenium, a good approach and proved worthwhile investigating.
They offer a 14 day trial of the full product, much better than the restricted trial licenses we often see along with a 1 hour introduction from one of their experts (certainly enjoyed the session and learnt a lot about the tool and much about other testing issues).
So, cutting to the chase, what does it offer us? The answer is fast development of test suites by non programmers., freeing up the Java developers time. The test building tool is graphical, you build a flow through your application, testing inputs/out, then execute the workflow to prove the path through the application is consistent and reproducible.
I liked the way you can group several actions together and reuse them as a building block for other flows. i.e. start a browser session, open an application and login using a username and password is easily saved as a building block.
The display for such a workflow is as follows:-
Including the above building block removes this detail from the workflow that is being built. It is not a direct recording but a step through of a process. At each step, usually linked to an item on a web page, you can perform an action. On success the flow moves onto the next step. It is very easy to create a step through process and set it to run each day, or whenever is needed.
The scheduling of automated test runs can provide something as simple as checking that the website is up through to ensuring the sum of all complex calculations is constant across applications. The possibilities to automate tests and get invaluable feedback if something is broken is excellent.
Reporting of scheduled runs, along with a simple dashboard gives visibility of our daily runs. If anything fails we get an alert and the offending code release is quickly identified before release to end users. The business users know the software better than anyone and know how to create in depth tests giving them confidence in new releases.
The Leapwork website has a ton of examples on how the tool could be used. We are still finding new ways of getting the most out of the tool.