Siloing your QA process, whether that’s with a particular team, in a specific timeframe during development, or overseas with an outsourcing firm, significantly slows down the feedback loop and delays releases. Isolating testing also increases the cost of quality; one study by IBM found that the cost of finding a bug during integration testing is double what it would be if found during implementation.
In order to keep up with fast-moving development cycles, QA must be able to work within your coding process and integrate smoothly into your development workflow. The Continuous Testing Manifesto advises that QA tools must be “pluggable,” or integrate well into your development process. Here are three kinds of integrations that allow for easy, deep integration of QA testing into your development process:
The most effective QA process is one that is part of a larger continuous integration (CI) strategy. In addition to speed, one of the key benefits of CI is consistency, allowing teams to catch bugs as early as possible in development. Verifying your work regularly with an automated build helps catch bugs quickly, before they can snowball into larger issues. By using CI, dev and QA teams can spend less time on testing overall.
Manual testing can’t scale to meet the demands of fast-paced development and often becomes a bottleneck, so maintaining an automated test suite is often the best option for developing a scalable CI process. Each release, whether manual or automated, should be automatically run and reported on.
For more on integrating functional testing into your continuous integration process, check out this blog post on setting up Rainforest to integrate with your CI server.
Issue reports come from a variety of places -- QA tests results (ideally), your team, customers (not-so-ideally, but still important!). By centralizing all reported issues into an issue tracking platform like JIRA or PivotalTracker, your team will be able to track and prioritize bugs appropriately. Using a bug tracker also decreases the all-important “time-to-fix” metric by ensuring that developers have access to the information they need, when they need it.
The key to using bug trackers effectively is context. Make sure that your process includes tracking things like state, screenshots and logs (http, server and console). Rainforest test results include everything making them a great resource for developing stronger bug tracking.
Your team might not be sitting on your CI server watching every result come in, but that doesn’t mean they shouldn’t be aware of quality snafus. Keeping QA top-of-mind even for members of the team who aren’t in the weeds of issue tracking and CI runs every day helps keep quality higher overall, and keeps key members of the team informed more consistently.
Setting up automation notifications for your team when something breaks keeps the feedback loop tight and prevents unexpected issues from slipping through the cracks. Simple email notifications when a test fails can help keep everyone on the same page. Communication apps like Slack or Hipchat are a great place to integrate updates, especially if your team is among the 3 million daily users who hang out in Slack every day.
For teams aiming for continuous deployment, integrating QA into their development process seamlessly is critical. Learn more about the steps you’ll need to take to create an integrative QA strategy. In this webinar with Rainforest developer Edward Paulet, we’ll discuss the fundamentals of automatable QA strategies, how to successfully integrate quality into your CI process, and how to shorten the feedback loop between catching and fixing bugs.