| |May 201819CIOReviewhe agile software development lifecycle was designed primarily by and for developers; it was not created to optimize quality assur-ance (QA). Software testing remains an in-tegral piece of the overall development life cycle and the last 15 years have been spent finding ways to incorporate it based on this new shift to agile in the industry. While the proliferation of automated testing techniques has helped this transition, shifting roles are a key reason high-performing teams have succeeded.A typical agile squad may be constructed with three to five developers, a product owner, a scrum master, and a single QA engineer. There has been a shift away from pools of quality analysts--and for good reason. A major tenant of the agile software methodology is cross-functionality of roles across the team. Singular roles such as automated tester or manual testing analyst are going against the grain of the team. Developing in an agile mindset provides increasingly responsive feedback and having a separate automation team creates a mini-waterfall team within the delivery squad. Instead, there is a need for the full-stack QA engineer, an individual with a technical language set along with subject matter expertise, who can be the champion for quality across the entire squad. Everyone TestsAs the team makeup matures to more cross-functional roles, everyone becomes a tester. The testing focus for each individual is more directed to his or her core skillset. A developer takes over the task of functional testing along with simple requirement verification. The best time to accomplish this is at the point closest to the requirements. Unit testing with methodologies such as Test-Driven Development or Behavior-Driven Development can ensure that it is completed within the sprint. The product owner can bookend the testing effort with some final usability testing needed to sign off on any new changes. THE CHANGING ROLE OF SOFTWARE TESTING IN AN AGILE ENVIRONMENT By Brad Boemmel, Director of Quality Assurance, Morningstar, Inc. [NASDAQ: MORN]The role of the QA engineer shifts into more value-added testing. With the basics of functional testing verified earlier, QA is free to focus on testing that is further away from the single module being developed. The primary concern of the QA engineer becomes negative, edge case, integration, and exploratory testing. Brad BoemmelT CXO INSIGHTS
< Page 9 | Page 11 >