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
Testing and programming go hand in hand. What we needed to do after creating the app, but before releasing it out to the world was test it.
Course Project: RSVP App: https://treehouse-projects.github.io/selenium-webdriver-intermediate/waits/app/index.html
Testers vs. QA Engineers:
- Testers perform test cases and look for defects.
- QA Engineers actively monitor practices and create/enforce processes to assure quality.
Definitions:
- Quality Assurance: Preventing mistakes and defects from occurring in a product.
- SQA (Software Quality Assurance): Monitoring the development process in software and testing to ensure that changes do what they are meant to without introducing a whole lot of new bugs.
- QA Engineer: Someone who works to assure software quality by using various testing methods and practices and has a say in the design and development process.
Introductory Programming Courses:
Introduction to HTML and CSS
Introducing JavaScript
HTML Basics
[MUSIC]
0:00
Hi there, welcome to QA Engineering.
0:09
My name is Ryan Saul,
and I'm a QA Engineer.
0:12
I'm sure your first question is
going to be, what is QA Engineering?
0:16
And I wanna answer that in a minute, but
0:21
first I wanna talk about why
you need to test your code.
0:23
So you have this great new application
that you've created, that lets people
0:27
email their friends and family
invitations through a little website.
0:31
It's a simple RSVP application.
0:35
You've been working on this
application for weeks, and
0:38
you're finally ready to
share it with the world.
0:42
After you've put it up on a live website,
you share it on social media and
0:44
tell all of your family and
friends about it.
0:49
But almost immediately after posting this,
a friend writes a comment on your post and
0:52
says hey there, I was really excited
to check out your new website, but
0:57
it doesn't seem like it works.
1:02
It's not doing anything when I click send.
1:03
And then another family member chimes in,
hey this looks great, but
1:07
I can't enter in Lisa's full name
when I try to send her an invitation.
1:11
She has four names you know?
1:15
So, worried that the application isn't
working properly, you take down the site
1:17
immediately, and bring it back up the next
day after you've fixed those issues.
1:22
Your cousin then comments hey,
I tried your new site and
1:27
just sent you an invite to my barbecue
next week, I hope you got it.
1:30
But you look at the website and
there's just nothing.
1:35
So clearly our new application
isn't doing what we want it to do.
1:38
We have all these problems
we've never thought of,
1:44
plus the app isn't even working.
1:47
What we needed to do after
creating the app, but
1:49
before releasing it out to the world,
was to test it.
1:52
So testing and
programming really go hand-in-hand.
1:57
We could probably all agree that
all software should be tested to
2:01
at least do the things that we set out for
it to do, right?
2:06
And we probably all assume that big
software companies thoroughly test
2:10
all their software for
major flaws all the time, right?
2:15
And we could even agree that
it would be irresponsible,
2:20
short-sighted, and even reckless
not to do those tests, right?
2:24
But clearly not all software
gets thoroughly tested, or
2:30
else we wouldn't have some of these news
worthy stories that involve huge problems.
2:33
So Y2K, problems with the Mars Pathfinder,
even the release of Apple Maps.
2:39
All of these are some pretty big
examples of why thorough testing
2:46
is needed in software development.
2:50
So testing is extremely important to
the software development process,
2:53
which gets me back to
the original question.
2:59
What is QA Engineering?
3:02
Okay, so there's two parts to this.
3:04
QA, or Quality Assurance,
is the method of preventing mistakes and
3:08
defects from occurring in a product.
3:12
You might be thinking of people at the end
of a factory line, picking up widgets and
3:15
looking for imperfections.
3:19
That's what we call Quality Control.
3:21
Quality Control is just one
part of Quality Assurance.
3:24
Not only does Quality Assurance
verify the end product, but
3:29
also manages the entire
development process.
3:33
Now software quality assurance, or SQA, is
what we're talking about in this course.
3:37
And we can't just sit at
the end of a factory line and
3:44
watch as the product rolls by us.
3:46
We need to be involved in almost every
step of the software development process.
3:49
Coming up with ways to make sure that
software does what it's supposed to do.
3:54
And we need to test the end product
thoroughly to find any mistakes.
3:59
Software is hard and complex, and
it can be changed very quickly.
4:05
This is why we need more than
just inspectors or testers.
4:10
We need to come up with
many ways to assure quality
4:14
throughout the development process.
4:18
This is what we call QA Engineering.
4:20
Where we're not just testing
the product we've been given, but
4:23
designing new ways to break the software.
4:26
Or discover problems early
in the development process.
4:29
Okay, let's take one more famous example,
the launch of healthcare.gov.
4:34
So back in 2013, the US Federal Government
was preparing to roll out a website
4:40
that would make it easy for people to
enroll in various healthcare plans.
4:46
They wanted a site that would
streamline signing up for healthcare.
4:52
Even though the website
appeared to be up and
4:57
running, the rollout was met with
numerous technical problems.
4:59
The website would put users
into extremely long wait times,
5:04
because the site could not handle
the large load of visitors.
5:08
Even people who could make it through
were met with a really confusing system,
5:13
that required a visitor to
complete the registration process
5:18
before they could even
compare healthcare plans.
5:22
In their first week of operation,
healthcare.gov was only able to enroll
5:25
about 1% of those interested in
getting healthcare through the site.
5:30
Even President Obama at the time commented
on the technical problems of the website,
5:35
saying the website's been too slow.
5:40
People have been getting stuck
in the application process, and
5:43
I think it's fair to say that nobody's
more frustrated by that than I am.
5:46
We can point to come pretty key issues
that made these problems happened.
5:51
There were poorly defined requirements.
5:56
There were major software design issues.
5:58
And there was not enough testing of
the entire website from start to finish.
6:02
And that is where QA Engineering
comes into play, and
6:06
can help prevent huge launch failures,
like this one.
6:10
So the QA Engineer helps define
clear needs that they can test for,
6:14
helps design the software so
that it can be tested.
6:19
And runs all those tests to make sure
that the software both does what it's
6:22
supposed to do and
doesn't break along the way.
6:26
Over the course of this series we're
gonna be talking a lot about testing,
6:29
it's about the most important aspect
of software quality assurance.
6:34
We're gonna keep coming back to the RSVP
app that we mentioned earlier, and
6:39
learn how to properly
test various parts of it.
6:43
We're gonna learn how to write tests,
how to execute them, and
6:47
how to write those tests even better.
6:51
As we're going through the course,
6:53
don't hesitate to use
the video playback controls.
6:55
You can adjust the playback speed
to be faster or slower as needed.
6:58
Be sure to check out the Teacher's Notes
on each video's page too.
7:04
Throughout the course,
we'll have Teacher's Notes that include
7:07
troubleshooting tips or
links where you can learn more.
7:11
This course will also show you
simple templates for test cases and
7:15
bug reports, that you can use
in any simple word processor.
7:19
We will not be using any specific
software to learn this course
7:23
outside of just a spreadsheet tool or
a word processor.
7:27
Okay, at this point, I'm sure you've taken
at least an introduction to programming
7:31
course and
possibly even have written some code.
7:35
But if you haven't, see the Teacher's
Notes on this video's page for
7:39
links to some courses that
you should check out.
7:43
Programming is not required for
this course, but you'll have
7:46
an easier time following along if you
know how to create a simple application.
7:49
Ready?
All right, let's get going.
7:54
You need to sign up for Treehouse in order to download course files.
Sign up