Give time to your team to be creative and teams do the miracles. Well, it depends – you may say. This was my recent experience and I have experienced a few times before in our application development processes. Several years ago, when we first implemented the buddy testing for couple of applications, teams followed these steps
a. Both dev and test get-together to discuss about the approach
b. Dev team wrote the code while test team wrote the various scenarios to test a piece of application
c. Dev completed the code with a unit testing as much as possible (no, it was not a TDD back then)
d. Test team did a buddy testing on that piece of code
e. Code integrated later on and released to the functional testing.
f. Functional test team did a thorough testing on a new environment à resulting in no defects found in this environment .
5 key positive things happened during this course:
1. Dev and test collaboration increased
2. Dev and test teams were on the same page with respect to requirements
3. Most defects were found as part of the buddy testing and the feedback was passed on to the dev team right then. This resulted in quality code released to the functional test, and saving the cycle time during the functional testing phase.
4. Since dev folks been open as part of this collaboration, and increased the thought process and increased the programming quality over time.
5. Built a Trust relationship between dev and test teams à resulting in more open and honest in accepting criticisms and better feedback comments.
Apparently, we had our team members going through similar exercises lately, and seeing better results in building the quality code. I could tell, there was more sense of satisfaction between the teams for getting things done in right way than keeping eye on the bug counts and keeping the defects slip through different functional phases.
Guidelines for Buddy Testing:
We didn’t have any specific guidelines however, we did make it up during the process.
a. Scripted test scenarios with necessary steps and prep data
b. Used a Heuristics cheat sheet [link] for data type scenarios
c. Performed more functional work flow scenarios than we had scripted for.
d. Run through the scenarios to cover the code path to some extent (note: it is a fine line, but we had scoped it for mere UI testing)
Outcome:
a. Quick turnaround during functional testing phase
b. User Acceptance Testing team was happy
c. Ultimate end users were satisfied with the product they received
Next Steps that would be ideal to these dev/test teams:
a. Other area to explore into would be TDD (Test Driven Development)
b. Agile project management viz., SCRUM
c. Leverage code between dev and test teams and build better automation