FullStack Labs

Please Upgrade Your Browser.

Unfortunately, Internet Explorer is an outdated browser and we do not currently support it. To have the best browsing experience, please upgrade to Microsoft Edge, Google Chrome or Safari.
Upgrade
Welcome to FullStack Labs. We use cookies to enable better features on our website. Cookies help us tailor content to your interests and locations and provide many other benefits of the site. For more information, please see our Cookies Policy and Privacy Policy.

Acceptance Criteria and How to QA

Why are Acceptance Criteria and How-to-QA sections of a Jira ticket important to Quality Assurance?

Written by 
Jim Hall
,
Quality Assurance Professional
Acceptance Criteria and How to QA
blog post background
Recent Posts
Six Ways to Handle Concurrency in the JVM
Is there value in learning Vanilla JavaScript?
How to be efficient in remote design work in multicultural teams

A new feature has been designed and developed, and has been submitted to Quality Assurance (QA) to be tested. Years ago, it was sometimes acceptable to simply “throw it over the wall” to be tested.  Today’s software development processes that incorporate iteration and continuous feedback require a bit more than that. At a minimum, specifying Acceptance Criteria and How To QA in tickets that are given to QA are required for testers to be able to do their job.

Table of contents

Acceptance Criteria

For QA, Acceptance Criteria defines the scope of what is needed to be tested. It tells QA what is supposed to be tested, and what is not supposed to be tested. It describes what functionality is being implemented by the ticket. It describes any deviations in the current design. Let’s consider a ticket for a very simple new modal dialog in an application. Here’s an example of some straightforward Acceptance Criteria for a new modal dialog for an application:

  • Mouse and keyboard input must be focused on the modal.
  • Closing the modal must function the same as cancel.
  • Window underneath the modal must look disabled.
  • Modal must be visible in all screen resolutions in all supported browser/OS combinations.

Clearly an over-simplified example, but with this criteria, QA will need to verify that each of these items work. And here’s what these criteria tell me I DON’T need to test:

  • Any links, menus, input boxes, or controls are functional.
  • This modal must match an existing design.
  • Whether or not this modal makes any changes in the application.

Those are pretty big items here that QA is going to ignore, but may be appropriate. Especially when a brand new app is being implemented.

How to QA

This section has also been called How to Review, How to Test, and other names. It is a series of steps in order to check the implementation of a particular ticket. Using the example above, it might look like this:

  • Open the application.
  • In the first window, press the button in the center, marked Foo.

And again, this is an over-simplified example. But QA needs a roadmap, especially for newly implemented features, and certainly for features that are especially complex. How do I get there from here? Navigation. The How To QA section answers that question.

But isn’t this all obvious?

Yes and no. There are some things QA needs, and some QA does not.

Doesn’t Need:

  • Open the app and go through the first 6 windows the same way like you have for the past 6 months - this is understood already
  • Making sure Quantity times Price equals Total - this is a standard calculation and is pretty intuitive, so shouldn’t be necessary 

Needs:

  • Open the app with this special model, preview, different URL, etc. - this is specific to testing the solution provided by the development work
  • Taxable Quantity times Price times Tax (which is different based on region) equals Total, plus Shipping (which may or may not be the same region as billing, but will differ based on region) - this is much more nuanced than the earlier, similar example

Over time, the right level of detail to give QA becomes much more obvious as the working relationship develops. When in doubt, include more and QA can instruct when to cut back.

A new feature has been designed and developed, and has been submitted to Quality Assurance (QA) to be tested. In olden times it was sometimes acceptable to simply “throw it over the wall” to be tested.  Today’s software development processes that incorporate iteration and continuous feedback require a bit more than that. At a minimum, specifying Acceptance Criteria and How to QA in tickets that are given to QA are required for testers to do their job well. These should both be included in every ticket, every time.

As you can see, quality is a cornerstone of the work we do here at FullStack Labs. When working for a software development consultancy, having clear and concise communication from developers speeds up the testing process and helps to ensure high-quality solutions. If the topic of this blog post has piqued your interest, please feel free to contact us - we look forward to hearing from you!

Jim Hall
Written by
Jim Hall
Jim Hall

As a QA professional at FullStack Labs I focus on ensuring a high-level of quality across our projects, including enforcing pixel perfect implementation of designs, feature acceptance testing, etc.

People having a meeting on a glass room.
Join Our Team
We are looking for developers committed to writing the best code and deploying flawless apps in a small team setting.
view careers
Desktop screens shown as slices from a top angle.
Case Studies
It's not only about results, it's also about how we helped our clients get there and achieve their goals.
view case studies
Phone with an app screen on it.
Our Playbook
Our step-by-step process for designing, developing, and maintaining exceptional custom software solutions.
VIEW OUR playbook
FullStack Labs Icon

Let's Talk!

We’d love to learn more about your project.
Engagements start at $75,000.

company name
name
email
phone
Type of project
How did you hear about us?
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.