During my past years as a tester, I often wondered how to get a higher customer satisfaction. I could go great lengths describing the required skill set and give examples (actually I already did that over here). When actually the truth is much simpler.
It’s not rocket science, it’s all about preparations and prerequisites.
Prepare to be prepared
Over the years, I have worked with a lot of testers. We more or less shared the same views on how to do our jobs and even when all was not going according to the plan.
But lately I am more and more surprised at how disregarded preparations are. I have seen former colleagues taking on a test campaign without asking for any prerequisites. Then when day one arrives, most inputs are missing to run the tests properly and you can hear them say:
- “Can you believe the test accounts were not ready”.
- “The application was still under functional tests and I could not prepare my virtual users”.
- “I had only a 2 hour window to launch my tests so I don’t have much results to present”.
If you have experience in performance testing, you probably ended up in one of these situations. This mainly happens because of lack of experience or lack of communication on the requirements.
It’s not my fault
What surprises me is that quite often the tester blames it on the customer. Of course, it’s always easier to blame someone else. It gets even easier when this someone else is not physically here.
If you planned your campaign carefully and asked for all prerequisites in due time, that might even be true. Even so you should always consider how you could have worked to avoid this. For example sending a large email asking for all the prerequisites is fine. But if you do not follow up and make sure the prerequisites are being implemented in due time it’s useless.
What do I need to prepare?
You must remember that performance testing is not a standard procedure for most companies. This means that how to prepare a test campaign is unknown to most customers you will work for. It is your job as a tester to educate on how to prepare the test campaign.
For instance, here is a quick list of prerequisites you should ask as soon as possible in the discussion:
- Repeatable User journeys to be simulated.
- Dataset to replay these user journeys.
- Test schedule (day? night? week end?).
- Application version must remain the same during the tests.
- The test architecture must be:
- Dedicated to the tests
- Realistic when compared to production
- The reset procedure between two tests must be prepared (database restore, etc…)
Most of this might seem obvious to you but you have to make sure it is also obvious for your clients or the rest of your team. You cannot expect the people you work with to guess everything you need for your campaign.
They did not guessed what I needed
I saw a perfect example of this not so long ago.
A former colleague went to work for a customer a couple of days to prepare a load test. The tests would happen later but as there would be no other convenient time, the preparation was made in advance.
Once he got there, he was given an account to log in and prepared his virtual users. A couple of hours before leaving on the last day, he asked for the rest of the accounts to put them in the virtual users. The problem was, the new accounts had different rights and were not working properly with the virtual users he had prepared. He then proceeded to leave and tell the customer to prepare a list of similar accounts. When he got back, he told this story to whoever would listen and laughed at how unprepared the customer was.
Nobody asked him if he warned the customer of this requirement in advance. As a matter of fact, I know he didn’t. How can you expect things to be ready for you if you don’t ask? I’m not judging, because I might have acted the same in the past, maybe because I was a beginner, maybe because I didn’t anticipate enough. I’m not proud of that, but hey we all have to learn.
All I’m saying is that blaming someone else is fine if it helps you sleep. But the root of the problem might lie elsewhere. Performance testing is not as common as you might think so as a tester you should never assume that your requirements are “logical” or “just make sense”. That is the best way to get into trouble. And that does not only apply to load testing!
- Never assume that you will get what you need without asking,
- Requirements should be asked for as soon as possible,
- Never blame a missing requirement on others, try to figure out how to get it next time.