The solution/software development process under Agile is more fluid and requires continuous testing. Testing in the Agile world has certain characteristics:
- Quality/Testing is the team’s responsibility – everybody is a tester
- Testing must be continuous
- Multiple stories/components may be in test at the same time
- There is a greater focus on automated testing
- Testing is ‘layered-up’ as functionality matures
- Input artefacts are different – user stories, wireframes
- Documentation develops as the function develops
Completing a piece of the system, referred to as a story or backlog item, means that product management, software development and testing work together toward a common goal. The goal is for the story to be ‘done.’ The effort estimate is another team activity, which also includes Test. The team also identifies dependencies, technical challenges, or testing challenges. The whole team agrees on final acceptance criteria for a story to determine when it’s ‘done’.
Agile testing is continuous, since everyone on an agile team tests. However, both the focus and timing of testing is different depending on what type of testing is performed. Developers take the lead on code-level tests and may incrementally develop automated test packs. These may be developed by testers using test automation tools. Furthermore, business representatives have a focus on acceptance testing, while the tester(s) on the agile team provide early feedback during all stages of development.
The agile team are aware of progress on unit testing, functional testing and business acceptance, and they take the lead on acceptance test automation, building regression test plans, and uncover additional test scenarios through exploratory testing.
This is a broad approach, there are manual and automated functions to be executed, unit/module level, application level and user interface testing to be completed, environments and test datasets to be defined and managed. There are “jobs” to be done and who exactly does what and when depends on the team composition and capabilities, and the agile model being operated. It is also influenced by the organization size and the type of IT Operating model in operation the level of IT capability inhouse vs reliance on third party/outsourced /SAAS.
It is important that a test specialist has overall oversight of SQA and Testing to ensure coverage is right, that all elements of testing are covered and the quality standard in the definition of ‘done’ is achieved. This is particularly important as more ‘hybrid’ roles appear mixing development and testing skills. A Test professional brings a testing skill, experience, and mindset often different to a developers or business user mindset.
This person operates like an ‘Agile Test Co-Ordinator’ or ‘Agile Test Lead’ who liaises with team members, represents Test at “stand ups”, participates in Sprint planning and ensures that all team members are playing their part in ensuring the output meets the quality standard in ‘done’.
In addition, the Agile Test Co-Ordinator or Agile Test Lead ensures acceptance test coverage is adequate, leads automation efforts on integrated, system-level tests, manages test environments and test data, identifies regression concerns and shares testing techniques. Additional testing, such as performance testing or operational acceptance, which falls outside the scope of story-level testing, can be addressed through test-oriented stories, which are estimated, planned and tracked just like a product-oriented story.
The use of automated testing tools is another key aspect of maintaining the quality standards in an Agile environment characterised by continuous development and testing. The automation strategy, tooling, roles, timings needs to be decided/agreed at the outset in sprint planning and reflected in the quality strategy. The key Test professional liaises with Test/Development/Technical management to ensure this happens and the detail is reflected in sprint plans.
At Vantage Resources we use our METISURE framework to guide our delivery of SQA & Testing services to clients. This covers SQA and Test strategy development including agile approaches, test automation, and supplying expert staff to support quality delivery throughout the life cycle of the project.
Below is a brief description of what this Test specialist role might look like:
SAMPLE ROLE DESCRIPTION FOR TEST CO-ORDINATOR/AGILE TEST LEAD
Role: Test Co-Ordinator/Agile Test Lead
Role Description: Assist the Test Manager/Scrum Master and take responsibility for managing the test effort and deliverables for Agile Testing within a programme or project as directed by the Test Manager/Project Management
- Work with Test Manager/Scrum Master, business and IT stakeholders to develop and understand the approach to agile being adopted and the quality approach being adopted within and across sprints.
- Document the test approach, test roles and responsibilities, test tools being used and ways of working in agreement with key project stakeholders. Align Test activities and resourcing with overall sprint plan.
- Continually co-ordinate testing activities across the agile team. Dynamically adjust activities in line with daily meetings.
- Be a catalyst for a “one team” approach to quality – no “us” and “them”
- Represent Test at daily “stand up” meetings and report on the progress of Test and the quality of the software using agreed metrics.
- Communicate with key stakeholders (IT, Business, Project Manager) to ensure test environments, software releases and test data bases are correctly set up and available according to plan.
- Ensure effective defect management and produce Test Exit status document at the conclusion of each sprint.
- 2 years test/QA lead experience
- 4 years software test experience
- ISTQB Advance level is required.
- Experience of Agile methods, with at least one Agile project completed
- Demonstrate ability to discuss Agile testing approaches with business users & IT
- Experience of Agile testing tools e.g. Selenium
- Significant experience of Metisure framework
- Understanding of business area, a distinct advantage