Testing Methodologies: TDD, BDD
1. Theoretical Study
- Research TDD and BDD and explain their core principles in your own words.
- Compare the two methodologies and highlight the scenarios in which each is more suitable.
2. Practical Implementation
- Choose a programming language of your choice (Python, Java, JavaScript, etc.).
- The implementation must follow these steps:
- For TDD:
- Write a unit test before implementing the functionality.
- Run the test (it should initially fail).
- Write the minimal code necessary to make the test pass.
- Refactor the code while keeping the tests green.
- For BDD:
- Write a test scenario using a specific BDD framework (Cucumber, Behave, Jest+BDD, etc.).
- Implement the functionality based on the test specifications.
3. Final Report
- Describe the implementation process and any challenges encountered.
- Attach the source code and test results.
- Provide a personal conclusion on the advantages and disadvantages of each methodology based on your practical experience.