How Do I Find Bugs? -Copy This !
Jayateerth Katti
Testing | Mentor | 20 Years of testing service | Test Manager | AI Enthusiast
Hi tester,
By this time, you are aware.
Identifying bugs is the primary function of the tester. Uncovering bugs as early as possible in the SDLC is crucial. That is the value I bring to the table while delivering product.
That's how I support team to delight customers.
If product is buggy, it has larger impacts.
It can bring bad name to team, company, business. Customer doesn’t use the product. He does not recommend my product to others. Everyone will be in loose-loose situation.
That is why bugs need to uncovered at the earliest in SDLC.
Background:
In initial days of my testing career, I was asked to execute test cases.
These test cases were mostly regression test cases. So, to learn the product functionality those were my guides. I executed them to understand the product and its features.
And I executed them as part of regression testing/system testing.
I could not find any bugs.
Because, majority of them were written years ago. There were executed again and again. May be 3-4 times in a year. Any bug identified in those days were fixed.
Therefore, no bugs left for me to find !
But users reported bugs when new version of product was released.
There were many escalations. There were long calls to analyse the bugs and identify the root cause of the bugs. I was part of multiple meetings in which many clarifications were sought.
But those meetings were helpful.
I started to think beyond test case execution. I started to analyse why bugs were identified in production ? In which feature those bugs are identified ?
That analysis helped me to test more.
Over couple of months, I evolved my self.
Evolved my testing process. I suggested many improvements in test strategy and planning. My lead agreed with many of them and he suggested few more. Together they made lot of difference in the product quality in future releases.
We had couple of calls after releases. Mostly they were appreciation calls !
There was drastic reduction in production bugs.
So, I have tried to capture my experience on how I test and find bugs. You can follow these and excel in your testing career. Quickly !
Lets dive in…
Here are my methods (techniques) of testing.
Pair Testing:
Two pairs of eyes are better than one pair !
I invite my fellow tester to test along with me. We both do exploratory testing for the same feature. We some times execute the test cases as well.
This helps in uncovering bugs quickly.
Execution Of Test Cases
Test cases are still required.
I execute the test cases. They can be smoke test suite or regression test suite. I pay more attention to newly added test cases. I usually do some exploratory testing as well rather than just executing steps.
If something new comes as a scenario, I added to test suite as a test case.
Understanding User’s Problem
Every product needs to solve users problem.
Then only the product can be successful. The product management does the job of identifying the user problem. And then think of how to build the product to solve them.
As as tester, I try to understand what is the burning problem.
Then I try to map those problems with requirements.
领英推荐
Those requirements again are mapped to stories (In Jira) and intern mapped to test cases. So understanding why a specific feature in a product is crucial.
If I understand this, it helps me to explore more test scenarios. And test them.
Performing Exploratory Testing
Just test case execution is not enough.
I make a mindset that test cases are not enough. They are written with based on the scenarios or requirements. That is alright. But executing same test cases may not uncover more bugs. I explore the new feature/product as if I am a new user.
This helps me test more and bugs are identified. Usually.
Understanding User And His Needs
Products are made for user’s problem.
But, a kind of user has set of problems. But there are different kind of users of the product, who have different problems. I mean to say different user personas here. Example : Normal user, admin user, Super user etc.
I try to understand which are the user personas.
This helps to uncover more bugs.
Including More Negative Test Scenarios
Once I understand user personas, I try to write more negative test scenarios.
Every person is not same. He can mistakes while using product as well. When user commits mistake, the product should handle those scenarios and inform them with messages. They should not crash the products and throw some code error. Like ‘null pointer exception’
Negative scenarios help to uncover security bugs as well !
Writing Test Cases Covering All Requirements
As said earlier, test cases are mandatory.
At lest for me. They help us (team) to understand requirements and make sure we are covering all requirements in testing. They help in our understanding and documenting them.
I make a traceability metrics.
This metrics helps me to make sure that we are covering all requirements in testing. This also helps me to add new test cases if any requirement is added.
All requirements are not mentioned.
There can be regulation requirements, government requirements, usability aspects, accessibility aspects etc. Its my job to make sure that, we have test cases for them.
Test unspecified requirements too !
Doing Impact Analysis For Regression Testing
Regression testing is dynamic.
I don’t prefer executing same test cases all the time. Some test case execution might not be required. For example, testing all features again for a small cosmetic bug. It is useless effort.
So, I do impact analysis.
It is the analysing the impact of a bug fix on the product features. I will make note of which code fix is affecting which feature. This usually comes by experience. Do not worry.
This helps me to scope regression testing for a release.
Executing Impacted Feature’s Test Cases As Regression
After impact analysis, next step is execution.
I execute only the impacted features due to the bug fix. This saves lot of testing effort. Testing will be more focused.
And this helps me to find bugs quickly.
Conclusion
One size does not fit all.
But you don’t have to spend more time to brainstorm how to find more bugs. Quickly.
You can make use of my experience and use above techniques to do more effective testing and uncover more bugs, early in the SDLC.
PS : Do you have any other techniques?
PSS : If you need more guidance on these, please feel free to contact me !