Currently, more and more small to medium size development projects choose using Scrum because of its simplicity and effectiveness. On the other hand, it may be a challenge for testers who may be used to working with in a traditional development model to adapt to the activities in a Scrum team. For testers, there are many differences between Scrum and a traditional process:
a. Scrum does not use a Phased-based approach which means there have no defined periods for testing to take place (i.e. at the end!).
b. One of the agile manifestos is “working software over comprehensive documentation”. This means that Scrum does not depend much on the documentation.Therefore in most situations there is no well-organized detailed specification for testers to create test cases. Usually, there are only user stories.
c. At the beginning of the project, the UI part of the product is not available. The testers who only have the black box execution skills may find that they don’t have much to do.
d. Communication plays a very important role in Scrum. That means testers need more open and frequent discussion with developers to find and pinpoint defects as soon as possible.
I have been working on some Scrum projects in the last 2 years and the following are some tips based on my experience to help traditional testers make the transition to being agile testers especially in the Scrum process:
1. Do not wait for tasks. No one is going to give you specifications to write test cases or tell you to specifically execute what test cases. Instead, look for whatever you can do to help the whole team reach the sprint goal.More on that below.
2. Work closely with the developers. Don’t be afraid to ask for help from them. In the meantime, add value to the team.One of important value that a tester can bring to the Scrum team is to be a bridge between the customer and developer. The objective for any software development project is to satisfy the customer (or project sponsor). However, customers sometimes can’t express their requirements clearly or concisely, thus frustrating the developer as they are anxious to start writing code. Testers can contribute a customer point of view for the product, thus representing the project sponsor, while also being knowledgeable of the implementation details. This can bridge the communication and help the customer and developer stay on the same page.
3. Investigate new tools to help you and your team to improve its effectiveness. There are a plethora of tools available with new ones available each month and considering that in Scrum, the sprint is usually not long (2-4 weeks), testers can try tools in one sprint and reach a conclusion in the retrospective meeting if they are suitable for adapting into a long term use. Again since sprints are short, tools that make things faster or easier or organize such as test management, and test automation are usually the ones that will receive the most welcome.
4. Keep improving your skills and knowledge.We like to raise testing issues in the retrospective meeting to let the whole team brainstorm and come up with solutions or improvement suggestions, and then implement them in the next sprint.While trying new automation tools that fit your software architecture and development environment, also try to work on different exploratory testing techniques as you should have more time for this if your automation efforts are successful.