Test automation – successfully automated software testing with imbus
Automated testing is key to quality, speed, and efficiency in software development. But when is test automation really worthwhile? What are the decisive factors for success? And how can you get started step by step?
For over 30 years, imbus has been supporting companies in the introduction and optimization of test automation – with specialized consultants, experienced test automation engineers, and tried-and-tested methods.
We carry out test automation projects and offer the following services:
- specialized consultants and coaches
- experienced test automation programmers
- packaged assessments, workshops, expert days
- an outsourcing test center for taking on entire projects
- the imbus academy for individual training courses
When does test automation make sense?
Test automation is designed to improve testing productivity and ensure quality in the long term.
Typical advantages:
- Recurring test steps do not have to be repeated manually.
- Automated tests run around the clock (24/7).
- Test teams are relieved of monotonous tasks.
- The scope and coverage of tests can be expanded.
- Complex scenarios that are hardly possible manually can be tested.
The higher the repetition frequency and the more automated the evaluation of results, the more effective the positive effect.
In this context, a high degree of automation is often cited as a goal. The simple formula “the more test components that can be run automatically, the better” is appealing – but it must be balanced with the creation and maintenance costs for the automation programs.
ROI of test automation – when is it worth the effort?
Test automation is a programming activity that initially requires effort. This effort pays for itself during operation:
- Individual test steps can be executed very quickly and cost-effectively.
- Tests can be repeated as often as desired.
- Regression tests can be automatically integrated into every release cycle.
However, it should be noted that any further development of the software (new releases, operating system updates, hardware changes) requires maintenance of the automation scripts. This maintenance effort can partially or completely offset the savings advantage.
The return on investment (ROI) must therefore always be
What makes test automation successful?
Important parameters for test automation are:
- Definition of realistic goals (degree of automation, time-to-market, quality goals, risk assessment)
- Clearly structured specification and implementation
- Technical connection of the system under test (SuT)
- Selection of suitable methods such as keyword-driven testing (KDT), data-driven testing (DDT) or behaviour-driven testing (BDT)
- Documentation of concepts – agile or classic
Whether agile or classic – regardless of the development methodology, it makes sense to set these concept elements down in writing.
imbus analyses the underlying situation in specialised TA Expert Days and makes recommendations for a roadmap. The creation of a situation-appropriate automation concept is based on proven methods (best practices) and over 30 years of TA experience! The imbus Quality Engineers have a corresponding concept template at their disposal!
The right architecture
The three-layer generic test automation architecture (gTAA) described in the literature provides a proven basis for the structured implementation of the above points:
- Test definition (specification)
- Test execution
- Connection of the system under test (SuT)
imbus provides comprehensive advice on the appropriate architecture and supports the setup of a corresponding TA framework – both onsite and as a turnkey solution in imbus own TestCenter!
A functioning tool chain
Sustainable test automation requires tools for:
- Process management
- Connection to the test object (SuT)
- Requirements management
- Defect management
- Reporting & evaluation
imbus is familiar with all relevant tools on the market – from open source to enterprise solutions – and provides support with tool evaluations, proof-of-concept projects and decision templates.
These tools have very different capabilities and areas of application – depending on the underlying technologies, implementation of the software to be tested, usability and integration capabilities. Ideally, and for the sake of speed and process quality, these tools operate in an integrated tool chain.
Whether open source solutions or commercial products – as a long-standing, highly specialised provider of software quality assurance and testing, imbus has experience with all relevant tools on the market that can be used to improve quality.
Robust and low-maintenance implementation
Implementation determines stability. Important success factors:
- Expertise in using tools and frameworks
- Experience in test automation projects
- A well-coordinated team
The composition of the test automation team is another critical success factor that makes the difference between rapid implementation and a truly robust solution whose maintenance costs do not get out of hand.
imbus provides specialised quality engineers who implement complete automation solutions or coach and supplement existing teams.
In addition, imbus offers a test automation outsourcing model in which all tasks, including infrastructure and tools, are provided.
How do you achieve effective test automation?
Good test automation is developed step by step:
- Readiness assessment: Check the basics
- Define strategy and concept
- Select tools and determine architecture
- Start piloting and implementation
- Ensure maintenance and optimisation
The specific tasks to be completed in each step may vary from case to case. For example, existing automation tools may render a tool evaluation unnecessary. This often raises the question of whether sufficient facts are already available to even begin with automation. At the outset, the essential fundamental decisions should be made in order to create the conditions for further work. Once ‘TA readiness’ has been established, the next steps can be tackled.
imbus accompanies you through all phases – from strategy to implementation – and, if desired, assumes complete responsibility for the automation solution.
Test automation in agile software development
Test automation is indispensable in an agile environment. Short iterations (sprints) produce potentially deliverable software components (known as potential shipable products in SCRUM), which must be tested immediately.
- Test-first strategies ensure quality even before implementation.
- Automated tests form a growing regression test library.
- Exploratory testing complements automation
- Long-term quality assurance is possible over many sprints
Developers and test specialists sit down together and consider which tests are necessary for the acceptance of the potential shipable products – and program these as automated tests right away. The subsequent development of the actual test object is completed at the earliest when all these tests have been successfully completed. The sum of the tests can then be used as a constantly growing test library for regression testing in all subsequent sprints. This is often referred to as "non-stop system testing".
Regardless of the growing number of automated test procedures, the system under test (SuT) is often subjected to additional manual tests, e.g. using exploratory methods.
Nevertheless, the first priority is often automation, as this is the only way to ensure long-term quality assurance over long series of sprints.
imbus supports the entire agile development process with:
- Readiness assessments (e.g. T-5 assessment)
- Coaching and collaboration in sprints
- QA expertise, automation and test design
By participating in sprints, imbus quality engineers contribute the necessary QA knowledge and coach the team. Test creation, test automation programming, approvals and much more can be used directly in the agile teams.