Like any other activities related to software development and technology innovation, software testing carries its own importance. There are several factors which revolve around proving this statement and we don’t need to beat that drum, again and again, we all know this, as we are all part of this.
But there are certain areas where questions can become important, for a tester, it is an important KPI to ask questions and ask them often because not asking them can be as harmful as missing out a bug which reveals itself at the client-side.
Here are five important questions a tester can ask before commencing to testing any kind of application under any kind of context:
What is the purpose of this application?
There is a term called “undeclared assumptions”. We testers are very fond of making assumptions, but because we make them without getting the first question right, we tend to make them wrongly. These are called undeclared assumptions.
As soon as we come to know about our next testing assignment we start to ride the shotgun and make all kinds of stories in our head. These stories often are directed by our own worldly contexts and experience we have. For example, if your testing assignment is to test a software module used in an elevator, the “undeclared assumption” would be to assume that the elevator will be used in a hotel. This can direct all the next questions in the same unidirectional context and can result in losing the factual context of the real “purpose” of that elevator module.
So to start with, always ask “What are the purpose and use of this application?” Rest will become easier.
Which Platform will this application be used on?
There are two vital aspects related to this question;
One, as a tester, you will be aware of the hardware and software requirements to support your activities, and you can design your cases well in advance. The knowledge and details of the platform is not a hard thing to gain on the internet. Once these are in line you know where to start and which devices and hardware to use.
Two, for companies, it is now a mandatory step to building a volatile device repository and have their testers trained on these devices and platforms on a regular basis. This creates a definite competitive edge and can be in good business as well.
Which domain this application exist in?
Most of the times the testers are so focused on their current assignments that they tend to forget this very trivial yet very important question. The domain knowledge is the ultimate driving force for developing expertise for any kind of application.
Each application is incubated in its own domain take, for example, Finance, Healthcare, Education, Manufacturing, Trading, E-commerce, Food, Entertainment, Infotainment, and Social Media. Any application no matter what the size cannot survive without its domain compatibility. For testers, it becomes a double-edged sword, not only to gain the domain knowledge but also to test the domain traction for the application under test.
Where will I report my observations?
Let’s admit, without proper reporting and escalation, the testers’ job will become very boring. Before starting or committing to a software testing assignment, testers must clarify the point of contact and any communication medium which will be available for their reporting.
Testing and its subsequent activities generate a lot of data. This data is very vital for management, only when it is properly translated and transcript by the testers. Only then the management can take well-informed decisions or identify risks and loopholes.
Management itself should realize the importance of an issue tracking or test management tool where the inputs can be provided for any number of testing activities, team assignments and the bugs that are being reported.
One simple question can lead to the formulation of important decisions, think about it.
In what timelines, I have to deliver my test results?
Nothing can go on forever and saying that there are no measurements of success without deliverables. Without these two facts, a project cannot exist. Same goes for testing projects.
Once on an assignment, the testers must establish their own and the project timelines before moving ahead. Schedules are necessary to build plans and organize parallel activities. It is not necessary that testers are assigned a singular task and are not allowed to work on multiple projects; on the contrary, this is the actual case in real life.
Secondly, the driving factor to this question will be the prioritization of deliverables. As a tester on multiple assignments, you should be proficient enough to work on project management and planning tools. You should be able to define your own milestones and drop off points for each deliverable.
Asking questions is important and asking them at the right time is smartness. If testers can believe that there is even a fraction of doubt in their mind before taking up their next testing project, then the first thing a tester should do is to ask the right questions and all of them.
If testers don’t know how to ask questions, the seemingly simple consequences could become dire for any project activity.