Hallo dear club people. I want to share my first experiences in testing and the thoughts (and doubts) I had along the way ( and I’m sorry for the wall of text)!
First a bit about myself: my name’s Lukas, I live in Berlin and I recently retrained with the goal to start a career in Software Testing. For the past 7 years I had worked in different marketing and PR jobs and at some point it dawned on me that I really don’t want to do that anymore, I was fed up. After a deep talk with my best friend, he recommended me to look into Testing and shortly after I decided to do a 4-months training course and got my first coding skills and ISTQB certificate.
Now, here I was back to square one, looking for a job in a new field that I really have only minimal training in, not knowing how to get things going. And as expected, the rejection letters started coming in. Another friend then gave me the idea to look for some Open Source project that I could get some of that crucial practical experience on which I was missing.
In comes “Krita”: An Open Source painting software by the massive KDE community. At first I wasn’t sure if it was the right address, I’m not an artist after all. I had worked a bunch with Photoshop though so I thought I give it a shot. I started reading all of the documentation on how to get started and what kind of contributions were needed, which was mostly bug triage. I think that was a good starting point, because it familiarized me with their failure management process.
At that time I went to my first MoT Meet-Up in Berlin and, talking to @christinepinto and all the other lovely ladies and gents, I felt encouraged that I was on the right course.
After a few weeks of replicating and confirming already reported bugs aswell as doing some regression testing on them, I felt like not moving forward quickly enough.
I wanted to do my own testing, but didn’t know how to start. That’s when I tuned into my first This Week in Testing episode, where I shared my story with the community who provided me with very helpful ressources on how to get into Testing. Special thanks again to Alexs, Demi and @simon_tomes for the very welcoming atmosphere!
So, with your help and inspiration I got from watching Software-Testing Live I finally found the courage of doing my first exploratory testing on Krita.
Here is how it went:
First, I looked at all of the bug reports in the Bugzilla database and tried to identify which components had the most amount of reported bugs and what percentage of them was already confirmed. My idea was to find out which part of the software was most important to the users and at the same the most failure-dense.
Among the top 3 was something called “brush engines”. In my (still new) understanding, this is basically an editor for the brush tools that controls the brush behaviour like brush tip size, pattern, opacity, flow etc.
“Perfect”, I thought. Something that I could wrap my head around and had some knowledge on from Photoshop. So I went ahead and threw together a quick test charta that I basically only used to write down my goals and take notes in.
For the day, I only wanted to test the first window of the editor: brush tip. It had different settings with different input modes, like sliders for the size, opacity and flow, that you could also click into to input values directly, and some checkboxes for things like circular or square brush tip.
So I went exploring, trying out different settings, trying to understand what they do, and most importantly – I tried breaking them. With the help of the MoT Test Heuristics Cheat Sheet I tested the different input fields and for example found out that you could enter full calculations and even scientific notations as values (“122 + 3E2 / 2”), which I found quite curious but not really noteworthy.
After an hour of playing around and not noticing much else, I moved to a brush tip mode called “Text”. It uses a text input as a brush tip (screenshot) and with the “pipe mode” setting, you could hold the paint button to paint one character after another until it reached the end of the string and repeated.
A very interesting tool.
So of coursse I played around with it and tried breaking it by entering different lenghts of strings, and upon entering strings 255 and 256 characters in length, the program suddenly crashed.
“I made it”, I thought. I managed to break it. I was feeling very relieved and happy, having feared that I wasted 3 hours for (almost) nothing.
I tried replicating it over and over but the first few attempts were fruitless. It wasn’t about the length or the content of the string at all. At that point, I remembered I could’ve used a tool that I had been using for YEARS in my gaming sessions, whenever I did not understand what had just happened in the game – NVIDIA ShadowPlay. Sadly, I set it to only capture the last 30 seconds, so it was too late, but I will definitely keep this in mind for future testing sessions.
After a bit of trying I finally found what caused the crash: a combination of a checked “pipe mode” box and a completely empty text input field, which wasn’t that straight forward, since the textbox came pre-filled with a “The quick brown fox” sample-string and “pipe mode” was disabled by default.
I proceeded to do some regression testing, and after testing 6 earlier builds, I finally encountered one where it wasn’t crashing anymore. I then took all the information I gathered, wrote up a crash report on Bugzilla, attached a few log files and posted it on the forum. It was quickly picked up and confirmed by a very active tester/dev and the results of my regression testing quickly gave them an idea of where to look in the code, since there had been a refactoring of the brush tip code in the build the crashes first started appearing in.
That was it. I didn’t think that I would find anything interesting in my very first exploratory test, and was welcomed with a crash. This experience gave me a very positive feeling about what might come next, and thanks to the wonderful people of MoT and the input you gave me on the last This Week in Testing episodes, I now feel more confident as ever about hopefully landing an entry level position in Testing soon and I’m also thinking about putting myself out there as a freelancer for exactly the kind of manual exploratory functional testing I now started doing.
I apologize for the length of this write-up, I really hope some of you managed to read through and I am very thankful for any feedback you wanna leave!