Project Management

Please login or join to subscribe to this thread

Test Driven Development in Scrum

linkedin twitter facebook  
avatar
Mohit Joshi Germantown, Tn, United States
Hi,

In Scrum, in what event test cases are written if TDD is being followed?

The recommended best practice of TDD states that new code should only be written if there a failed test case (a very generic summary). So, assuming QA resource being part of the development team (cross functional), is writing test case captured as one of the Sprint Backlog tasks and performed during the Sprint execution? This would also involve a learning curve with the development team getting versed with the test case creation tool. I would assume effort & estimation would include this effort of test case creation as well (seem like an overheard due to the short iteration cycle).

Thoughts? Any real life experience and feedback using TDD would be appreciated. Do you see more benefits with it and what disadvantages have you experienced using it?

Thanks.
Sort By:
avatar
Kiron Bondale Retired | Mentor| Retired Welland, Ontario, Canada
If TDD is the ONLY verification being done, then the only test cases created would be those by the developer who would likely create them in an automation suite of some kind. However, it is quite likely there will be testing outside of just functional/behavioral testing. For example, performance testing might need to be done which might not fall within the scope of TDD.

Kiron
...
1 reply by Mohit Joshi
Aug 25, 2020 10:21 AM
Mohit Joshi
...
Thanks Kiron. I would assume if TDD is adopted, the acceptance criteria is incorporated within the test cases. The test case covers all the conditions. If the test case is passed, it implies the feature is good to be released...isn't it? If not, it seems like an overheard with the learning curve involved (to learn the automation suite)?
avatar
Ganesh Manivannan Pfizer Chennai, Tamil Nadu, India
I will address a disadvantage part

if a wrong test script is developed either because of inexperience or because of lack of clarity, the development gets impacted.

TDD needs complete understanding of the user story and acceptance criteria.
...
1 reply by Mohit Joshi
Aug 25, 2020 10:22 AM
Mohit Joshi
...
Thanks Ganesh. Yes, I would assume in most case the perform doing the work might write the test case as well since he/she has a good understanding of the backlog item being worked on.
avatar
Mohit Joshi Germantown, Tn, United States
Aug 25, 2020 8:18 AM
Replying to Kiron Bondale
...
If TDD is the ONLY verification being done, then the only test cases created would be those by the developer who would likely create them in an automation suite of some kind. However, it is quite likely there will be testing outside of just functional/behavioral testing. For example, performance testing might need to be done which might not fall within the scope of TDD.

Kiron
Thanks Kiron. I would assume if TDD is adopted, the acceptance criteria is incorporated within the test cases. The test case covers all the conditions. If the test case is passed, it implies the feature is good to be released...isn't it? If not, it seems like an overheard with the learning curve involved (to learn the automation suite)?
...
1 reply by Kiron Bondale
Aug 25, 2020 6:54 PM
Kiron Bondale
...
TDD reduces the need for additional testing but rarely eliminates it. Depending on the product/project there could be the need for independent testing, user acceptance testing, performance or security-related testing all of which might require test cases to be created.

Kiron
avatar
Mohit Joshi Germantown, Tn, United States
Aug 25, 2020 9:45 AM
Replying to Ganesh Manivannan
...
I will address a disadvantage part

if a wrong test script is developed either because of inexperience or because of lack of clarity, the development gets impacted.

TDD needs complete understanding of the user story and acceptance criteria.
Thanks Ganesh. Yes, I would assume in most case the perform doing the work might write the test case as well since he/she has a good understanding of the backlog item being worked on.
avatar
Kiron Bondale Retired | Mentor| Retired Welland, Ontario, Canada
Aug 25, 2020 10:21 AM
Replying to Mohit Joshi
...
Thanks Kiron. I would assume if TDD is adopted, the acceptance criteria is incorporated within the test cases. The test case covers all the conditions. If the test case is passed, it implies the feature is good to be released...isn't it? If not, it seems like an overheard with the learning curve involved (to learn the automation suite)?
TDD reduces the need for additional testing but rarely eliminates it. Depending on the product/project there could be the need for independent testing, user acceptance testing, performance or security-related testing all of which might require test cases to be created.

Kiron

Please login or join to reply

Content ID:
ADVERTISEMENTS

"It's not whether you win or lose, it's how you place the blame."

- Oscar Wilde

ADVERTISEMENT

Sponsors