I’ve been a Software Engineer at Cognizant Softvision for over two years now, and some of you may remember me from my previous article, “Mythbusters QA Edition.” In the next couple of pages, I would like to walk you through the importance of creativity in software testing, based on my first-hand experiences.
I like to refer to myself as a “full-time tester and part-time artist,” because I like to paint and craft in my spare time. But after giving this more thought, I’ve realized that creative testing can be seen as an art as well, where the product (application) is the canvas, your knowledge is the paint brush and creativity is the color palette you use to create your “work of art.”
Albert Einstein said, “Creativity is intelligence having fun!” and he couldn’t have said it any better. Why? Well, let’s analyze the key words from this quote:
“Creativity” means the use of imagination or original ideas to create something; inventiveness. “Intelligence” refers to the ability to acquire and apply knowledge and skills. Things start to make sense now, don’t they?
In order to be a good QA, creativity is a must in the skillset, along with an outside-the-box mindset.
As stated earlier, testing is a time-consuming process that requires attention, responsibility, deep knowledge of the product and an understanding of user experience.
How can you become more creative in your professional work?
When running regression testing, you go through the same set of test cases sprint after sprint and routine sets in because it is a repetitive cycle. Taking part in regression testing comes with the huge responsibility of being the last filter before the app reaches the end-user.
That being said, in order for the QA to evaluate the user experience as thoroughly as possible, he or she will put themself in the user’s shoes when testing an app. Each and every one of us has the ability to perceive the app in new and different ways, which is a form of creativity. We can also find hidden patterns or make connections between seemingly unrelated things and generate solutions.
Thomas Disch said that “Creativeness is the ability to see relationships where none exist.” You have a lot of knowledge about the app, so use it wisely and make connections.
Some of us are more creative than others, but that doesn’t mean that this can’t be improved upon. Creativity can be developed but it requires passion and commitment because it is the first phase toward innovation. You can learn to be creative by simply exploring and experimenting with different approaches, questioning assumptions and using your imagination when testing.
A great way to expand the imagination of software testers is to have exploratory testing sessions.
Creativity in day-to-day processes
A great way to include creativity in the day-to-day processes is through test parties. Test parties are when QAs from a standalone project or multiple different projects gather to smoke test the areas where new features have been implemented to see if there were any issues left undiscovered. During these sessions, all the new features are presented in a few minutes and then everybody sets out to test the functionality. All the new issues discovered are tracked in a document and further investigated to be properly logged after the test party is over.
Creativity emerges during the test parties because everybody sees things differently and after connecting the dots, different patterns are formed. It’s both a fun and practical way of testing.
Ad-hoc vs. exploratory testing
Ad-hoc testing is an informal type of testing with the aim to break the system. Testing is done on any part of an application with the intent of finding defects through random checking. It does not require any documentation, planning or process to be followed and can be done by anybody. Since no testing knowledge is required, you can simply invite a stranger to browse through the app and see what happens.
The disadvantage of this type of testing is that it is very difficult to reproduce the defects because there are no exact steps or requirements mapped to a test case.
Exploratory testing is a black box testing technique that is performed without planning and documentation. It is more complex than ad-hoc testing and requires knowledge in testing and the app. That being said, the better the tester’s skills, the more fruitful the session becomes, so this is where creativity and imagination come into play big time.
In contrast to ad-hoc testing, during exploratory testing, the purpose is to find bugs and track the questions raised and issues found. Since the testing is performed by individuals with knowledge in this field, logged reports can be reproduced and the steps determined. In addition, new test cases can usually be developed to cover any edge cases discovered.
These testing sessions are very important because they encourage creativity and intuition, and they are also a good opportunity to brainstorm with your colleagues and analyze the issues discovered together.
So, what’s my advice? Forget the documentation about the features for a few minutes and just go through the app, and while doing that take into consideration the usability, look, feel, and overall quality of the software. If you find scenarios and flows that do not feel right, look up the information because you may have found a bug or you could suggest an improvement.
Creative people can discover edge cases when testing and, in this way, improve the quality of the product. They have the ability to look at all sides of the issue and quickly identify the cause.
The truth is that the user does not know all the changes that are constantly being made to improve the app, which means that sometimes it’s better to go with the flow and have faith in your knowledge of the app when testing.
A good example of putting yourself in the user’s shoes is when you are browsing through the app and while an action is in progress, a screen or some elements are loading, you change your mind and hit the back button or exit the app because the users sometimes do not have patience.
Someone once told me to “act like a sponge” when it came to acquiring new information. This is because creativity requires an absorbing mind, a relaxed state of focus and attention.
An example of creativity is thinking like a user, going through different age ranges. Think like a 20-year-old, a 35-year-old and a 60-year-old person while testing. Why? Because by doing this you will cover several types of personalities and tendencies. For example, a young person could lack patience and attempt to do several things concomitantly, a middle-aged person might try to reach their goal using as few steps as possible, while an older person could have difficulties reading small fonts or could enter details required more slowly (this is where accessibility comes into play, but that’s a different topic to be discussed later on).
Why aren’t adults as creative as children?
As a kid, you probably had a lot of creative ideas, possibly even had an imaginary friend to play with. Creativity was just a normal thing on a daily basis. We used to bake imaginary cookies in the imaginary oven, drink imaginary tea at tea parties, hide under the table covered with a blanket and pretended to go camping and so on.
Remember when you liked to pretend to be a detective along with your neighborhood friend and solve imaginary mysteries? Then as the days flew by, somewhere along the way we became rational and creativity started to fade away.
Growing up, we were taught to become good workers, follow instructions and look at the practical side of life. Creativity became buried under a pile of rules and regulations.
The biggest problem with modern-day society is stress. We all try to fit as much as possible into 24 hours. We rush to work in crazy traffic, attend meetings and do our jobs as best as possible, and of course, make time for our family. With so much to cram into our days, many of us sacrifice sleep to benefit from more hours in the waking day.
Ask yourself: Under these circumstances, how can you find creativity again?
5 habits to embrace in order to improve creativity:
- Sleep well! Deep sleep is necessary because that is when our brain sorts out and catalogs all the information we have taken in during the day. The lack of deep sleep causes us to lose our ability to be creative and imaginative.
- Debate! Ask yourself if the behavior of the app is ok, is it user-friendly, etc.?
- Feed your brain with new information whenever you can! Educate yourself by improving your technical knowledge, learn to use new tools, etc.
- Experiment and explore the “vast land” of testing, leave no corner of the app un-scattered.
- Try another creative activity! Find something you are passionate about. Sing, paint, go hiking, learn to play an instrument. Light the spark of creativity and you will soon see it burn brightly in your professional life.
Don’t hesitate when it comes to getting outside of your comfort zone. Be curious! It’s so fun to have those “Ah-ha!” moments when finding bugs. Break the app, brainstorm with your colleagues because creativity is not only important but fun too!