The Required Test Competencies in Agile
There are various risks involved while focusing alone on automated functional testing. This results in a huge gap in terms of integration testing, exploratory testing, and other non-functional areas like performance and usability. However, with the most advanced testing roles, test competencies are still required.
In case of cross-functional teams, it should not comprise of all individual experts like a tester, a programmer, etc. or all generalists. Bearing all generalists in a team could prove risky, as it might fail to provide the required skill set for effective software development. Moreover, while creating a test case design or performing clean test automation, such competencies appear to get adrift, especially when interpreting Scrum, which involves only Scrum Master, Product Owner, and Developers in the team.
According to Fran O’Hara, Director and Prime Consultant at Inspire Quality Services, teams with the professional testing ability have an edge over the teams without them. This provides the required mixture of skill set and even personality characteristic in the team. Testers often go bookish in getting details, which usually results in misjudgment and gaps in requirements prior to its involvement in the product.
Competencies relevant to non-agile environments might also be required in agile. Such competencies include test process, strategy definition, test planning, etc. and are usually assigned to test managers. The need for planning and coordination is still required at a certain point before delivery, requiring the agile team to focus on performance, usability, etc. However, for the on-going testing, the focus remains on the functional aspects. For organizations that array new lineaments into large releases, require a certain level of system integration.
In order to fill the test competency gap, there is a need of test consultants, who can work across multiple platforms. However, the ultimate goal is to work with the cross-functional team to reach full testing integration, as shown below.
In order to reach the level of test integration, multiple working practices are required. Some of them are mentioned below.
- Acceptance test driven approach
- Include exploratory planning or other test tasks in sprint planning
- Create short stories to be tested early in the sprint
- Limit work to a few stories at a time
- Avoid testing or verification as a last step activity
- Refine backlogs frequently and effectively
- Focus on reviews, code standards, and code quality
- Strict to the defined rules
Backlog refinements are crucial while considering requirements from a business perspective. However, for an effective activity the product owner must include the initial set of acceptance criteria along with the high level features. This could help in further refining, resulting into smaller and clear scoped stories.
While concerning with the past, one should focus on improving and ensuring sufficient internal code quality and external functional and non-functional quality.