When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
After completing this course, learners will have an understanding of a variety of black-box and white-box testing techniques. The learner will have put this understanding into practice, creating effective sets of test cases (called a test suite) to properly exercise software for defect finding. The learner will have examined requirements for testability, created an oracle for automated testing, assessed fault-finding effectiveness of test suites, and generated inputs using a variety of techniques.
After completing this course, you will be able to:
- evaluate testability of requirements
- define testable units within a program specification
- apply black-box test input selection methods - specifically boundary-value analysis, fuzzing, and random selection - and select the method most-suited to achieve the given testing objective
- assess the fault-finding effectiveness of a functional test suite using mutation testing
- use category partitioning to develop automated functional tests (with Cucumber) based on a given software specification
- create an expected-value oracle from a program description to use within the generated tests
In order to do well in this course, you should have experience with an OOP language (like Java), have an IDE installed (e.g., Eclipse), and be familiar with testing terminology (see Intro to Software Testing course within this specialization). we also expect a familiarity with the Software Development Lifecycle and the context in which the testing stage sits.
This course is primarily aimed at those learners interested in any of the following roles: Software Engineer, Software Engineer in Test, Test Automation Engineer, DevOps Engineer, Software Developer, Programmer, Computer Enthusiast.
In this module, we will learn about the basics of testing adequacy, as well as the factors that influence testing effectiveness and how we quantify these metrics.
What's included
8 videos1 reading7 assignments
Show info about module content
8 videos•Total 66 minutes
Introduction to Test Selection and Test Adequacy•6 minutes
What are Test Obligations?•12 minutes
Factors Influencing Test Effectiveness•10 minutes
Program Structure: Reachability and Observability•8 minutes
Mutation Testing Revisited•6 minutes
Program Structure and Fault Finding•6 minutes
Test Oracles•9 minutes
Oracles and Fault Finding•8 minutes
1 reading•Total 5 minutes
Welcome to the course!•5 minutes
7 assignments•Total 194 minutes
Introduction to Test Adequacy•30 minutes
Factors Influencing Test Effectiveness•30 minutes
Program Structure: Reachability and Observability•30 minutes
Mutation Testing Revisited•30 minutes
Program Structure and Fault Finding•30 minutes
Test Oracles•14 minutes
Oracles and Fault Finding•30 minutes
Module 2: Black and White-box Techniques
Module 2•5 hours to complete
Module details
In this module, we will learn a variety of testing techniques that can be used in both white-box and black-box testing strategies.
What's included
14 videos7 assignments
Show info about module content
14 videos•Total 111 minutes
Partition Testing•10 minutes
Combinatorial Testing•13 minutes
Requirements Coverage•7 minutes
Introduction to White-Box Testing Techniques•12 minutes
In this module, we focus on requirements-based testing. We review a set of requirements from a testing perspective and then move on to a more sophisticated way of writing requirements: structured requirements using the tool Cucumber.
What's included
10 videos7 assignments2 programming assignments
Show info about module content
10 videos•Total 57 minutes
Writing Requirements for Testability•4 minutes
Bad Requirements for Testability•3 minutes
Writing Test Cases for Requirements•3 minutes
"Fixed" Requirements for Testability•2 minutes
Introduction to User Stories and Behavior-Driven Development•9 minutes
Cucumber and Gherkin: An Overview•6 minutes
Cucumber Demo•5 minutes
Cucumber and Gherkin: How Does It Work?•9 minutes
Regular Expressions 101•12 minutes
Regular Expressions and Testing with Cucumber•4 minutes
7 assignments•Total 210 minutes
Writing Requirements for Testability•30 minutes
Bad Requirements for Testability•30 minutes
Writing Test Cases for Requirements•30 minutes
Fixing Requirements for Testability•30 minutes
Are These Requirements Testable?•30 minutes
Introduction to User Stories and Behavior-Driven Development•30 minutes
Regular Expressions 101•30 minutes
2 programming assignments•Total 270 minutes
Try out Cucumber and Gherkin•90 minutes
Playing with Regular Expressions•180 minutes
Performing Black and White Box Testing with Cucumber
Module 4•7 hours to complete
Module details
In this module, we go further in using the Cucumber toolset in order to implement a variety of testing strategies against two example projects.
What's included
7 videos2 programming assignments
Show info about module content
7 videos•Total 79 minutes
Mapping User Stories: the Microwave Example•8 minutes
Installing Cucumber and Configuring Eclipse Project•10 minutes
Creating Gherkin Scenarios and Step Definitions•11 minutes
Using Lists•11 minutes
Using Data Tables•20 minutes
Working with Scenario Outlines and Examples•7 minutes
Cucumber and Code Coverage•13 minutes
2 programming assignments•Total 360 minutes
CoffeeMaker: Unifying Use Cases and Tests using Cucumber•180 minutes
CoffeeMaker: Achieving Coverage•180 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
The University of Minnesota is among the largest public research universities in the country, offering undergraduate, graduate, and professional students a multitude of opportunities for study and research. Located at the heart of one of the nation’s most vibrant, diverse metropolitan communities, students on the campuses in Minneapolis and St. Paul benefit from extensive partnerships with world-renowned health centers, international corporations, government agencies, and arts, nonprofit, and public service organizations.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.