This post is written by Kieran Williams, QA Manager at Catch who has developed the highly successful QA management tool Enterprise Tester. Kieran has been involved in software testing since 1999.
Have you noticed most of the testing information out there is quite often about the theory of testing? This is nice, but sometimes gets a wee bit monotonous and wordy too… If you are reading this you probably have a testing background and you are probably of the practical nature. “Give me something clear and concise” I hear you say! So I will and as an added bonus I will also try not to make it too long or too boring.
Here are my 10 tips to create the best chances for success when your team is testing projects in your organisation. I am sure there are many more, so feedback and comments would be great to see!
1. Great Staff
There are a lot of great staff out there and typically with testers I find attitude is everything! Sure, you can learn great technical skills but if your team members don’t have the right attitude or intuition for testing you will probably be out of luck. If you are lucky enough to have great Test Leads or Testers you will probably find they have the right attitude and social skills to deal diplomatically with people of all levels in all sorts of roles. JDI is always a good approach!
Speaking of tester’s intuition, check out one of the earlier blogs in the series on using your intuition, Testing and Bad Smells: When to Investigate Potential Bugs. Thanks Penny for a great post!
2. Get the Team Involved
Following on from getting your A-Team together, you now need to get them involved in every which way you can. Get team members involved in documenting the process, in the decision making for your projects, and encourage actively speaking up when they see problems or issues. Keeping the communication lines open with honest and frank discussion, and group involvement, is always going to be better than a dictatorship!
3. It’s your Process – do what fits you!
You may decide that you want to do a little of each methodology or make up your own process. It doesn’t really matter as long as you have your process documented. That way, you can ensure all of the team are on the same page when it comes to projects across your organisation, plus any rogue testers can be directed to the process in order to straighten them out if need be.
4. Risky Business
Manage your risk. Easy to say, sometimes hard to do. Especially if you have limited or no requirements. Having the team prioritise which functional areas need to be tested first, based on risk, will typically pay off. Ensure you invest a little bit more time up front in your planning and get those risky areas tested early, this will shakedown the critical code paths before you get too far down the test execution track and then run out of time.
5. Be Flexible
Testers and flexible. Not necessarily two words you expect to see together in the same sentence, but in the QA world let’s face it… things don’t always go to plan. In fact, more often than not things don’t go to plan.
Sometimes these things are out of our control and that’s just the way it is. What is stopping you from encouraging your team to try another approach? Trying different approaches may or may not work, but encouraging your team to be flexible and come up with other ideas may give you surprisingly good results.
6. What metrics do you want?
The one size fits all approach just doesn’t work for collecting metrics. It depends on so many factors and unless you are using a Test Management Tool of some description you are unlikely to have all the stats you need at hand.
As a starting point you need to understand what the key factors are that mean most to you. Do you have a drop dead date for your projects? Do you need your requirements to be exact? Do you need your estimation to be near perfect? Once you work out what is critical to you and your organisation, start collecting the metrics for this. Focus the collected metrics around your key factors and this will help you get what you need without creating a significant overhead in collecting all other metrics.
7. Clear Reporting
There is nothing worse than a report that has too many words and not enough pictures! Make your reports clear, concise and as up-to-date as they can be.
By providing clear and up-to-date information your own team, as well as your management team, will be much more aware of the status of your testing and any issues you face. Any key issues can then be tackled as and when they occur, or red flags be raised earlier rather than weeks down the track.
My original comments on test estimation are as follows, “Arrrgh… test estimation. Get your team to get it right and you may have uncovered one of the mysteries of the world. Enough said.” Then I thought I better expand a bit…
Your organisation has many unique factors that you need to take into account. The best form of estimate can be based on past test execution history – generally only available when you have previously collected metrics on test execution. Other than that you will need to have your team factor in as much as you can regarding areas such as environment, quality of resources, past test execution history, and technical difficulty.
9. Test Management Tools
There are loads of Test Management Tools out there at the moment. As mentioned previously, metrics and reporting are made all the more difficult if you don’t have one implemented. The tools out there at the moment vary wildly in price. You can get some relatively cheap tools (or very expensive if you prefer) that are actually usable and give you the ability to store your scripts in one repository, collect metrics, and provide reporting.
It is well worth a look at least… (FYI – this information is coming to you from a Test Management Tool convert!).
10. Sort your Environments Out
Getting your test environments sorted is a critical task, however this is often much easier said than done.
Environmental issues are often the single most time consuming (aka time wasting) aspect of a test phase in any organisation. Key to getting the environments set up is the “who”. Who owns the environments? Who can create them for me? Who can fix them for me? Get the “who” sorted out – preferably they will be an expert in the environment – and everything else might just fall into place a bit better.
Now… if only I could take my own advice and implement all of these 10 top tips my own projects will run smoothly! As I mention a few times in this article, things are easier said than done…
Kieran Williams is a software tester who has been in the industry since 1995.The majority of her time has been spent in consulting and contract roles, which have spanned multiple industries and countries. Kieran is now the QA Manager and one of the key team members behind Enterprise Tester.