Black-box and White-box Testing
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Black-box and White-box Testing
This course is part of Software Testing and Automation Specialization
Instructors: Mike
26,964 already enrolled
Included with
Learn more
Ask Coursera
117 reviews
Recommended experience
117 reviews
Recommended experience
What you'll learn
You will evaluate testability of requirements
You will define testable units within a program specification
You will select and apply black-box test input selection methods, including boundary-value analysis, fuzzing, and random selection
You will develop automated tests and test oracles for automated software verification.
Skills you'll gain
Tools you'll learn
Details to know
21 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- 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
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
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
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
- Code Coverage Metrics: Terminologyβ’6 minutes
- Code Coverage Metrics: Statement Coverageβ’4 minutes
- Code Coverage Metrics: Branch Coverageβ’4 minutes
- Code Coverage Metrics: Decision Coverageβ’4 minutes
- Code Coverage Metrics: MC/DCβ’10 minutes
- MC/DC Exampleβ’6 minutes
- Code Coverage Metrics: OMC/DCβ’13 minutes
- Code Coverage Metrics: Boundary Valueβ’6 minutes
- Mutation Testing Strategiesβ’6 minutes
- Test Metrics and Test Suite Effectivenessβ’10 minutes
7 assignmentsβ’Total 210 minutes
- Partition Testingβ’30 minutes
- Combinatorial Testingβ’30 minutes
- Requirements Coverageβ’30 minutes
- Code Coverage Metrics: Statement Coverageβ’30 minutes
- Code Coverage Metrics: Branch Coverageβ’30 minutes
- Code Coverage Metrics: Decision Coverageβ’30 minutes
- Code Coverage Metrics: MC/DCβ’30 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
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
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
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
Offered by
Explore more from Software Development
- U
University of Minnesota
Course
Status: Free TrialCategory: Credit offered - B
Board Infinity
Course
Status: Free TrialCategory: Credit offered - U
University of Minnesota
Specialization
Status: Free TrialCategory: Credit offered - B
Board Infinity
Course
Status: Free TrialCategory: Credit offered
Why people choose Coursera for their career
Learner reviews
- 5 stars
53.84%
- 4 stars
11.96%
- 3 stars
7.69%
- 2 stars
9.40%
- 1 star
17.09%
Showing 3 of 117
Reviewed on Jul 15, 2024
I'm an university student. I would like to take this opportunity to thank the lecturers, University and Coursera. This course is amazing.
Frequently asked questions
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.
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.
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.
More questions
Financial aid available,
