Testing is everyone’s responsibility. The entire team works collectively to develop a quality product. Most of the automation is done by the people writing the code using an approach known as Test Driven Development or Test Driven Design (TDD). This includes unit, integration, component, and system tests. These tests verify that the application works as intended.
Functional and acceptance tests are written by testers, analysts or the business using an approach known as behavior driven development (BDD) or acceptance test driven development (ATDD). These tests verify that the system works as expected per the requirements.
Again, these are not phases but on going activities that feed into each other. On day 1, testers analysts or the business represent the requirement using a technique know as specification by example.
Also check out the entire Agile Testing series:
- 4 Typical Transitions Teams Go Through When They First Start Adopting Scrum
- The Most Common Misunderstanding of Agile Software Development
- What are the Different Types of Tests?
- What is The Agile Testing Quadrant?
- Which Tests Should We Automate?
- How Many Tests Are Enough?
- What is The Testing Pyramid?
- When Do We Start Testing in Scrum?
- Who Is Responsible for Testing in Scrum?
- What is Test Driven Development (TDD)?
- Why You Shouldn’t Do Functional Testing From the UI?
- What are Executable Specifications or Specifications by Example?
- What is Acceptance Test Driven Development (ATTD)?
- Testing Green Field Applications vs. Legacy Applications
- What is Exploratory Testing?
- Top 8 Things to Consider for Your Agile Testing Strategy
- Agile Testing – Testing from Day 1 Presentation