Effective Black Box Software Testing for Beginner
Black box testing is the most basic form of testing and can be done by anyone. To be effective, it takes an inquisitive mind plus some creative thinking and some writing skills. Most of what is needed can be learned by applying the four skills noted below. In black box testing, the tester test the application without knowing the internal workings of that application. The term “what if…” or “what would happen if…” is used often by great Quality Asurance testers. The desired result of black box testing is to test the application as though the intended, or in some cases, the unintended users, of the application, are using it.
The four specialized skills needed to be effective in black-box testing are:
- Inquisitive mind
- Domain knowledge
- Good memory
- Good written skills
These skills are easy to learn and will set you apart from other QA testers.
Inquisitive Mind Skills
Everyone has done black box testing without knowing it. It usually starts out with, “what if..” or “what would happen if…”. These types of questions usually lead to other questions which are great for exploratory testing and ad hoc testing.
Sample questions are:
- What if I took this route home instead of my usual route?
- What would happen if I stopped drinking coffee for one month?
- What would happen if I stop eating meat for a year?
- What would happen if I do this to the feature?
- What would happen if I do this to this application?
These types of questions will reveal some very interesting bugs or uncover some design flaws. Doing this to any app will make you a kickass QA tester. One thing to avoid is just following the test plan or test cases. These scripts and plans are only there for you to do the most minimum testing. The purpose of the written test cases is to bring you to an area of the app to specifically test that feature. It’s your duty as a QA tester to take the initiative to explore and find more interesting bugs. Sometimes the designers or engineer missed a use case when designing or implementing a feature. These questions will bring those to the surface.
Domain Knowledge Skills
How do you gain domain knowledge as a beginner? There are two methods to gain domain knowledge of an application: Reading the documentation which will tell the tester why the application or feature was built and exploration which will show the tester what was implemented versus what was designed.
Reading the documentation is a quick way to understand why the product exists, what purpose it serves, and how it was designed or implemented. The document is normally written by the product team or the marketing team. It is the tester’s job to scrutinize the document until he/she fully understands the feature or application so that any confusion or misunderstandings are resolved at this point. Do not hesitate to ask questions to find answers. The documentation can serve as the foundation for all your test cases.
The second method to acquire domain knowledge is to explore the current application you’re testing. The more familiar with the application a tester is, the easier it is for the tester to anticipate the effects of adding a new feature and to add their feedback to the discussion. When exploring the application, use the “what if…” or “what will happen if…” to find the boundaries and limitations of the app. Pushing the application to its limits and sometimes going outside of its capabilities will yield the most knowledge about the application.
Having a good memory is essential for a QA tester. During testing and exploration of an app, a tester might run into a bug. Remembering the steps to reproduce the bug will help the developer to recreate the bug and address it. Always keep a mental log of every step to get to the current state of the app. A lot of good testers will have a notebook on the side as they test. The tester will quickly jot down any strange behavior with notes on how to get back to that state. Through practice and mindfulness while testing, a tester can keep 15 or 20 steps in mind as they go through testing a feature and also identify multiple paths to try to get to the bug.
Having good documentation skills is key to being a good QA tester. A tester’s main job is to find the bug and report the bug to engineering to fix. The ability to document a bug well will help the engineering team understand the bug and fix the bug without having to pull the bug reporter aside to describe the problem. This wastes time for the engineer and the tester. Please refer to the article on how to write a great bug report.
With these four skills, anyone can become an effective QA tester. Our QA testers and QA engineers at blueotterqa.com have perfected these skills and utilize them everyday. Contact us for a free consultation and may qualify for one month of free QA resources*.