Technology is evolving faster than ever. Platform leaders such as Android and iOS are introducing so many features every year to attract new and existing users alike. These features are being used and talked about by 2.32 billion smartphone users worldwide, creating millions of possibilities for users to break these features.
This is why Quality Assurance (QA) is important. While having more features is great, introducing new ones will always be a two sided coin. To put it simply, new features may introduce new bugs. It is important to consider all dependencies when testing, leaving no stone unturned.
By the same token, releasing software to the public without actually testing it might cause significant impact to the user experience and the company’s reputation.This places a lot of responsibility on the shoulders of the QA team.
However, don’t feel disheartened. Instead, treat testing like an art!
Although testing can be tedious and vast, the basics can be thought of like painting on canvas. Here are 5 steps to effective testing:
1. Looking at the bigger picture
Let’s look at an artist who is about to start painting. He will have the whole picture in his mind, ready to unleash his artistic skills on the canvas. He will know his target market for the painting, and the scope and limits of what he will do. He will understand the structure of his painting and systematically break it down into layers.
In the world of QA, you must have a good understanding of the feature or technology you are actually testing.
Knowing your users will give insight into how they use the application, which is useful for your test approach.
Anything can be tested, but defining scopes and limitations will make your testing focused. This will let stakeholders and yourself measure risk, given the time and level of quality you need to achieve.
Once you have a good picture in mind and risk analysis involved, it’s time to break down your tests into iterations. Prioritising high, medium, and low impact tests will optimise testing efficiency. Once you’ve done this, everything will seem bitesize and doable.
2. Tools preparation
The artist will now prepare his tools to perform his artwork. He will look for the perfect materials and colour options to make the painting pop. He will have selected his main tools – the paintbrush and canvas – to implement his work.
As a QA, you will have to find the right tools for testing. There are many tools you can use for testing but only a handful can cater to your specific needs and target areas. For example, you may want to manipulate APIs. It is best to have a list of features for each tool and weigh out the pros and cons of using them as in the chart below.
|Monitor API Traffic||Yes||Yes|
|Function as a proxy for devices||No||Yes|
|Make Automated Tests||Yes||No|
Make sure you choose the best tools for your project, and don’t forget about your main tool, the QA management board (JIRA, HP QC, etc.), where you manage your features to test and paint the town red with bugs.
3. Think of possible colours (scenarios)
The artist will have accounted for all the colours he needs to make the perfect contrast, brightness and depth. If the colours in his combination don’t work, he will find another way to achieve his goal.
Pressing a button should perform its basic function, but testing doesn’t stop there. It is important to account for external effects like lack of internet or notification popups that may steal focus from the button press. Find interesting things to test until you are satisfied that you have investigated all the possible outcomes of the scenarios.
4. Find your inspiration
Old paintings present history. Carefully examining old technology will give you insight into what worked well and what didn’t. On the other hand, new techniques give you the edge you need as an artist and as a tester to contribute something new to the project, so do your research and be inspired.
5. The finer details
Nobody just throws paint randomly at the canvas and expects the colours to blend in together by themselves and create a masterpiece.. Right? (Not really sure about this one)
The point is, when developers hand over the feature you are going to test, don’t expect it to be 100% robust and be able to take care of itself. Think of the finer details that will impact the feature. Always consider the ecosystem it is functioning in, what may affect it, and how it affects the features adjacent to it. There will be a lot of trial and error scenarios involved.
Whilst testing multiple times to see what could work, also be mindful of what could not work. This is called negative testing, where your feature must gracefully handle invalid or unexpected user behaviour. Who knows, you might just find a bug that exposes your concealed password when you don’t want it to!
To sum up, everybody can paint in the same way everybody can test. But like professional painters, it takes hunger for knowledge and passion for technology to drive one to be a professional tester. Testing can never be taken for granted. Have a mindset of being the best painter/tester you can be. Information is essential, and combined with an artistic and intuitive approach, it will definitely let you shine in your craft. Don’t be afraid to fail when doing trial and error, but rather take it as a challenge and try different ways to achieve satisfactory results.
Kevin Lim is a QA Analyst at Outware Mobile.
Original art by Kristel Lim. Inspired by Art of War by Sun Tzu.