Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Preview
Start a free Courses trial
to watch this video
Acceptance Criteria are a formal set of rules for how a feature must work.
Definitions:
- Acceptance Criteria: The formal set of rules for how a feature must work.
- New Feature: A facet of the software being added in addition to what is already available.
Development Process
Idea
↓
Feature
↓
Development
↓
Test
↓
Release
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
So when it comes to QA, what we really
like to focus on a lot is process.
0:00
Process can seem like kind of a dry and
boring word.
0:06
But what it helps is in ensuring that
quality practices are always used across
0:10
all of development.
0:14
First let's review the basic
development process.
0:16
We introduce a new idea,
turn that idea into a feature,
0:20
development then codes it,
QA tests it, and then we release it.
0:24
Simple, right?
0:29
In QA it's important to remember that
we are trying to avoid huge design and
0:31
technical challenges at launch by being
involved in all of these steps and
0:36
by testing a lot,
like as much as possible.
0:41
Most of the time we are dealing with
incremental changes in the software, or
0:46
in other words, adding new features.
0:50
Features are just the capabilities
that the software can effectively do.
0:53
Your word processor has the feature
of typing characters onto the screen,
0:58
printing the document, and
saving the document to a file.
1:03
Those are all the features
of that software.
1:08
So we have our RSVP app, and
we want to add a new feature on top of it.
1:10
We want the add the Hide those
who haven't responded feature.
1:15
Let's take a step back though and
1:19
talk about how those features
get defined in the first place.
1:20
Usually we have a product
manager define it first, but
1:25
it could be other people,
even the developers themselves.
1:28
Let's assume it's a product
manager asking one
1:32
of our developers to create
this hiding feature.
1:35
To help me illustrate this, I'm going to
have someone pose as our product manager.
1:39
Hey Ryan,
I wanna add a feature that lets users
1:44
hide those who haven't
responded to the RSVP app yet.
1:47
Okay, great, but what do you
expect this feature to do exactly?
1:51
This is when the product manager should be
a little more explicit about that feature.
1:56
So I want the user to be
able to click a button, and
2:02
when they click it, every user who hasn't
responded gets hidden on the page.
2:06
Awesome, where should that
button go on the page?
2:12
Just right above all of the invitees.
2:16
Cool, one more thing though.
2:19
After clicking that button,
2:21
do we want to still be able to add
more people to the invitee list?
2:23
They won't show up on the page
if they haven't responded.
2:28
Yes, that makes sense.
2:32
Let's show anyone who
has just been invited,
2:33
along with everyone
else who has responded.
2:36
Anything else?
2:39
Nope, that's it, thank you.
2:40
So in that last discussion, we clarified
a few things about our hiding feature.
2:42
We found that when the button is clicked
anyone who hasn't responded gets hidden.
2:48
The button goes directly above
the current invitees on the page.
2:54
And finally,
2:59
any new invitees will show up on the page
even though they haven't responded.
3:00
So what we're defining here is
a set of acceptance criteria or
3:05
a formal set of rules for
how a feature must work.
3:09
Other aspects about the feature
might get decided along the way,
3:13
like what the font should be or
how large the button is.
3:18
But the absolute necessary parts
of the feature are the acceptance
3:22
criteria and what we want to do is
pin them down as much as possible.
3:27
A lot of defects that happen when
a product gets released are due to just
3:34
poor planning and
not defining the features very well.
3:37
That's why a system of creating
acceptance criteria before
3:41
anyone starts to code is so important.
3:45
It's really common for developers to
see a vaguely defined feature, but
3:49
start coding on it anyway.
3:53
When can a QA engineering help
with defining acceptance criteria?
3:56
Usually in the planning stage when product
managers are introducing the feature to
4:01
the team to be worked on.
4:05
We're going to come back to doing QA at
the planning stage later in the series.
4:07
But keep in mind that simply asking
clarifying questions can drastically
4:12
improve the quality of your product
later on, and it's so simple to do.
4:16
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up