Agile Testing Mindset and the Role of the Agile Tester
In an Agile team, testers must closely collaborate with all other team members and with business stakeholders. This has a number of implications in terms of the skills a tester must have and the activities they perform within an Agile team.
Agile Testing Mindset
Agile Testers need to break away from the principles and working methodologies of traditional software development. In order to succeed as an Agile Tester, the right mindset is required.
The Agile Testing Mindset, could be summed up in twelve principles:
Quality Assistance over Quality Assurance
Continuous Testing over Testing at the End
Team Responsibility for Quality over Tester’s Responsibility
Whole Team Approach over Testing Departments and Independent Testing
Automated Checking over Manual Regression Testing
Technical and API Testing over Just GUI Testing
Exploratory Testing over Scripted Testing
User Stories and Customer Needs over Requirement Specifications
Building the Best Software over Breaking the Software
In addition to the skills required for a tester working in a traditional waterfall project, a tester in an Agile team should be competent in test automation, test-driven development, acceptance test-driven development, white-box, black-box, and experience-based testing.
As Agile methodologies depend heavily on collaboration, communication, and interaction between the team members as well as stakeholders outside the team, testers in an Agile team should have good interpersonal skills. Testers in Agile teams should:
Be positive and solution-oriented with team members and stakeholders
Display critical, quality-oriented, skeptical thinking about the product
Actively acquire information from stakeholders (rather than relying entirely on written specifications)
Accurately evaluate and report test results, test progress, and product quality
Work effectively to define testable user stories, especially acceptance criteria, with customer representatives and stakeholders
Collaborate within the team, working in pairs with programmers and other team members
Respond to change quickly, including changing, adding, or improving test cases
The role of a tester in an Agile team includes activities that generate and provide feedback not only on test status, test progress, and product quality, but also on process quality. These activities include:
It helps overcome critical problems easily. You can understand problems easily, document better and convince effectively.
A great tester has excellent communication skills and uses it to ask questions, to present his opinions and to discuss critical scenarios/impact thoroughly.
Good communication skillscan beacquired easily by joining communication training sessions and practicing the same regularly. Please note thatgood communication really does not mean, writing or speaking fluent English alone, although that helps.
Multi-tasking abilities are the demand of today’s era.
A great tester must juggle multiple activities, such as:
Generate and execute test ideas
Design test cases
Write effective bug reports
Work on multiple projects and provide updates.
Not only that, you should also prioritize and schedule your activities accordingly.
Multi-tasking abilities need practice and the right mindset.
A great tester is a quick and self-learner.
You do not HAVE to learn new stuff, you should WANT to learn it. You should be able to update yourself with new technologies, processes, tools, skills etc. on a regular basis.
Quick learning cannot be taught but it can be developed with patience, planning, practice, and perseverance.
#5)Passion for testing
You have got to love your job.
A passion for delivering quality, for providing better user experience, for generating new ideas, etc. is critical.
‘A passionate tester is always better than a technically sound developer.’
It is an absolute game changer. You will never be bored. You will never overlook something to test. You will never report a case without thoroughly researching. You will never ignore a corner case. Most importantly, you will not look at testing as a thankless job. :)
Being a team player is a must for every job but it takes on a whole new dimension because we have to deliver bad news. To do this well, you have to be understanding and giving. Don’t play the blame-game. Stay positive.
Rejuvenating this skill is very important to be a great tester and a good human being.
Irrespective of what the requirements say think about the end-user impact. This is easy because we are software users too even though we are professional testers.
With continuous study, observation and comparison, end user’s perspective can be cultivated.
Our primary responsibility is to help make software as bug free as we can. Every bug follows a pattern and a great tester is always good at observing that pattern and reporting all the bugs of the same pattern.
In-depth analysis and creativity help in nurturing good analytical abilities.
#9)Be an inspiration and a role model
You are right; this has nothing to do with testing. But I believe we have plenty of scopes to spark inspiration in people we interact with everyday. You might be the last one in a queue, but in a few minutes, there will always be someone behind you. So, no matter what position you are in, there are people looking up to you.
In a team, if the team lead often gets into arguments with the developers, naturally the team will too. If a team member does not follow a template, the others might think it is OK to not follow a template.
Being aware that every action of ours resonates somehow in another around us should make us aspire to inspire without even trying.
There are plenty of ways to leave your mark on otherwise mundane tasks:
Be the best at what you do
Being on time
Paying attention to detail
Coming up with a new best practice
Finding a problem that could have caused a major breakdown
Learning a new skill and volunteering to teach your peers
Being courteous in your communication
Gather a reputation for being the best tester/best defect reporter/or best metric generator.
Once again, this might not feel like an attribute testers need. Especially since there is a lot of talk about how testers should guard, protect and guide their defects to resolution and all.
But testers have to have the quality to be able to feel and not just be automatons. It helps the testing process too.
Take, for example, a brand new application that is just being integrated as a trial run. Would you just come crumbling on it, wage a war and report that it is fit for nothing? Or would you be test it sympathetically and try to find problem areas so you can help the developers aid further improvement?
Let’s look at it from a real world example perspective. You just finished building a chair. Would you jump into it or sit carefully the first time? The later, isn’t it? After you are confident it holds you then start adding unusual weights etc.
Testing in the initial stages has to be subtle, slow and kind.
Also, empathy can help you be a better team player – not only within your team but with external teams as well. When in doubt, be kinder than you need to be.
Posted over LinkedIn by Vijay Shinde at May 2, 2016