Tag Archives: Ajitha Mannem

Domain Knowledge – Is it important to Testers?

In today’s market testing has become essential entity across any domain like Banking, Financial Services and Insurance (BFSI), Retail, Health Care, Transportation and so on. As the testing industry grows, a tester with basic skill is not sufficient to meet the market needs. Market now demands domain and subject experience. Having said that doesn’t mean they don’t need software testing knowledge. Domain knowledge is used to derive business use cases and software testing knowledge is used to derive ideas to test the limits of the technology.

knowledge

Majority of the testers would agree that it is unfair to not hire a tester just because he/she does not have prior domain knowledge. This could be justified by the testers who had to start somewhere at some point where they didn’t have testing experience or testing skills. They learnt on the job and added value to the projects they worked on. But can these testers test an application without knowing how a particular business works? What about the risk involved with hiring a poor domain knowledge tester?

Let’s understand this:

1. Online Banking – Tester has to test online banking flows few of which include login, transfers, bill payment. To login a tester might need basic testing knowledge but to do modules like transfers and bill payment, a tester needs to be a subject matter expert. One should understand the business logic on money flows.

2.  Health Care systems may not consider testers without prior knowledge, as it would risk some- one’s life.

3.  Retail: Retail domain In Store Solutions, Enter- prise management, and Warehouse manage- ment. One needs to understand the basic flow at every level for the service to run successfully. Ex: If I were to test POS, I need to know about POS before I can actually test it.

With this being said, a tester also has to understand the ground reality. It is quite a challenging task to build and maintain a team rich in testing and domain knowledge

How can testers gain domain knowledge without prior experience in the domain?

1. Plan
To increase domain knowledge is to come up with a plan of attack. Knowledge is vast and one cannot gain all in just a day. You need to filter down the amount of knowledge you are trying to absorb into pieces and attack it gradually.

For example: if you may say you want to become a domain expert in banking. But which area of banking, specifically? Retail banking, investment banking or private banking? Or it doesn’t matter to you?

2. Ask Questions

Ws Asking questions is an art in itself and if you want to build up knowl- edge, you need to know WHO to ask, WHAT quest ions to ask and WHEN to ask them. Then you also need to record the answers from others so you build up knowledge base for yourself.

3. Internet one of your best friends to pick up domain knowledge. There are so many websites which showcase the knowledge and yes you have online courses too. So start your search, register, read and gain as much knowledge as you can.

4. Find a Mentormentoring

Finding a mentor who has years of domain knowledge acquired kills two birds with one stone – you get guidance on your career and you ALSO get to strength- en the domain knowledge.

Wrapping Up
Now we know why domain knowledge is important and some tips on how to increase the domain knowl- edge. As with all learning, the most important aspect of increasing domain knowledge is your DESIRE to learn. If you have the desire, no hurdle will be great enough to block you from gaining anything.

Always desire to learn something useful – Sophocles

That’s all I have for now. Stay positive and have fun picking up domain knowledge in your projects.

About the Author

Ajitha Mannem is a senior test engineer with 9 years of experience in software testing and is currently working for a banking institute. You can learn more about Ajitha at www.linkedin.com/in/ajithamannem

Thinking Differently While Testing

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.

    1. The purpose of iPod is to listen to music, but how customer listens to this music (headphone, dock) varies between individuals.
    2. 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