Introduction to Software Testing

  • 4.3
Approx. 30 hours to complete

Course Summary

This course provides an introduction to software testing, including testing techniques, test design, and testing tools. It also covers topics such as debugging, verification and validation, and quality assurance.

Key Learning Points

  • Understand the basics of software testing
  • Learn different testing techniques and test design
  • Get hands-on experience with testing tools

Related Topics for further study


Learning Outcomes

  • Understand the importance of software testing
  • Develop effective testing strategies
  • Use testing tools to improve software quality

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge
  • Familiarity with software development processes

Course Difficulty Level

Beginner

Course Format

  • Online self-paced
  • Video lectures
  • Hands-on exercises

Similar Courses

  • Software Testing Fundamentals
  • Introduction to Quality Assurance

Related Education Paths


Notable People in This Field

  • Alan Page
  • Lisa Crispin

Related Books

Description

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.

Knowledge

  • You will gain an understanding of the theory of testing.
  • You will practice writing tests for a variety of quality intent, including code coverage, defect finding, and statistical testing.
  • You will develop test plans to guide the testing stage of the software development lifecycle.
  • You will create defect reports to provide transparency and understanding to supervisors, colleagues, and users.

Outline

  • 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
  • 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

Summary of User Reviews

Discover the basics of software testing and learn how to effectively test software applications with this comprehensive course from Coursera. Students have given this course high praise for its engaging and informative content.

Key Aspect Users Liked About This Course

The course is well-structured and provides a thorough introduction to software testing concepts.

Pros from User Reviews

  • The course is taught by experienced instructors who provide valuable insights and practical examples.
  • The content is well-organized and easy to follow, making it accessible to beginners.
  • The quizzes and assignments are challenging but manageable, allowing students to test their knowledge and apply it to real-world scenarios.
  • The course provides a solid foundation for those who want to pursue a career in software testing or quality assurance.
  • The course is self-paced, allowing students to work at their own speed and on their own schedule.

Cons from User Reviews

  • Some students have found the course to be too basic, especially those with prior experience in software testing.
  • The course does not cover advanced topics in software testing, which may make it less appealing to those with more experience.
  • Some students have reported technical issues with the course platform, such as difficulty submitting assignments or accessing course materials.
  • The course does not provide hands-on experience with software testing tools, which may be a drawback for some students.
  • The course requires a significant time commitment, which may be challenging for those with busy schedules.
English
Available now
Approx. 30 hours to complete
Sanjai Rayadurgam, Kevin Wendt
University of Minnesota
Coursera

Instructor

Sanjai Rayadurgam

  • 4.3 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses