TDD Adoption Plan and Strategies for Successful Implementation

tdd adoption plan n.w
1 / 15
Embed
Share

Discover the TDD adoption plan for achieving ATDD and TDD in all projects, starting with small steps, pilot projects, and test automation strategies. Overcome anticipated problems and ensure a smooth transition to Test-Driven Development.

  • TDD
  • ATDD
  • Adoption
  • Strategies
  • Test Automation

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. TDD adoption plan 5/27/2025 1

  2. The goal and how to get there Goal: ATDD and TDD performed in all projects Strategy: One small step at a time New projects Easy projects first. So, services then UI modules. Learn from experience Existing non-TDD projects Automated unit testing must be completed before TDD can be applied 5/27/2025 2

  3. Plan of the first step Pilot experiment project As plain and simple as possible to be able to focus on the TDD process As little dependency on legacy code as possible 5/27/2025 3

  4. Pilot project Before: Some TDD training/refreshing. Posters of TDD steps and Refactor guide on the wall. During: Documentation of issues and lessons learned Daily meeting to review code, with observers from other teams. Pair programming. After: Evaluation and plan for next TDD projects Small exam for team members Team members spread out to join new TDD projects. 5/27/2025 4

  5. Test automation Middle-tier modules JUnit, test script at app level Web modules Selenium Android non-UI modules JUnit Android UI modules Robotium iOS non-UI modules ? iOS UI modules ? XML? Routing? JSON, Javascript? 5/27/2025 5

  6. Preparation All developers Start preparing as soon as possible, while the pilot project is running: Master writing/preparing automated tests using Junit / Selenium / Robotium, Complete automated unit tests for existing code. Master deriving specific test cases from user story spec. Someone (who?): Learn to verify if a test script covers a certain set of spec (Developer? Team leader? QA personnel?) 5/27/2025 6

  7. Problems anticipated Easy to follow TDD steps, but not so easy to do a good job at each step Programmers confusion on where to start, what to test and what not to test, how much to test in one go, what to call their tests, and how to understand why a test fails. A guideline or a how-to doc might be necessary Not enough emphasis on refactoring. 5/27/2025 7

  8. TDD and ATDD TDD Test Driven Development Each test pins down a technical behavior. Written by developers For developers Run frequently by the team All tests pass 100% before commit and at integration ATDD Acceptance Test Driven Development Each test pins down a business rule. Written by the team. For the team. Run frequently by the team. New tests fail until the story is done. Prior tests should all pass. 5/27/2025 8

  9. 5/27/2025 9

  10. http://www.methodsandtools.com/archive/archive.php?id=72p9 5/27/2025 10

  11. 5/27/2025 11

  12. 5/27/2025 12

  13. TDD 5/27/2025 13

  14. TDD Steps 1. Write one unit test. 2. Build or add to the object under test until everything compiles 3. Red: Watch the test fail! 4. Green: Make all the tests pass by changing the object under tests. 5. Clean: Refactor mercilessly! 6. Repeat. 5/27/2025 14

  15. BDD - stuff to explore TDD automatically ensures that no code is not tested. How to ensure that all functional requirements are included in the tests? BDD can help? The idea: http://www.codeproject.com/Articles/148043/Say-Hello-To- Behavior-Driven-Development-BDD-Part http://dannorth.net/introducing-bdd/ Tools with a business readable output Tools with a business readable input 5/27/2025 15

More Related Content