During the journey as a QA and Testing practitioner, came across with lots of talented QA engineers. Some of them are excellent as manual tester. I admire their thinking capability, ability to explore scenario and killer attitude towards to discover the bug. Another group I met who are solely interested for automation. They are quick and efficient in design and development. I learned and still learning from most of them. But…..
I found one thing is missing badly is the habit of asking questions. I prefer to ask questions, regardless of the client, product owners or developers. It’s true that in most of the cases I don’t deal with the clients, and the role I am playing now as architect, the scope of asking question is bit limited. But….
I think QA and testers should grow the habit of asking questions, at least following are some important questions I can think of:
Is this the appropriate technology for developing this?
I completely agree that this decision should be made by the analyst or architects of the team. But as a QA engineer, I need to be aware of the features, advantages and flaws of the technology that we have picked for the development. This will also help to explore test scenarios to increase test coverage.
For instance you are testing an app with MSSQL as database. Try out scenario to insert unicode or double byte characters into database from front-end. If the column not properly configured as nvarchar, may be it’ll not store the data as expected.
Is there any usability analysis done for this feature/story?
This is very important. Personally I am a big fan of usability analysis. Unfortunately, most of the organization I have worked with, usability analysis and testing are not QA thingy, product owners or BI associated to the feature or story are doing that. But QA should take few moment to understand the workflow from usability perspective. Try to measure how simple the feature is to learn and use. If it’s difficult for me to use then definitely it would be hard for end users to use as well. So raise your voice for the usability.
What value this requirement will add?
May be it’s not directly impacting your testing, but good to know. Being a QA is like the core of the operation. You should have complete idea of the business. You should be able provide your insights on the feature, who knows, may be it will help the analyst team to revisit the story and reshape it! It’s also a good way to increase your habit of asking the important questions.
Who are our competitors and in what extend we are ahead of them?
Hmm, now why I am emphasizing on competitors here? Learning about competitors is like learning about new products as well. For example, I am working with payment gateway now, I am interested to know about our competitors so that I can learn about their business model, strength of API and later can compare and help our analyst to explore gaps within our product. I agree that in reality, mostly it’s difficult for me to do research on this and know our competitors. The way we are doing it is by reading contents shared by our Business Analyst team. Please find the best way which suits you 😊.
Is our current testing procedure able to ensure maximum testing coverage?
This is very important. Answer of this question should be result of ongoing review of the current process. But first of all, QA or QAs of the team need to raise this question. Need to discuss within the team, gather feedback from other teams, analyze test results, bug reports and find answer of this question. Again, it’s upto the team culture how you are gonna work with this, but raise it.
Do we have any infrastructure for performance testing?
Importance of this question is actually depends. It depends on the nature of the business. For example, ours is a payment gateway where we have the need to measure performance stats based on user counts, concurrent access and volume of the requests. So we are building our performance testing infrastructure and working close with DevOps and Architects to improve the performance. Look into your project/product, find if this question is applicable for you, if valid then work on it.
Why you followed ‘X’ way to implement, where ‘Y’ seems much better?
This question is more related to the habit of reviewing developer’s code. If your testing team has the practice of doing that and you are sure you would be able out smart them by asking this question with proper logical explanation backing your question, then go ahead, shoot it! It’s also a good practice to nurturing our technical thinking and help us to follow developer’s mind. It’s a good way to argue with developers with developer’s language.
Can we automate this feature?
It’s a very good question. I really recommend to ask it as much as possible. Prepare yourself and your team in such a way so that any feature which could be a regression candidate in future, could be automated by spending minimum time and effort.
Why there is no bug?
Fishy right? Bugs are the outcome of your outstanding testing. If there is no bug after your testing, that means either development was awesome or something went seriously wrong during your test execution. So it’s time to ask this question, look back into entire test execution process and catch the bug!
These are just few cents from my experience and observations. May be few are valid, few are invalid depending on the context, but let’s ask one or few of these question, I am sure that, it’ll help to explore alley on to your QA road.
Happy testing 😊