UMN - Black-box and White-box Testing
- Offered byCoursera
Black-box and White-box Testing at Coursera Overview
Duration | 26 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Black-box and White-box Testing at Coursera Highlights
- Earn a shareable certificate upon completion.
- Flexible deadlines according to your schedule.
- Earn a certificate from the University of Minnesota upon completion of course.
Black-box and White-box Testing at Coursera Course details
- 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.
Black-box and White-box Testing at Coursera Curriculum
Module 1: Introduction
Introduction to Test Selection and Test Adequacy
What are Test Obligations?
Factors Influencing Test Effectiveness
Program Structure: Reachability and Observability
Mutation Testing Revisited
Program Structure and Fault Finding
Test Oracles
Oracles and Fault Finding
Welcome to the course!
Introduction to Test Adequacy
Factors Influencing Test Effectiveness
Program Structure: Reachability and Observability
Mutation Testing Revisited
Program Structure and Fault Finding
Test Oracles
Oracles and Fault Finding
Module 2: Black and White-box Techniques
Partition Testing
Combinatorial Testing
Requirements Coverage
Introduction to White-Box Testing Techniques
Code Coverage Metrics: Terminology
Code Coverage Metrics: Statement Coverage
Code Coverage Metrics: Branch Coverage
Code Coverage Metrics: Decision Coverage
Code Coverage Metrics: MC/DC
MC/DC Example
Code Coverage Metrics: OMC/DC
Code Coverage Metrics: Boundary Value
Mutation Testing Strategies
Test Metrics and Test Suite Effectiveness
Partition Testing
Combinatorial Testing
Requirements Coverage
Code Coverage Metrics: Statement Coverage
Code Coverage Metrics: Branch Coverage
Code Coverage Metrics: Decision Coverage
Code Coverage Metrics: MC/DC
Module 3: Requirements-Based Testing
Writing Requirements for Testability
Bad Requirements for Testability
Writing Test Cases for Requirements
"Fixed" Requirements for Testability
Introduction to User Stories and Behavior-Driven Development
Cucumber and Gherkin: An Overview
Cucumber Demo
Cucumber and Gherkin: How Does It Work?
Regular Expressions 101
Regular Expressions and Testing with Cucumber
Writing Requirements for Testability
Bad Requirements for Testability
Writing Test Cases for Requirements
Fixing Requirements for Testability
Are These Requirements Testable?
Introduction to User Stories and Behavior-Driven Development
Regular Expressions 101
Performing Black and White Box Testing with Cucumber
Mapping User Stories: the Microwave Example
Installing Cucumber and Configuring Eclipse Project
Creating Gherkin Scenarios and Step Definitions
Using Lists
Using Data Tables
Working with Scenario Outlines and Examples
Cucumber and Code Coverage