Best Practices in Testing/QA?

I see the term “best practice” pop up a lot in discussions around testing.

For me, I feel like a best practice is something that’s situational, so there is a best practice for you in the situation you are in. More generally speaking, I feel that good practices exist but that one true best practice is a difficult thing to quantify.

Do you think that best practices exist? Why?


Short Answer - Yes, actually do the testing you need

Slightly longer answer the implementation of a best practice is situation, but the high level best practice is doing whatever is easiest for you that produces the right result.

Its good to fall into the pit of success where it is harder to do the wrong things than the right thing (whether that is paperwork for waivers of hacking some automation in)
Bill Gates said he liked to hire lazy people as they find the easiest way to do things, so it is worth challenging the way you work to find out if there is a better way of doing what you need to do.

There is also the main blocker to this is that best practice usually is more than a single person effort, in cross skill teams the best practice can be found around communication, handover shared understanding. And what can be best practice for the team as a whole might not appear to be the best practice for individual (as it might require more work from x to make y’s job 3x easier) so it is rarely a one person crusade that can implement a best practice across the board.

To answer this properly I think we have to define what we mean by ‘best practices’ and I don’t think only one definition could apply.

As you say Heather, situation is very important here as is understanding, context and so on. It might be better expressed as something like;

This is the best practice for this situation given the amount of understanding we have about the context of our testing, the risks we are trying to investigate and our knowledge of testing.

It is almost certainly true that our understanding of the context may have missing information. We haven’t considered all risks or there are gaps in our knowledge. Given all this is why I personally prefer using ‘good’ or ‘better’ in context with practice.

It is good / better practice in these types of situations to…

Other very valid reasons and opinions are available :smile:


In my view there is no such thing as “best” practices. There are a lot of good practices, some of which contradict each other, because what is best for one situation and type of software is not necessarily best for a different situation.

For instance, the best practices for testing embedded software in an MRI system are going to be completely different from the best practices for testing casual games played in a browser. These will be different again from the best practices for testing social media sites. And so forth.

What is best for a particular application will depend on what the application does, whether the application serves an industry that is heavily regulated or not, whether anyone’s life depends on the application working correctly, customer and user expectations of the application (payroll software has a rather higher requirement for accuracy than casual game software), and the company culture - as well as many other factors.

Trying to eliminate all bugs might be feasible - or even required - for software that monitors the release of controlled medication to a patient. For casual games, it’s not worth trying - better to focus on eliminating anything that stops the flow of the game and as many of the more annoying other bugs as possible because otherwise a competitor will get ahead.


I like the Context Driven Testing principle:
“There are good practices in context, but there are no best practices”.



There are lots of tricks and techniques to work on the quality assurance process. But it is more difficult to work on effective quality assurance testing practice as compared to work on different projects. As per my experience, every practice is different based on web and mobile, Small or large projects, etc.

But Here I would like to suggest you some good Practise that every tester should consider;

  • Understand business goals
  • Clear about Acceptance Criteria
  • Analysis of the Tools and Support Platforms
  • Design Test Plan
  • Use Proper Test Cases/Checklists.
  • Work on Continuous Integration
  • Share new or updated Testing Plan or Test Cases to client

I hope it will be helpful to you…

1 Like

I think the use of language and how they can be interpreted is important to consider with best practices.

I have seen it said that best practices can be interpreted more as rules, but that can in turn be gamified, used as an excuse to not do something or limiting the creativity of those operating within those.

That isn’t always true, of course, but I subscribe more to common understanding, pursuit of quality over chasing compliance, and the use of good practices or a charter that is collaboratively created.

1 Like