Bummer! This is just a preview. You need to be signed in with a Basic account to view the entire video.
Start a free Basic trial
to watch this video
Writing application code is just part of the software development life cycle. Testing and Maintenance are two phases that can be very daunting without the proper tools. This course will give you an introduction to an industry standard tool that can help you test and maintain your software over time.
Further Reading
Recommended Course Prerequisites
-
0:00
[MUSIC]
-
0:04
Hi, I'm Craig, and I'm a developer.
-
0:06
In this course,
-
0:07
we're gonna explore the wonderful world of a web browser automation.
-
0:11
If you don't know what that means yet, you're in the right place.
-
0:13
We'll start from the very beginning and work our way into a hands-on
-
0:16
specific use case using a powerful automation framework known as Selenium.
-
0:21
But before we get started, let's take a minute for
-
0:24
you to get familiar with your learning environment.
-
0:25
First, there are speed controls in the video player, so
-
0:29
you can feel free to slow me down or speed me up and I won't mind at all.
-
0:33
Attached to each video, there are teacher's notes.
-
0:35
We'll use this space to share additional information with you.
-
0:38
Now, I'll do my best to let you know when I've added some information on there.
-
0:41
But, trying to get in a habit of checking the notes on each video.
-
0:44
There are lots of great resources tucked away in there.
-
0:47
And finally, don't forget, you aren't alone.
-
0:49
Many other students are taking this course and
-
0:51
might be wondering the same thing that you are.
-
0:53
Make sure you check out the community forum and
-
0:55
ask a question when you have one.
-
0:57
The Treehouse community is very welcoming.
-
1:00
Now in order to make this course as accessible as possible, Nate and
-
1:03
I have decided to use the JavaScript programming language to explore Selenium.
-
1:07
Now if JavaScript isn't your primary language, don't fret.
-
1:10
We'll take it slow and
-
1:11
I'll also include links where you can pick up more JavaScript skills.
-
1:15
There are a few prerequisites for this course, so please check those
-
1:19
just to make sure you're up to date on what we'll be discussing here.
-
1:22
Software development is a process, and it has a lifecycle.
-
1:26
Writing code is only one part of that.
-
1:28
In order to successfully release software to users,
-
1:31
it really ought to be thoroughly tested.
-
1:33
Now, this helps not only to ensure that it is working as it is intended, but
-
1:37
also helps your users avoid unnecessary errors.
-
1:40
Users really don't like bugs.
-
1:42
So, how can you make sure that they don't encounter bugs?
-
1:45
Well, the answer is pretty straightforward.
-
1:47
You check before they see it and you make sure that there aren't any errors.
-
1:52
This is known as testing.
-
1:54
Imagine for a second that you have a web-based application and
-
1:56
there are a few pages with just a couple of flaws.
-
1:59
Now, this might seem like you could just click through each page and
-
2:02
try all the different possibilities.
-
2:04
So when you're done with all that clicking around you realize, wait a second,
-
2:07
not everybody uses Google Chrome and that's the only place I tested it.
-
2:11
I better try Safari.
-
2:13
Okay, now I found some more issues.
-
2:15
I guess I better try Firefox and then Internet Explorer.
-
2:17
And then wait, what about phones and tablets and
-
2:20
what about all those different versions of those browsers that everybody's updated?
-
2:24
Wait, people use different operating systems.
-
2:26
How could you possibly go about testing all those different scenarios, that's so
-
2:29
much testing.
-
2:31
In the teacher's notes, we have included a browser compatibility test matrix
-
2:35
that also takes screen resolution into account.
-
2:37
It turns out that this type of manual testing requires a team of a dozen or
-
2:41
more people to fully test even a simple product that has to support
-
2:45
all these permutations.
-
2:47
Now, testing of this nature is dull, repetitive, and tedious.
-
2:52
It can lead to testers burning out and making accidental mistakes.
-
2:56
This type of manual testing does exist, and it is known to not
-
2:59
only delay product launches, but also slow new product feature creation.
-
3:03
Because all the new features are just another thing to test.
-
3:06
But, but, but you say wisely, there's tons of apps that I use daily, and
-
3:10
they don't have any bugs.
-
3:11
They seem to have new features all the time.
-
3:13
How do they do it?
-
3:14
That's a great question and I'm glad you asked.
-
3:16
The answer there is automation.
-
3:17
You can actually write code that will go into all that clicking and
-
3:21
filling out a form fields and all the permutations and have it report back.
-
3:25
Computers don't get bored by tedious tasks.
-
3:27
I think that you'll see writing automation code is actually pretty fun.
-
3:31
It's a win-win.
-
3:33
Yeah, and you can use this automation code in your testing framework so
-
3:36
your app can be fully tested in all those permutations.
-
3:39
That's yet another win.
-
3:41
So are you ready to start winning?
-
3:43
There are a bunch of automation tools, but Selenium is definitely one of the most
-
3:46
popular ones out there and it has been around for a long time.
-
3:50
Let's take a look at it and its history right after this quick break.
You need to sign up for Treehouse in order to download course files.
Sign up