Continuous Testing at the Speed of the Agile Modern Business

Relying on automation to execute whole test on large deployment, doesn’t mean the role of the QA engineer is going away. Learn why?

With more companies of all sizes embracing the Agile and DevOps methodologies, the speed of the software development lifecycle continues to increase. This reflects a competitive business world which operates all over the globe on a 24-7 basis. The days of the biannual release cycle appear to be obsolete.

Continuous deployment and other offshoots of Agile strive to make software enhancements a quick and painless process, so it stands to reason this “need for speed” would influence quality assurance. Enter continuous testing. We’ve mentioned this concept in a previous post, but this time out we’ll take a closer look at this emerging QA trend.

Preventing QA from becoming a Bottleneck

Companies embracing continuous delivery leverage automation to make various aspects of the SDLC faster. This includes automating builds, migrations, and other related tasks. While a need for manual software testing still exists, especially when it comes to validating usability and interfaces, companies are taking advantage of automated tests as part of a continuous testing model.

Continuous testing requires extra effort to be spent on developing these automated tests. This concept applies when it comes to determining whether or not to deploy the software into production after the test run is complete. Business stakeholders need to work closely with QA engineers to determine the criteria for a go/no go decision; factoring in performance, reliability, and security issues.

Additionally, many continuous testing programs involve QA personnel at the beginning of the lifecycle, with the hopes of validating design work before development takes place — the extra cost of handling bugs later in the SDLC still matters in this scenario. The scope of testing includes automated API tests, unit tests, as well as system and integration tests. Security and performance testing is also performed when relevant.

Managing the Continuous Testing Process

Relying on automation to execute a whole range of tests as part of a larger build and deployment process doesn’t mean the role of the QA engineer is going away. We mentioned earlier about the importance in properly developing automated tests able to determine whether or not to deploy a release. It is also vital to involve QA personnel in the management of the entire automated testing process, including performance monitoring and defect analysis.

Many QA tools and applications now include support for continuous testing that goes beyond simply automation. These typically provide a robust mechanism for authoring tests in addition to the real-time defect reporting and performance features needed to truly take advantage of CT.

Resources for Learning more about Continuous Testing

A wide range of eBooks and other material covering continuous testing are available if you are interested in learning more about this topic. SOASTA, known for their performance analytics software, offers an eBook on Continuous Testing in an Agile World. IT managers interested in the subject need to check out Parasoft’s book aimed at technology leaders.

In short, continuous testing needs to be considered by any organization hoping to truly take advantage of Agile or DevOps.

Keep tuned to the Betica Blog for further dispatches from the wide world of QA and software development.

News from the Worlds of Software Development and QA — June 2016

As June draws to a close, here are a few interesting stories from the related worlds of software development and QA. If you want to check out last month’s news, simply click on this link. Hopefully, this month’s edition offers some insights relevant to your daily development and testing work.

Need QA for Continuous Deployment? Enter Continuous Testing.

We’ve talked previously about the growing adoption of Agile and DevOps methodologies by companies hoping to gain a competitive advantage through faster software development. Many of these firms strive for a continuous deployment model where software enhancements happen at a rapid pace.

So how does the QA process keep up? Enter continuous testing.

Many forward-looking companies are beginning to leverage continuous testing to ensure software gets released at a speed letting them successfully compete in the modern business landscape. Ashley Dotterweich recently talked about the emerging practice for DevOps Zone. Faster release cycles, better code, and ultimately a decreased risk of production failures are its major impacts.

One of the key steps in implementing continuous testing involves shifting QA to the left. In short, this involves starting testing earlier in the software development process in the hope of catching problems at a point before a fix becomes too costly. Some would argue a QA presence also needs to be involved during the requirements gathering and design phases.

The use of a continuous integration server infrastructure to execute unit tests also facilitates the implementation of continuous testing. Other forms of automated testing need to be considered as part of a migration to this new testing model. It is something worth considering for organizations hoping to achieve continuous deployment.

Game Development Shops want Standardized Testing Practices

A myriad of AAA video games suffering from high profile bugs and server hiccups over the last year has led to a call for standardized QA practices in the industry. James Batchelor covered the growing issue in a recent post on Develop, a game industry website. Many testing managers in gaming feel standards are vital for keeping (or regaining) the trust of video gamers. 

Testology CEO, Andy Robson, commented on the growing problem caused by a lack of QA standards. “Why do we think it is acceptable to release games that don’t meet the quality level consumers expect? We should have a standard where no Class A bugs are released in a product along with Class B bugs, whether functional or LOC issues. Class C bugs are always going to be in games, but don’t affect the experience, so we could be more lenient,” said Robson.

Stay tuned to see if their efforts at standardized QA are successful.

Is Software Development only for the Young?

A recent study noted the average age for the software developer is under 30. Nick Heath, writing for Tech Republic, wondered if this was due to a glut of new programmers entering the industry or if older developers are leaving? Natalia Radcliffe-Brine, marketing manager at Stack Overflow feels it is the former trend.

“I don’t think it’s that the older developers aren’t there anymore, I think there’s been momentum around technology and you’ve got so many more young people going into computer science,” said Radcliffe-Brine. Whatever the reason behind the hard data, there’s no denying the right mixture between younger workers excited about the industry and the wisdom of veteran developers is a smart call when building an efficient development team.

Stay tuned to the Betica Blog for additional news and insights from the world of software development and testing.