Looking at a product or an application from a different perspective and understanding the end user requirements makes a lot of difference to any tester.
If anyone can test the application by just reading the requirements specified, then what makes you different and how can you stand out?
One of the simpler definitions of a tester that I have come across is:
“A tester is someone who knows that things can be different, who thinks creatively and out of the box”
Let us understand together, how we can think differently while testing.
Customers’ Perspective
Viewing your company’s service through customer’s eyes provides valuable feedback on how to improve and enhance your testing experience. How do you know customer’s view point? The answer is simple – You have to be a customer. However this can be tricky too, not all customers think alike.
Let’s understand this with a simple example.
- The purpose of iPod is to listen to music, but how customer listens to this music (headphone, dock) varies between individuals.
- The purpose of paper towel is cleaning, but how customer likes to use the towel for cleaning matters. He can use for wiping his face or cleaning the table.
Understanding the customer and the wide range of their expectations should be a prerequisite for testing software.
Test to Break Attitude
The minds of the people working on the development of an application are bound to think in the direction which will cover more positive testing. But, testers should never limit their testing to what a requirement says. You should always think “what if I do this?” while testing.
When you put on your thinking like a user cap, you may discover screens that are not intuitive which could cause potential confusion or frustration, perform processes in a different order than intended causing errors to be revealed, or even find broken links/images/functionality.
“Testing is questioning a product in order to evaluate it”
Let’s understand this with few examples on how we can think different
1. The requirement says “user can upload up to 1MB file”. What’s your approach in testing this? This is a good example for boundary value analysis and which can be a part of such test scenarios.
● Upload a file less than 1MB ( Positive testing)
● Upload greater than 1 MB( Negative Testing)
● Exact 1MB (Boundary Testing)
● Upload the 0KB file (Boundary testing) and so on.
2. The requirement says “input field cannot accept special characters”. What’s your approach to test this?
● What if I enter only special character?
● What if I enter special characters in combination with alpha
numeric?
● What if I copy and paste the special characters?
● What if I drag and drop the page URL to the input box?
The example I illustrated above might be difficult to believe but this is what would happen if I put the application into the hands of a 5 year old who wants to see the pretty flashy things show up on mommy’s/daddy’s laptop screen because he/she forgot to log off. In the testing world there is no place for the word’ invalid’. If the system lets you do something, this implies that the customer can do the same.
Working Together in New Ways
Developers and Testers act like Tom & Jerry. But what qualifies you to be a good tester is when you closely work together with developers. By looking at the application through the eyes of the developers, testers can learn more about the application.
If you find a bug and are not able to reproduce it, what do you do?
● Do you just log defect and leave it to the developer to work on it?
or
● Do you sit with the developer and try understanding why the issue exists and work on it together?
Software testers are always the bearers of bad news. They have to tell the programmers that their baby is ugly. Good software testers know how to do so tactfully and professionally and know how to work with programmers who aren’t always tactful and diplomatic.
Creative and Smart
Software testing is the most creative profession. Do you disagree? OK let me rephrase it this way, which takes more creativity: creating the error or finding the error?
The comparison is a bit strange, but the essence:
– it is difficult to find errors you don’t know about
– is more or less valid regardless of which type of project you are working on.
A creative and a smart tester can and will find important bugs a lot faster, especially if uses this knowledge to prioritize tasks. But we should not see creative testing as something that you do because you are in a hurry, even though it sometimes might be the fastest way to reach your goals. It is about reaching beyond the standard tests. Creativity in testing is a luxury you have to afford.
Compare and Suggest
As a tester you are not just limited to testing the application. While testing did you ever get a thought on improvising current functionality and provide suggestions?
If not, than it is high time you think beyond to improve the functionality you are working upon. Sometimes looking into our competitor products helps boost our thoughts.
Let’s understand this with an example:
1. Why is that we try our dress on before wearing and check with our partner or friend if it suits us? Because we like to know what they think.
When you test, you are actually playing the role of an end user. Any suggestion on improvising the functionality by a tester/you is equivalent to how the end user might feel as well. Hence do share your suggestions to improve the application with your team.
Conclusion
Ending this post here, knowing it is an ongoing learning. Testing too requires a lot of hard work and constant learning. Knowledge is not static, especially not in the technical domain. Constant learning is essential in order to become better at what we do.
About the Author
Ajitha Mannem is a Sr. Test Engineer with over 8 years of experience in software testing and is currently working for a banking institute. Yes, she is a women Tester who believes in women power and is proud. You can learn more about Ajitha at www.linkedin.com/in/ajithamannem