- Level Professional
- المدة 26 ساعات hours
- الطبع بواسطة University of Minnesota
-
Offered by
عن
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.الوحدات
Welcome
1
Readings
- Welcome to the course!
Course Introduction
1
Assignment
- Introduction to Test Adequacy
2
Videos
- Introduction to Test Selection and Test Adequacy
- What are Test Obligations?
Factors Influencing Test Effectiveness
6
Assignment
- Factors Influencing Test Effectiveness
- Program Structure: Reachability and Observability
- Mutation Testing Revisited
- Program Structure and Fault Finding
- Test Oracles
- Oracles and Fault Finding
6
Videos
- Factors Influencing Test Effectiveness
- Program Structure: Reachability and Observability
- Mutation Testing Revisited
- Program Structure and Fault Finding
- Test Oracles
- Oracles and Fault Finding
Black Box Adequacy Techniques
3
Assignment
- Partition Testing
- Combinatorial Testing
- Requirements Coverage
3
Videos
- Partition Testing
- Combinatorial Testing
- Requirements Coverage
White-Box Testing: Introduction and Terminology
2
Videos
- Introduction to White-Box Testing Techniques
- Code Coverage Metrics: Terminology
Code Coverage: Statement, Branch, and Decision In-Depth
3
Assignment
- Code Coverage Metrics: Statement Coverage
- Code Coverage Metrics: Branch Coverage
- Code Coverage Metrics: Decision Coverage
3
Videos
- Code Coverage Metrics: Statement Coverage
- Code Coverage Metrics: Branch Coverage
- Code Coverage Metrics: Decision Coverage
Lesson 3: Code Coverage: MC/DC, Observability, and OMC/DC
1
Assignment
- Code Coverage Metrics: MC/DC
3
Videos
- Code Coverage Metrics: MC/DC
- MC/DC Example
- Code Coverage Metrics: OMC/DC
Lesson 4: Code Coverage: Boundary-value and Mutation
3
Videos
- Code Coverage Metrics: Boundary Value
- Mutation Testing Strategies
- Test Metrics and Test Suite Effectiveness
Writing Good Requirements for Testing
5
Assignment
- Writing Requirements for Testability
- Bad Requirements for Testability
- Writing Test Cases for Requirements
- Fixing Requirements for Testability
- Are These Requirements Testable?
4
Videos
- Writing Requirements for Testability
- Bad Requirements for Testability
- Writing Test Cases for Requirements
- "Fixed" Requirements for Testability
Testing User Stories with Cucumber
- Try out Cucumber and Gherkin
- Playing with Regular Expressions
2
Assignment
- Introduction to User Stories and Behavior-Driven Development
- Regular Expressions 101
6
Videos
- 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
Applying Cucumber
- CoffeeMaker: Unifying Use Cases and Tests using Cucumber
6
Videos
- 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
Structural and Mutation Coverage
- CoffeeMaker: Achieving Coverage
1
Videos
- Cucumber and Code Coverage
Auto Summary
"Black-box and White-box Testing" is an IT & Computer Science course on Coursera led by industry experts. It covers various testing techniques, creating effective test suites, assessing testability, and automating tests. Designed for professionals like Software Engineers and DevOps Engineers, the course spans 1560 minutes and offers a Starter subscription option. Ideal for learners with OOP language experience and familiarity with testing terminology.

Mike

Kevin Wendt