Fail is for the Winners Part Two: Accidents

Best advice for a software tester: make mistakes.

When it comes to black box testing (testing software from user’s perspective), let all your imperfections loose! You don’t need to be a professional user all the time, you can be a clumsy user misclicking something. This kind-of-out-of-the-box-testing-strategy hits security parts. And, trust me, those are the most interesting bugs which can even break the system.

Most of the best bugs I found were found by accident. I did something that I was not intended to do, and, bang – beautiful bug appears. Of course, usually bugs like that are really difficult to reproduce because being such a free spirit and doing something unplanned, you cannot remember exactly what you did.

Trying to reproduce that bug is a long journey sometimes. However, it is wonderful. Your adrenaline is rushing to catch the leg of that bug again. You are a little bit bitter that you slipped it and cannot remember how to reproduce it. And, you just cannot give up because you had it in your hands, and, it’s one of the best bugs you found. The ‘destination’ of finally finding that accidental bug is more than words can describe. It fills you up with harmony and self pride.

Accidental bugs are the best in my opinion. They are the ones that define the purpose of manual testing:

Humans do mistakes and that’s why automated testing will never substitute manual testing done by imperfect humans.

Set yourself free! Get crazy with your software. Misclick, choose another option, experiment, and… break it.

Fail is for the Winners Part One: Neglected Bugs

“Ever tried. Ever failed. No matter. Try again. Fail again. Fail better” – Samuel Beckett

Sometimes software testing is like a roller-coaster ride: fails (bugs) make you happy, but at the same time sad, and… to make matters worse: sometimes you may fail by reporting something that is not actually a bug.

At the very start of my work, I was scared to file a bug in order to avoid a… failure. How would I feel like if it actually figures out to be not a bug, but a feature? Maybe I’m just not aware of how the software must work.

Later on, I got braver and braver…

I have filed more than 100 bugs in past 3 months. In this new project we just started, I’m the tester who has filed the biggest amount of bugs. Does it make me the best tester? No.

The best tester is the one who gets the most bugs fixed.

Of course, filing a lot of important bugs gives you a bigger chance of actually getting a lot fixed, but… another side of this is that there will be a lot of Closed bugs which will be neglected and it makes you feel a little bit stupid for filing them after developer’s responses like “it works as designed”, or, “cannot reproduce”.

It takes time and practice to learn how to deal with them, but…

Don’t get down because your bugs were neglected. If there is a chance – file it as a task or enhancement. Even if bugs sometimes get closed for various reasons, it is always very useful to put attention on them. What you are doing is great and maybe first 2 times that bug will roughly be marked as Works as Designed, but in future releases someone will take it as an amazing suggestion to improve the software.

And, remember, don’t let failures bring you down. Don’t be scared of being laughed at. It would be way worse not to do anything and sit silent.

There is only one way to become a professional at what you do: Fail.
Fail a lot and never stop moving forward. Only leaving your comfort zone, you will reach some of the most amazing things in the world…

The Perks of Being a Software Tester

Today is exactly one month since I started my job. For this reason, I decided to give you a little treat and name all the best things you get with becoming a software tester. 

1. Software-awareness. 
Here I’m not just saying that you will learn more about the software you are testing. The more experience you have with software, the more comfortable you are to try out something new and make your life easier. Attitude on software just widens up making you try out features you never used before.

2. Ability to try out new software products.
Try out may be even a too humble expression as it is so much more than that. Being a software tester you participate in the process of creating a good software product. This makes you get to know the software really well. When it comes to testing integration, you get to try a lot of different products, for example, Autocad, Office, etc. All the newest products are there for you to try out. Of course, most of the job may be based on integration part, but you get to know the in-built flaws, and, new features, of the software. All of this allows you to learn more about what’s in the software market right now, try the product out legally, and, get to know what’s new in this new version of it.

3. Software testing is dynamic and full of constant learning.
There may be days that are bug-free, and, full of sadness by being repetitive, but, in general, being a software tester, allows you to test all kinds of different software. Usually, there are projects and they don’t last too long. For example, a new update for this product is coming to the market at a certain date, and, of course, the release build has to be bug-free. However, usually testing and fixing bugs for a new release may take only a month or two if it’s just an add-in. This means that you move on from one product to another, and, you learn new things constantly.

4. You are not scared of failing anymore.
First, I thought to name this “Being a software tester awakens your inner child”, but fail is the thing that inner child is not scared off. Children can be quite rude with their brutal honesty and bravery. They are not concerned what people think of them, they fall and get up, they are not afraid to try new things and are curious. Later on in life they get full of society’s norms and rules, and… become adults. Adults who are thinking of what others may think and are scared of trying new things in order not to fail. Being a Software tester breaks this attitude so much. We get happy when something fails. Software testers are not afraid to try something totally silly: what happens if I press on this big red button? (Adults would shout: Just don’t press the red button!). This changes the attitude on failing in life on the whole. It’s fine to fail, even the best products fail, so, let’s try and see what will happen. Let’s be playful.

5. Software testing improves your concentration and memory.
You will not do tasks mechanically, some bugs are really difficult to find, and, the road to their cave is not straight. Software tester must remember what kind of turns were done before in order to get there.
Once we got a really buggy build. To make matters worse, the product on which the integration was tested, changed. So, my developer came to me to see how the integration is working now. He did a lot of random things so quickly, I was trying to follow, but it was a challenge. Then after a while he modifies the Excel file, does some random commands in between, and, tries to exit the file. Instead of expected “Do you want to save?” message there comes nothing, and, that new file just turns off with all the modifications. The developer says “Oh, that’s no good. If I worked a few hours on that and it just turned off? All my work would go to waste.”. However, the developer did not remember himself what he did, and, the worst part was that me and my colleague could not sleep calmly after failing to reproduce that bug for 2 days. Today I caught it. Testing something else and playing around, I found THE BUG. I could not be happier. It was not easy to be very concentrated and try to make the same bug with as little steps as possible in order to find the real cause.
The main thing is that you cannot relax when searching for bugs: your memory has to store steps, and, you must be really concentrated in order not to miss the bug. No mechanical work is found here.