Agile Testing Interview Questions are designed to test your knowledge of agile principles and testing practices.
Q. What is Agile Testing and how is it different to traditional waterfall or the V model?
Agile Testing is testing practice that follows the principles of agile software development. Agile testing involves all members of an agile team with special skills and expertise to ensure business value is delivered at frequent intervals.
The big difference is that in Agile environment, testing is not a phase, it is an activity parallel to development.
In agile environment, small features of software are delivered frequently, so testing activity should be parallel to development activity. Testing time is short as we are only testing small features.
In the waterfall model, there is a testing phase at the end of the development so, testing is a big effort done after the whole application is developed. Testing time is long as we have to test the whole application.
Q: What is your approach when requirements change continuously?
This question can be asked if you are interviewed for an agile QA position where requirements are likely to change frequently during development. Although a complete change in requirement is possible, most of the time, it is the technical details that are subject to change. e.g. the intent of the requirement or behaviour of the feature is the same but implementation details can change
A: Some possible answers can be:
- Write generic test plans and test cases which focus on the intent of the requirement rather than its exact details
- Work very closely with the product owners or business analysts to understand the scope of change so testing can be updated
- Make sure the team understands the risks involved in changing requirements especially towards the end of sprint
- If you’re going to automate this feature, it is best to wait until the feature is stable and requirements are finalized
- Negotiate to see if the changes can be kept to a minimum and/or implement the changes in next sprint
Q: What are good characteristics of an Agile Tester / QA?
When attending an Agile Testing Interview, questions can be asked to find out what you really understand from an Agile Tester or Agile QA role and how you will fit with the rest of the team.
A: Some good characteristics of an Agile Tester are
- Good communicator – In agile teams, there is increased level of communication with the Devs, QAs and BAs
- Priorities change frequently in agile projects, so the Agile QA should be able to prioritize the tasks accordingly
- Should not be afraid of change
- Ideally Agile Testers should be multi-skilled and technical or at least understand the technical terminology so that they don’t feel alienated from the rest of the team when developers talk in technical terms
- Should understand Agile concepts and principles
- Participate in daily sprint planning, stand-ups, retrospectives. Note the word Participate, meaning to actually talk and take part in discussions rather than just attending the meetings
Q: What are the two key factors when working as a QA in an Agile team?
A: QA can add a lot of value to an agile team because of the different mindset. Testers can and should think about the different possible scenarios to test a story. However the most important asset that they can bring is:
- To prevent defect. QA should advocate best practices along the way to prevent defects from entering the system in the first place.
- To provide fast feedback. It is important for developers to know if the new functionality works as expected and if regression tests pass, and they need that feedback quite quickly. QA should provide the results of the tests to developers as soon as possible.
Q: What are the three main roles in Scrum?
A: The Scrum team consists of three main roles:
- Product Owner: Manages the product backlog. PO is the voice of the business and create new features to be developed for the application.
- Scrum Master: Responsible for managing the sprint, remove any impediments and keeps track of the progress of the project.
- Scrum Team itself: Composed of developers, designers and QA. This forms the team which is responsible for delivering high quality software.