In Agile Testing, traditional testing methods are used and are focused on the principle of “Test Early”. Test Cases are created before the code is written to ensure defects can be detected and removed as soon as possible. Testing is conducted in the early stages of development to ensure that all areas of the software are tested and to ensure any potential issues are caught and dealt with quickly. The right tests are conducted at the right times and at the right level to ensure that all aspects of the software are tested and that any potential issues are caught and dealt with before the software goes live.
- Test Driven Development (TDD)
- Acceptance Test Driven Development (ATDD)
- Behavior Driven Development (BDD)
Test Driven Development
Test Driven Development (TDD) is a software development process where the code is developed based on the Testfirst approach directed by Automated Test Cases. It consists of the following steps: 1. Write a Test case to reflect the expected behavior of the code that needs to be written. 2. Run the test and it will fail as the code is still not developed. 3. Develop code based on the test case. 4. Run the test again and it should pass. 5. Refactor the code. 6. Run the test again to ensure it passes. The tests can be at unit, integration or system level and are automated to make the process faster. Constant communication between testers and developers is necessary. The method can be repeated by adding test cases to add functionality and running all tests to ensure the code is running as expected.
Acceptance Test Driven Development
Acceptance Test Driven Development (ATDD) is a test-driven software development methodology that focuses on the acceptance criteria of a user story. This approach involves collaboration between the customer, end users, and relevant stakeholders to ensure that user stories are developed correctly and meet the needs of all stakeholders. The steps in ATDD are as follows: 1. Write Acceptance Test Cases along with user stories in collaboration with the customer and users. 2. Define the associated acceptance criteria. 3. Develop code based on the acceptance tests and acceptance criteria. 4. Run the acceptance tests to ensure that the code is running as expected. 5. Automate the acceptance tests. 6. Repeat steps 3-5 until all the user stories in the iteration are implemented. 7. Automate the regression tests. 8. Run the automated Regression Tests to ensure Continuous Regression.
Behavior Driven Development (BDD)
Behavior Driven Development (BDD) is a software development approach that focuses on testing code to ensure the expected behavior of the system. It is similar to the Test Driven Development (TDD) in this regard. The main difference between BDD and TDD is that BDD uses a language such as English to make it understandable to users, testers and developers. This ensures: • Continuous communication among users, testers and developers. • Transparency regarding what is being developed and tested. • An understanding of the expected behavior of the system. • Improved collaboration between stakeholders.