Continuous Testing: Best Practices and Challenges
A list of best practices for DevOps and Continuous Delivery testing tooling and culture.
Join the DZone community and get the full member experience.Join For Free
With DevOps practices growing in popularity, more organizations are looking to implement some form of continuous testing. When executed correctly, continuous testing can help project teams improve the quality of software at every stage of development, resulting in better final products with fewer defects and performance issues. However, many businesses are likely going to run into some challenges when implementing continuous testing, which is why they should be sure to adhere to best practices in regard to DevOps test management.
Update Your Team's Mindset
Despite all the advancements in quality assurance practices over the past several years, there are still experienced software testers who refuse to get with the times. It's understandable that some individuals will be resistant to change, especially when their old processes remain seemingly effective, but doing so will ultimately drag down the entire team. Earlier this year at the OOP 2015 conference in Germany, InfoQ spoke with Marco Achtziger, a test architect at Siemens Healthcare, about these kinds of challenges to continuous testing. He suggested that one way to convince these team members to ditch their outdated methods is to remain supportive and positive. Instead of phrasing the issue in terms of right and wrong, focus on the benefits that a change would bring to the team.
Another issue that team leaders will likely need to address in this regard is making sure that everyone understands what they are responsible for when continuous testing is in play. Although testing has traditionally been exclusively handled by QA teams, continuous testing asks all stakeholders to get involved. This means, for instance, that developers will need to run tests on their software as it's being constructed. Those teams may be resistant to the idea of expanding their project responsibilities, but it's up to QA managers and other organizational leaders to demonstrate the value of such changes.
Get the Most Out of Automation
Automation is a key component of effective continuous testing, allowing teams to quickly and efficiently analyze the performance and functionality of new builds and iterations. Building automated test scripts can be an expensive and time-consuming endeavor, however, so it's important that organizations optimize their use. Writing for Testing Excellence, QA industry veteran Amir Ghahrai explained that organizations should be cognizant of what testing areas their automation efforts target. It can be extremely helpful to adhere to the test automation pyramid principle when trying to get the most out of test scripts. Unit tests lie at the bottom of the pyramid, making up its base. That's where teams should focus the lion's share of their automation efforts. As they move up the pyramid heading toward user interface testing, they can scale back their use of automated scripts. This way, teams can be sure that their investment in automation pays off in the end.
Continuous testing can be a major asset to organizations looking to accelerate their software development and release schedules. By following best test management practices, they can ensure that their implementation of continuous testing is a successful one.
Published at DZone with permission of Kyle Nordeen. See the original article here.
Opinions expressed by DZone contributors are their own.