Test-driven development (TDD) is fundamental to agile, but to most of us caught up in projects, there's never enough time to commit to it. Erick Fleming shows how to use TDD to improve product quality and time to delivery.
Automated testing is vital for every software development organization's quality assurance activities. Dorothy Graham and Seretta Gamba demonstrate how to classify issues that occur during test automation. The authors maintain that certain test results have root causes that can be categorized as patterns that require specific mitigation strategies.
Taking lessons from the lean business model, Matt Heusser explains how a tester can present different values and properly set expectations with the team using the lean test canvas. His approach starts with defining who the customer is and ends with key qualitative measures that will be used to ensure success.
Improving product quality is often a very difficult task for even the best software development organizations. Rajini says the additional benefits of automation include benchmarking, code scanning analysis, end-to-end test cases, and compatibility validation.
Agile projects assume that test planning, test creation, and test execution take place throughout a project's lifecycle. So the need for unit testing (and especially automated unit testing) can't be ignored and should be considered as a key responsibility of the entire team—not just the software developers.
Lessons learned long ago from reviews and inspection can be effective today, particularly in collaboration within agile teams. Learn how an organization used review techniques as part of its agile collaboration, including the advantages and potential problems of this ancient wisdom.
Test planning is often thought unnecessary in an agile project. However, if our mindset is on "planning" rather than "plans," we see that test-planning activities happen throughout the project, taking advantage of levels of precision, i.e., what is absolutely necessary at each level.
Software test automation has been around for a while, but it faces some specific challenges in an agile environment. Here are seven practices that will help you get the most out of your test automation within agile's short development cycles.
Vague or ambiguous requirements can cause loops in development processes. Creating requirements that include acceptance tests cuts down on the looping and increases the flow of working software to the customer.