Activity 4.1 - Exploring quality aspects to generate test ideas

Time: 1 hour

Purpose: As a team, whether you’re starting a new project or in the midst of a pre-existing project, business analysts, product owners or users will present your requirements, ideas and desires for the product you are responsible for.

The presentation of these artefacts and stories provides you as a tester the opportunity to:

  • Learn more about the motivations and desires of the business or user
  • Dig deeper into expectations of what is going to be delivered
  • Clarify ideas and challenge assumptions

This activity not only gives you the opportunity to practise the activity of testing an idea or requirement but to learn how to use different perspectives of quality to help generate questions or test ideas you would present during said activity.

Introduction: You are working on a team that has a backlog of requirements as well as some that you are actively developing or reviewing. For this activity, you will need to pick one of those requirements or ideas that your team is either about to work on or is currently working on to test.

Task: Once you have picked your requirement or idea, using the blue quality aspects cards from the Test sphere deck, use each card as a trigger to come up with questions you might ask the team or test ideas you might execute at a later date.

Use the cards alongside techniques such as:

  • Five W’s and an H
  • Modelling / visualising requirements

Share on The Club the requirement or idea and then list the test ideas or questions you generated using the quality aspect cards for further discussion.

Hey guys, here’s a write-up of this for you. As our product is in production already, there isn’t exactly the same kind of requirements that I’d expect to see on something that hasn’t reached prod yet. So I’m not testing a requirement exactly, but I have taken a story and applied the same method to it to generate further questions I’ll ask.

Story

As a Customer Services Manager
I want the email address on an application for a renewing customer to not be editable where they have a customer account set up with us
So that the same email address can continue to be used as the user name for the customer.

Functionality

  • Do we have similar functionality to this elsewhere already?
  • Has anyone on the team done something like this before?
  • What do we do if the customer has changed their email address?
  • Do we actually want to have the previous email filled in by default, but allow it to be editable for changes?
  • How will we know they have an account already?
  • What if the customer wants their username to be different to their email address?
  • Does a username have to be an email address?
  • Where else is this account used?
  • When can a customer use this account?
  • How long do we have to build and test this?
  • Is the CS Manager with the dealer or with the client?
  • Can anyone else edit the email address?
  • How else can you edit the email address?
  • Can you edit any other fields with a renewing application?

Safe-Guard / Security & Permissions

  • How will we check for a user account?
  • What security risks are there with checking using that method?
  • What if a non-manager user tries to do this?
  • Do we have differing levels of access based on roles in other places?

User Friendliness / Clarity (There are no wireframes for this story)

  • How do we want to display this?
  • If we opt to continue with not being able to edit the email no matter what, is it necessary to display the email field?
  • If we make it optionally editable, do we have any other places where we’re already doing this that we can take design cues from?
  • Is it easy for a user to change their email address outside of the application process?
  • Can the user update the email themselves?
  • Do we have any other upcoming features that might require us to allow this?

Testability

  • Do we have user journey tests that already cover this flow?
  • Is there an API to get this information already, and do we already have contract/integration tests for other services that use this API?

Performance / Stability

  • If there is an API for this already, how responsive is it?
  • Are there any long waits in retrieving this information?
  • If there is, how will that be handled?
  • If the API goes down, how would that be handled?

Data

  • Where is customer information being stored?
  • How accessible is it?
  • How are typical edge cases handled, like unusual characters/emojis etc?
  • Are these handled in the front-end or back-end?
  • Is there anything else protecting data integrity?