- Berny Roux, Head of Quality Assurance & Release Management, Zespri International Ltd.
- 7 anonymous contributors
- Today’s rapidly changing software products and operational processes create mounting pressure on software delivery teams to release new features and changes quickly while meeting high and demanding quality standards.
- Most organizations see automated testing as a solution to meet this demand alongside their continuous delivery pipeline. However, they often lack the critical foundations, skills, and practices that are imperative for success.
- The technology is available to enable automated testing for many scenarios and systems, but industry noise and an expansive tooling marketplace create confusion for those interested in adopting this technology.
- Good automated testing improves development throughput. No matter how quickly you put changes into production, end users will not accept them if they do not meet quality standards. Escaped defects, refactoring, and technical debt can significantly hinder your team’s ability to deliver software on time and on budget. In fact, 65% of organizations saw a reduction of test cycle time and 62% saw reductions in test costs with automated testing (Sogeti, World Quality Report 2020–21).
- Start automation with unit and functional tests. Automated testing has a sharp learning curve, due to either the technical skills to implement and operate it or the test cases you are asked to automate. Unit tests and functional tests are ideal starting points in your automation journey because of the available tools and knowledge in the industry, the contained nature of the tests you are asked to execute, and the repeated use of the artifacts in more complicated tests (such as performance and integration tests). After all, you want to make sure the application works before stressing it.
- Automated testing is a cross-functional practice, not a silo. A core component of successful software delivery throughput is recognizing and addressing defects, bugs, and other system issues early and throughout the software development lifecycle (SDLC). This involves having all software delivery roles collaborate on and participate in automated test case design, configure and orchestrate testing tools with other delivery tools, and proactively prepare the necessary test data and environments for test types.
Impact and Result
- Bring the right people to the table. Automated testing involves significant people, process and technology changes across multiple software delivery roles. These roles will help guide how automated testing will compliment and enhance their responsibilities.
- Build a foundation. Review your current circumstances to understand the challenges blocking automated testing. Establish a strong base of good practices to support the gradually adoption of automated testing across all test types.
- Start with one application. Verify and validate the automated testing practices used in one application and their fit for other applications and systems. Develop a reference guide to assist new teams.
This guided implementation is a five call advisory process.
Call #1 - Understand your need for automated testing and the SDLC process it is supporting.
Call #2 - Discuss the foundational practices and their implementation in your organization.
Call #3 - Discuss the optimal practices for automating each test type.
Call #4 - Discuss your plans to implement automated testing.
Call #5 - Review the features and services of your automated testing tools and vendors.
Book Your Workshop
Onsite workshops offer an easy way to accelerate your project. If you are unable to do the project yourself, and a Guided Implementation isn't enough, we offer low-cost onsite delivery of our project workshops. We take you through every phase of your project and ensure that you have a roadmap in place to complete your project successfully.
Module 1: Adopt Good Automated Testing Practices
- Understand the goals of and your vision for your automated testing practice.
- Develop your automated testing foundational practices.
- Adopt good practices for each test type.
Key Benefits Achieved
- Level set automated testing expectations and objectives.
- Learn the key practices needed to mature and streamline your automated testing across all test types.
Build a foundation.
- Automated testing vision, expectations, and metrics
- Current state of your automated testing practice
- Ownership of the implementation and execution of automated testing foundations
Automate your test types.
- List of practices to introduce automation to for each test type