Questions you should be asking before you test a new feature
Tags: testing, testanalysis, qa, beginners
Published: 2019-03-12 16:13:17

---
title: Questions you should be asking before you test a new feature
published: true
description: Questions driven test analysis
tags: testing, testanalysis, qa, beginners
cover_image: https://thepracticaldev.s3.amazonaws.com/i/p27xgtl4etexf2civxuj.jpeg
---

If your new Test Analysis, you may find it daunting. Where do you start? Want to know the fundamental superpower of a Test Analyst? Asking questions!

Here you go, have some freebies on me! Questions to ask before you start testing your next project/feature/user story or epic.

# Questions

## 1 - Who can do this?

![Who](https://thepracticaldev.s3.amazonaws.com/i/ulpzmsihbykj7mwmj0op.jpeg "Who")

Often overlooked with the basic "As a user I want" style user story. Make sure you really understand what users and roles in the system are allowed to use this feature.

Follow up with questions like "What should happen when a user is prevented from doing X?" and "Is this prevented on the API as well as the UI?" and finally "What error should we expect? will it be actionable for the user?"

Maybe the feature is available anonymously?

## 2 - When can they do it?

![Time](https://thepracticaldev.s3.amazonaws.com/i/1ycosm5rbiw5nrgmkkv8.jpeg "When")

Are there any restrictions when a user is allowed to use this feature? Do they need a valid subscription at a certain level? Can they do it as many time as they like, or only a limited number of times?

Can the user be stopped from doing it? maybe the feature could be enabled/disabled per user, or per company? What about A/B testing and canary?

## 3 - What are the multipliers?

![Platforms](https://thepracticaldev.s3.amazonaws.com/i/ssjvvbjyytzt8dt89ges.jpg "Platforms")

For an iOS only app, it may be obvious what your platform multipliers are. Test it with x generations of iPhone and iPad and you are good to go.

But this isn't always as obvious for other situations. Is it targeting Mobile/Desktop/VR? Are you supporting different web browsers on different devices?

Or maybe there is some special configuration or mode the feature will run in, or an interaction with another feature, that will multiple the tests you need to run?

Identify what environment choices mean the code will follow a different path - and one can cause issues because of your code being interpreted differently (IE11 is a classic here).

## 4 - How do I know it is doing what is expected?

![Logs](https://thepracticaldev.s3.amazonaws.com/i/4fbu42k84adkk13xbuw0.jpeg "Logs")

Observability and Testability are hot topics, and I won't go into detail here. But do remember to figure out how you can satisfy yourself the feature did what you expected it to do.

Will this make a DB change, if so, can you get access to do the DB?

Will this be logged anywhere? What happens if it fails - can we prove it didn't happen? Remember, Logs or it didn't happen...

## 5 - How does this interact with existing or planned features?

![Plan](https://thepracticaldev.s3.amazonaws.com/i/pecz13tl5n7dutrhzm9g.jpeg "Plan")

How will the new thing work with the old things? Will the new feature extend existing logging, auditing, authentication systems? Is there a regression risk to performance because we are adding new DB calls?

This final point is all about identifying integration risks, so reviewing documentation on the existing system can be helpful.

# Got more questions?

![Questions](https://thepracticaldev.s3.amazonaws.com/i/ytkmtwmjgxngx8y7bcs0.jpeg "Questions")

Good! Ask them - and feel free to let me know in the comments if you have questions that you always ask for new features. I'm keen to grow my list of stock questions so I'm looking forward to hearing from you.