Monday, May 9, 2016

Agile Testing Mindset and the Role of the Agile Tester



Agile Testing Mindset and the Role of the Agile Tester


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
  • Early Involvement over Late Involvement
  • Short Feedback Loop over Delayed Feedback
  • Preventing Defects over Finding Defects

What Skills Should an Agile Tester Have?

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
  • Plan and organize their own work

The Role of a Tester in an Agile Team

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:
  • Understanding, implementing, and updating the Agile Test Strategy
  • Work with Product Owners to define Acceprance Criteria and the Definition of Done.
  • Measuring and reporting test coverage across all applicable coverage dimensions
  • Ensuring proper use of testing tools
  • Configuring, using, and managing test environments and test data
  • Writing and executing automated checks and reporting back to the team
  • Reporting defects and working with the team to resolve them
  • Coaching other team members in relevant aspects of testing
  • Ensuring the appropriate testing tasks are scheduled during release and iteration planning
  • Actively collaborating with developers and business stakeholders to clarify requirements, especially in terms of testability, consistency, and completeness
  • Participating proactively in daily standup meetings, story grooming sessions, team retrospectives, suggesting and implementing improvements
Within an Agile team, each team member is responsible for product quality and plays a role in performing test-related tasks.
Agile organizations may encounter some test-related organizational risks:
  • Testers work so closely to developers that they lose the appropriate tester mindset
  • Testers become tolerant of or silent about inefficient, ineffective, or low-quality practices within the team
  • Testers cannot keep pace with the incoming changes in time-constrained iterations
Posted over "Testing Excellence" by Amir Ghahrai at May 4, 2016
http://www.testingexcellence.com/agile-testing-mindset-tester-role-agile-team/

Tuesday, May 3, 2016

10 Skills That Can Make You a Great Tester

There is always room for improvement and making things better.
If starting as a QA fresher and spending a few years in the field have not changed you from tester to a Good/Great tester, this article is for you. Read on –
Testing, reporting, and finishing a task is something anyone can do after a while with experience and training. But, being a tester is so much more.
Be a great tester to rise and shine in the field.
What can get you there? Let’s find out!

How a Tester Can be a Great Tester

#1) Positive attitude
Positive attitude is a key agent to succeed in any field and software testing is not an exception.
Great testers are:
  • Always ready to put in extra efforts.
  • Help make the product quality better.
  • Aid in hurdle-free delivery
  • Support meeting
Great testers keep a positive attitude. They care. They understand the power of positivity.
To instil positive attitude, testers should be given ownership of tasks, prompt appreciation, and interesting assignments.
#2) Good communication
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 skills can be acquired easily by joining communication training sessions and practicing the same regularly. Please note that good communication really does not mean, writing or speaking fluent English alone, although that helps.
#3) Multi-tasking abilities
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.
#4) Quick learner
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. :)
#6) Team player
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.
Quality ultimately means end user’s satisfaction.
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.
#8) Analytical abilities
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.
#10) Practice empathy
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

http://www.softwaretestinghelp.com/how-tester-can-be-great-tester/