


EDUCATION
Agile Testing - Tester in Team
BY AAP Bridge at AAPBridge
Agile Development is team-centric and developers and testers take part in all the project and development activities. The Teamwork maximizes success of testing in Agile projects.
A Tester in Agile team has to participate and contribute to all the project activities and at the same time has to leverage the expertise in testing.
An Agile tester should have traditional testing skills. In addition, Agile tester needs −
Good interpersonal skills.
Ability to act positive and solution-oriented with team members and stakeholders.
Ability to display critical, quality-oriented, skeptical thinking about the product.
Aptitude to be pro-active to actively acquire information from the stakeholders.
Skills to work effectively with customers and stakeholders in defining testable User Stories, the Acceptance Criteria.
Talent to be a good team member working with developers in producing quality code.
Usability of testing skills to have the right test cases at the right time and at the right level and executing them well within the duration of the sprint.
Ability to evaluate and report test results, test progress and the product quality.
Openness to respond to changes quickly, including changing, adding or improving test cases.
Potential to self-organize work.
Enthusiasm to continuous skill growth.
Competency in Test Automation, Test-driven Development (TDD), Acceptance Test-driven Development (ATDD), Behavior Driven Development (BDD) and experience based Testing.
Role of Tester in Agile Team
Tester in Agile Team participates in all the project and development activities to contribute the best of the testing expertise.
Agile Tester Activities include −
Ensuring proper use of testing tools.
Configuring, using and managing the test environments and the test data.
Mentoring other team members in relevant aspects of testing.
Ensuring that appropriate testing tasks are scheduled during the release and sprint planning.
Understanding, implementing and updating test strategy.
Collaborating with developers, customer and stakeholders in clarifying requirements, in terms of testability, consistency and completeness.
Performing the right tests at the right time and at right test levels.
Reporting defects and working with the team in resolving them.
Measuring and reporting test coverage across all applicable coverage dimensions.
Participating in sprint retrospectives, proactively suggesting and implementing improvements.
In the Agile Lifecycle, a tester plays a significant Role in −
Teamwork
Test Planning
Sprint Zero
Integration
Agile Testing Practices
Teamwork
In Agile Development, teamwork is fundamental and hence requires the following −
Collaborative Approach − Working with cross-functional team members on Test Strategy, Test Planning, Test Specification, Test Execution, Test Evaluation, and Test Results Reporting. Contributing the testing expertise in conjunction with other team activities.
Self-organizing − Planning and organizing well within the sprints to achieve the targets of testing by amalgamating expertise from other team members as well.
Empowerment − Making appropriate technical decisions in achieving the team’s goals.
Commitment − Committing to understanding and evaluating the product’s behavior and characteristics as required by the customers and stakeholders.
Transparent − Open, Communicating and Accountable.
Credibility − Ensuring the credibility of the test strategy, its implementation, and execution. Keeping the customers and stakeholders informed on the test strategy.
Open to Feedback − Participating in sprint retrospectives to learn from both successes and failures. Seeking customer feedback and acting quickly and appropriately to ensure quality deliverables.
Resilient − Responding to changes.
Test Planning
Test Planning should start during the release planning and update during each sprint. Test planning should cover the following tasks −
Defining test scope, extent of testing, test and sprint goals.
Deciding on the test environment, test tools, test data and configurations.
Assigning testing of features and characteristics.
Scheduling test tasks and defining frequency of tests.
Identifying test methods, techniques, tools and test data.
Ascertaining prerequisites such as predecessor tasks, expertise and training.
Identifying dependencies such as functions, code, system components, vendor, technology, tools, activities, tasks, teams, test types, test levels and constraints.
Setting priorities considering the customer/user importance and dependencies.
Arriving at the time duration and effort required to test.
Identifying tasks at each sprint planning.
Sprint Zero
Sprint Zero involves preparation activities before the first sprint. A tester needs to collaborate with the team on the following activities −
Identifying scope
Dividing user stories into sprints
Creating system architecture
Planning, acquiring and installing tools (including testing tools)
Creating the initial test strategy for all the test levels
Defining test metrics
Specifying the acceptance criteria, also called the definition of “Done”
Defining exit criteria
Creating Scrum board
Setting the direction for testing throughout the sprints
New Section