In successful quality assurance, software tests are repeated regularly during the software lifecycle. There are a couple of disadvantages, if the tests are solely performed manually by software testers. Manual test execution is often very time consuming and also error-prone. Human testers tend to become routine-blinded as they perform the same steps over and over again. Test automation can help to vastly improve the quality of your software. There is also no way around test automation, if you plan on using agile strategies for continuous integration and continuous deployment.
The advantages of test automation
If new features are developed for your applications, usually most older features only have to be adapted partially or not at all. When it comes to testing a new release, with new features, your entire application should be re-tested again in order to reveal negative side effects. This is where test automation demonstrates it's strengths compared to manual testing.
Improved quality by increased test coverage and precise metrics to quickly find errors in new releases.
Repeatability allows to reproduce test runs exactly and as often as desired in order to fix errors.
Reusability allows to reuse automated tests for testing new releases of your application. Depending on the changes, only some test cases have to be adapted usually.
Parameterization enables the possibility to re-use the same test recording to cover multiple scenarios. (e.g. different products or customers in an order process).
Cost reduction is simply given by the fact that it would take much more effort to reach the same level of quality through manual testing.
Necessary speed, to keep up the pace of agile process models and still be able to do proper quality assurance.
How we operate
Automating all test cases is usually not feasible and, in most cases, also not useful. In particular when it comes to determine the usability of an application, an assessment by a human is essential. Therefore, manual tests still play an indispensable role. With respect to this fact, we strive to increase the degree of test automation to the maximum by identifying all automatable test cases.
In order to automate tests for web application we use the Selenium Webdriver or one of your existing test frame works. In any case we make sure to integrate the test automation approach into your existing management and steering systems (ALM, TFS, etc.). Eventually for maximum benefit the automated test cases and results shall be easily accessible by your test management team, as well as your developers.
If you also want to do performance and load testing you need test automation, as well. However, for load tests you usually need special recording software that ships with the load test tool to do the automation. This leads to the fact that test cases have to be recorded at least twice. Once by your test automation team and once by your load test team, whereas different recorders have to be used each time. Some manufacturers of load test tools already addressed this problem and provide options to migrate automated functional tests to load test scripts. Ultimately this leads to a more centralised test management, better communication between the teams, and it lowers the effort for maintaining test scripts.
You want to improve the skills of your own staff?
On request, we are happy to work together with your IT staff to pass on our knowledge while performing test automation for you. If you are looking for trainings regarding explicit topics about testing, we are also happy to come by. Feel free to contact us for further details.