UMN - Introduction to Software Testing
- Offered byCoursera
Introduction to Software Testing at Coursera Overview
Duration | 30 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Introduction to Software Testing at Coursera Highlights
- This Course Plus the Full Specialization.
- Shareable Certificates.
- Graded Programming Assignments.
Introduction to Software Testing at Coursera Course details
- After completing this course, you will have an understanding of the fundamental principles and processes of software testing. You will have actively created test cases and run them using an automated testing tool. You will being writing and recognizing good test cases, including input data and expected outcomes.
- After completing this course, you will be able to'¦
- - Describe the difference between verification and validation.
- - Explain the goal of testing.
- - Use appropriate test terminology in communication; specifically: test fixture, logical test case, concrete test case, test script, test oracle, and fault.
- - Describe the motivations for white and black box testing.
- - Compare and contrast test-first and test-last development techniques.
- - Measure test adequacy using statement and branch coverage.
- - Reason about the causes and acceptability of and poor coverage
- - Assess the fault-finding effectiveness of a functional test suite using mutation testing.
- - Critique black-box and white-box testing, describing the benefits and use of each within the greater development effort.
- - Distinguish among the expected-value (true), heuristic, consistency (as used in A/B regression), and probability test oracles and select the one best-suited to the testing objective.
- - Craft unit and integration test cases to detect defects within code and automate these tests using JUnit. To achieve this, students will employ test doubles to support their tests, including stubs (for state verification) and mocks (for behavioral verification) (https://martinfowler.com/articles/mocksArentStubs.html).
- 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. We expect that you should have an understanding of the Java programming language (or any similar object-oriented language and the ability to pick up Java syntax quickly) and some knowledge of the Software Development Lifecycle.
Introduction to Software Testing at Coursera Curriculum
Introduction
Welcome to the Software Testing and Automation!
Introduction
Why is software testing challenging?
What is a Test?
Automation: Using a test framework
Automation: Writing JUnit tests
Welcome to the course!
Overview
On the difficulty of software testing
What is a Test?
Automation: Using a Test Framework
Automation: Writing JUnit Tests
Testing Foundations
Dependability Definitions
Testing Principles
Testing Principles: Where
Testing Principles: How
The "V Model" of Software Development
Validation and Verification in the "V Model"
Structural Testing
Mutation Testing
Dependability Quiz
Testing Principles: Where
Testing Principles: How
The V-Model Quiz
Validation and Verification in the "V-Model" Quiz
Structural Testing
Mutation Testing
On Basic Testing Terminology, Dependability, and Testing Principles
Testing in the Software Development Lifecycle
What is a test plan?
Importance of a Good Test Plan
Stages of Software Testing Process
Test (Status) Reports
Risk-based Test Planning
Software Defect Reports
Software Defect Reports: Analysis
Software Defect Reports: Reporting
Software Defect Reports: Report Content
Software Defect Reports: Track, Retest, and Close
What is a Test Plan?
Importance of a Good Test Plan
Stages of Software Testing Process
Test (Status) Reports
Risk Based Test Planning
Software Defect Reports
Software Defect Reports: Analysis
Software Defect Reports: Reporting
Software Defect Reports: Report Content
Software Defect Reports: Track, Retest, and Close
Writing Good Unit Tests
Test Doubles: Introduction
Test Doubles: Input
Test Doubles: Output
Assessing Adequacy and Code Coverage Analysis with JaCoCo
Flakey Tests and How to Avoid Them
Test Doubles: Introduction
Test Doubles: Input
Test Doubles: Output