The course “Software Testing and Automation’ provides a comprehensive introduction to software testing, covering both foundational principles and modern testing practices used in industry. Learners begin by understanding the purpose of testing in the software development lifecycle, core testing terminology, and the difference between verification and validation.

Software Testing and Automation

Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Apply core software testing principles, terminology, and SDLC-based testing practices to evaluate software quality
Design effective test cases using black-box, white-box, integration, and model-based testing techniques
Select and perform functional, non-functional, and specialised testing types to validate performance, security, usability, and reliability
Plan, manage, and automate scalable testing workflows, including regression testing, defect management, and CI/CD-based continuous testing
Details to know

Add to your LinkedIn profile
July 2026
139 assignments
See how employees at top companies are mastering in-demand skills

There are 10 modules in this course
This module introduces foundational concepts in software testing, covering the definition, objectives, principles, and role of testing in the software development lifecycle. It explores testing terminology, verification and validation, testing vs debugging, and levels and types of testing. Learners will gain a practical understanding of software testing essentials for quality assurance.
What's included
13 videos4 readings10 assignments
13 videos•Total 71 minutes
- Course Introduction•1 minute
- Meet Your Instructor: Prof. Rajesh Kumar•1 minute
- Meet Your Instructor: Prof. Harish Kumar Aggarwal•1 minute
- Definition and Purpose of Software Testing•5 minutes
- Objectives of Software Testing•6 minutes
- Principles of Software Testing•6 minutes
- Role of Software Testing in SDLC•8 minutes
- Verification vs. Validation•7 minutes
- Testing vs. Debugging•6 minutes
- Levels of Testing•9 minutes
- Types of Testing•9 minutes
- Basic Terminologies: Defect Error, Fault, Failure•4 minutes
- Challenges in Testing•8 minutes
4 readings•Total 200 minutes
- Course Overview•20 minutes
- Recommended Reading: Fundamentals of Software Testing•60 minutes
- Recommended Reading: Testing in the Development Lifecycle•50 minutes
- Recommended Reading: Scope and Terminology•70 minutes
10 assignments•Total 90 minutes
- Definition and Purpose of Software Testing •9 minutes
- Objectives of Software Testing •9 minutes
- Principles of Software Testing •9 minutes
- Role of Software Testing in SDLC •9 minutes
- Verification vs. Validation •9 minutes
- Testing vs. Debugging •9 minutes
- Levels of Testing •9 minutes
- Types of Testing •9 minutes
- Basic Terminologies: Defect Error, Fault, Failure •9 minutes
- Challenges in Testing •9 minutes
This module introduces black box testing—a method focusing on validating software functionality without knowledge of internal code. It covers fundamental black box testing concepts, their advantages and limitations, and core black box techniques including equivalence class partitioning, boundary value analysis, decision table testing, and state transition testing. Learners will understand how these techniques are applied to efficiently design test cases that ensure thorough and effective testing of software behaviour.
What's included
7 videos4 readings8 assignments
7 videos•Total 79 minutes
- Black Box Testing Introduction•6 minutes
- BVA Concept•13 minutes
- Steps for Identifying Boundary Values•11 minutes
- ECP Concept•10 minutes
- Steps for Identifying Equivalence Classes•13 minutes
- Decision Table Testing-Introduction•12 minutes
- Decision Tables - Example•14 minutes
4 readings•Total 170 minutes
- Recommended Reading: Overview of Black Box Testing•40 minutes
- Recommended Reading: Boundary Value Analysis (BVA)•45 minutes
- Recommended Reading: Equivalence Class Partitioning (ECP)•45 minutes
- Recommended Reading: Decision-Based Techniques•40 minutes
8 assignments•Total 123 minutes
- Graded Quiz for Week 1 and 2•60 minutes
- Black Box Testing Introduction•9 minutes
- BVA Concept•9 minutes
- Steps for Identifying Boundary Values•9 minutes
- ECP Concept•9 minutes
- Steps for Identifying Equivalence Classes•9 minutes
- Decision Table Testing-Introduction•9 minutes
- Decision Tables - Example•9 minutes
This module covers fundamental aspects of white box testing, focusing on techniques that analyse the internal structures and logic of software. It introduces control flow analysis, construction and use of control flow graphs (CFG), path testing concepts including cyclomatic complexity, data flow analysis and anomalies, code coverage metrics, and challenges faced in white box testing. Learners gain practical understanding of how to improve test coverage, identify errors, and design effective test cases by examining code internals.
What's included
8 videos3 readings8 assignments
8 videos•Total 86 minutes
- Black Box vs. White Box Testing•6 minutes
- Logic Coverage•17 minutes
- Path Coverage•12 minutes
- Constructing a Control Flow Graph•5 minutes
- Cyclomatic Complexity•15 minutes
- Data Flow Graph (DFG)-Definition and Purpose•5 minutes
- Data Flow Anomalies•20 minutes
- Challenges in White Box Testing•6 minutes
3 readings•Total 195 minutes
- Recommended Reading: Overview and Control Flow Analysis•60 minutes
- Recommended Reading: Path and Data Flow Testing•75 minutes
- Recommended Reading: Code Coverage and Challenges•60 minutes
8 assignments•Total 72 minutes
- Black Box vs. White Box Testing•9 minutes
- Logic Coverage•9 minutes
- Path Coverage•9 minutes
- Constructing a Control Flow Graph•9 minutes
- Cyclomatic Complexity•9 minutes
- Data Flow Graph (DFG)-Definition and Purpose•9 minutes
- Data Flow Anomalies•9 minutes
- Challenges in White Box Testing•9 minutes
This module focuses on integration testing, the phase in which individual software modules are combined and tested as a group to ensure they function together correctly. It covers the definition, objectives, and significance of integration testing. Various integration testing approaches, including incremental, top-down, bottom-up, big bang, and sandwich (hybrid) methods, are discussed with their workflows, advantages, and limitations. The module also highlights strategies for planning, designing, and executing integration tests with tools such as stubs and drivers.
What's included
11 videos3 readings11 assignments
11 videos•Total 89 minutes
- Objectives and Best Practices•7 minutes
- Overview of Approaches•4 minutes
- Big Bang Testing•9 minutes
- Incremental Testing Strategies•9 minutes
- Stubs and Drivers•7 minutes
- Top-Down Integration Testing•9 minutes
- Bottom-Up Integration Testing•10 minutes
- Sandwich (Hybrid) Integration Testing•7 minutes
- Call Graph-Based Integration•9 minutes
- Path-Based Integration•14 minutes
- Mutation Testing•4 minutes
3 readings•Total 140 minutes
- Recommended Reading: Motivation for Integration Testing•30 minutes
- Recommended Reading: Integration Testing Techniques•50 minutes
- Recommended Reading: Integration Testing Approaches•60 minutes
11 assignments•Total 144 minutes
- Graded Quiz for Week 3 and 4•60 minutes
- Definition and Objectives•9 minutes
- Overview of Approaches•9 minutes
- Big Bang Testing•9 minutes
- Incremental Testing Strategies•9 minutes
- Stubs and Drivers•9 minutes
- Top-Down Integration Testing•9 minutes
- Bottom-Up Integration Testing•9 minutes
- Sandwich (Hybrid) Integration Testing•9 minutes
- Path-Based Integration•6 minutes
- Mutation Testing •6 minutes
This module introduces model-based testing (MBT), an approach where abstract models representing system behaviour are used to automate and optimise test case generation and execution. Learners explore various model types, including state machines, decision tables, UML, data flow, Markov, and scenario-based models, understanding how each supports comprehensive testing. The module also delves into advanced model concepts such as Peterson’s lattice of behavioural models and Finite State Machine (FSM) testing methods, including coverage criteria and sophisticated test sequence generation techniques.
What's included
8 videos3 readings8 assignments
8 videos•Total 98 minutes
- Introduction to Model-Based Testing•10 minutes
- Definition of a Model in Testing•6 minutes
- Types of Models•11 minutes
- Peterson’s Lattice of Behavioural Models•9 minutes
- FSM Basics•10 minutes
- FSM Testing Methods – 1•10 minutes
- FSM Testing Methods – 2•20 minutes
- FSM Testing Methods – 3•22 minutes
3 readings•Total 180 minutes
- Recommended Reading: Introduction and Modelling•60 minutes
- Recommended Reading: Advanced Concepts•45 minutes
- Recommended Reading: Finite State Machine (FSM) Testing•75 minutes
8 assignments•Total 72 minutes
- Introduction to Model-Based Testing•9 minutes
- Definition of a Model in Testing•9 minutes
- Types of Models•9 minutes
- Peterson’s Lattice of Behavioural Models•9 minutes
- FSM Basics•9 minutes
- FSM Testing Methods – 1•9 minutes
- FSM Testing Methods – 2•9 minutes
- FSM Testing Methods – 3•9 minutes
This module covers Non-Functional Testing (NFT). Non-functional testing evaluates how well a software system performs beyond functional correctness. It focuses on quality attributes such as speed, security, reliability, usability, and compatibility to ensure the application works efficiently under real-world conditions. NFT helps identify risks like slow response times, vulnerabilities, poor user experience, instability over time, and failures on different devices or environments. By validating these characteristics, NFT improves overall product quality, user satisfaction, and confidence before release.
What's included
20 videos4 readings21 assignments
20 videos•Total 79 minutes
- Non-Functional Testing Intro•2 minutes
- Performance Testing•2 minutes
- Performance Testing - Types•4 minutes
- Performance Testing - Process•6 minutes
- Performance Testing - Tools•3 minutes
- Security Testing - Definition, Goals and Focus•3 minutes
- Security Principles•3 minutes
- Security Testing - Types•4 minutes
- Security Testing - Process•4 minutes
- Security Vulnerabilities•6 minutes
- Security Testing Tools•4 minutes
- Reliability Testing•5 minutes
- Compatibility Testing•4 minutes
- Usability Testing•4 minutes
- Portability Testing•4 minutes
- Maintainability Testing•5 minutes
- Accessibility Testing•4 minutes
- Installation Testing•5 minutes
- International Testing•6 minutes
- Database Testing•5 minutes
4 readings•Total 280 minutes
- Recommended Reading: Introduction to Non-Functional Testing and Performance Testing•60 minutes
- Recommended Reading: Security Testing•60 minutes
- Recommended Reading: Other Non-Functional Testing - Part 1•70 minutes
- Recommended Reading: Other Non-Functional Testing - Part 2•90 minutes
21 assignments•Total 237 minutes
- Graded Quiz for Week 5 and 6•60 minutes
- Non-Functional Testing Intro•6 minutes
- Performance Testing•9 minutes
- Performance Testing - Types•9 minutes
- Performance Testing - Process•9 minutes
- Performance Testing - Tools•9 minutes
- Security Testing - Definition, Goals and Focus•9 minutes
- Security Principles•9 minutes
- Security Testing - Types•9 minutes
- Security Testing - Process•9 minutes
- Security Vulnerabilities•9 minutes
- Security Testing Tools•9 minutes
- Reliability Testing•9 minutes
- Compatibility Testing•9 minutes
- Usability Testing•9 minutes
- Portability Testing•9 minutes
- Maintainability Testing•9 minutes
- Accessibility Testing•9 minutes
- Installation Testing•9 minutes
- International Testing•9 minutes
- Database Testing•9 minutes
This module provides a comprehensive overview of the major types of software testing applied across the software development lifecycle and modern delivery practices. It introduces testing by level (SDLC-based testing), including unit, integration, system, and acceptance testing, explaining how each level validates software progressively from individual components to complete systems. The module also covers release and user validation testing, such as alpha, beta, field, and dogfooding testing, highlighting their role in assessing readiness under real-world conditions. Learners will explore build verification, change validation testing, including smoke and sanity testing, used to quickly assess build stability and recent modifications. The module further examines collaborative and informal testing approaches such as peer, buddy, and exploratory testing, emphasising human judgment and learning-driven testing. It also addresses resilience-focused techniques like random, fault-injection, and endurance testing to evaluate system robustness under abnormal conditions. Modern deployment and release strategy testing methods—such as blue-green, canary, shadow, and dark launch testing—are discussed alongside experimentation and optimisation testing, including A/B testing, to support data-driven decision-making and risk-controlled software releases.
What's included
23 videos4 readings23 assignments
23 videos•Total 108 minutes
- Unit Testing•4 minutes
- Integration Testing•6 minutes
- System Testing•5 minutes
- Acceptance Testing•5 minutes
- Field Testing•5 minutes
- Alpha Testing•5 minutes
- Beta Testing•5 minutes
- Smoke Testing•4 minutes
- Sanity Testing•4 minutes
- Buddy Testing•5 minutes
- Peer Testing•4 minutes
- Exploratory Testing•4 minutes
- Monkey Testing•5 minutes
- Blue-Green Testing•5 minutes
- Shadow Testing•5 minutes
- Canary Testing•4 minutes
- Dark Launch Testing•5 minutes
- A/B Testing•4 minutes
- Mutation Testing•4 minutes
- Chaos Testing•4 minutes
- Gorilla Testing•4 minutes
- Soak Testing•5 minutes
- Dogfooding Testing•4 minutes
4 readings•Total 180 minutes
- Recommended Reading: Levels of Testing•60 minutes
- Recommended Reading: Collaborative and Human-Centred Testing•40 minutes
- Recommended Reading: Deployment and Release-Oriented Testing•40 minutes
- Recommended Reading: Robustness and Resilience-Oriented Testing•40 minutes
23 assignments•Total 207 minutes
- Unit Testing•9 minutes
- Integration Testing•9 minutes
- System Testing•9 minutes
- Acceptance Testing•9 minutes
- Field Testing•9 minutes
- Alpha Testing•9 minutes
- Beta Testing•9 minutes
- Smoke Testing•9 minutes
- Sanity Testing•9 minutes
- Buddy Testing•9 minutes
- Peer Testing•9 minutes
- Exploratory Testing•9 minutes
- Monkey Testing•9 minutes
- Blue-Green Testing•9 minutes
- Shadow Testing•9 minutes
- Canary Testing•9 minutes
- Dark Launch Testing•9 minutes
- A/B Testing•9 minutes
- Mutation Testing•9 minutes
- Chaos Testing•9 minutes
- Gorilla Testing•9 minutes
- Soak Testing•9 minutes
- Dogfooding Testing•9 minutes
This module provides a comprehensive understanding of regression testing as a critical quality assurance activity aimed at ensuring that existing functionality remains unaffected by code changes, enhancements, bug fixes, or configuration updates. It begins with a clear definition of regression testing and explains why regression testing is essential in maintaining software stability, preventing defect reintroduction, and supporting continuous integration and delivery practices. The module distinguishes between different types of regression testing, including regular regression testing, final regression testing performed before release, and re-test-all regression testing, where the entire test suite is executed to ensure complete system integrity. Learners will explore when regression testing should be performed, how frequently it is required, and how to determine the appropriate scope of regression based on risk, system complexity, and change impact. The module further covers best practices in regression testing, such as test case maintenance, automation strategy selection, and efficient use of test environments. A structured regression testing process is presented, outlining key steps from change analysis and test selection to execution, defect reporting, and closure. Learners are introduced to regression testing techniques and advanced regression test selection strategies, including test minimisation, prioritisation, and optimisation, which aim to reduce execution time while maximising defect detection effectiveness.
What's included
14 videos4 readings15 assignments
14 videos•Total 67 minutes
- Definition - Regression Testing•2 minutes
- Why to Do Regression Testing•3 minutes
- Example for Regression Testing•2 minutes
- Regular Regression Testing•2 minutes
- Final Regression Testing•3 minutes
- Re-Test All Regression Testing•3 minutes
- Steps in Regression Testing•5 minutes
- Best Practices in Regression Testing•4 minutes
- Steps in Regression Test Execution•4 minutes
- Regression Testing Technique•4 minutes
- Introduction to Regression Test Selection•15 minutes
- Regression Test Selection - Minimisation•5 minutes
- Regression Test Selection - Prioritisation•11 minutes
- Regression Test Selection - Optimisation•4 minutes
4 readings•Total 100 minutes
- Recommended Reading: Definition and Overview of Regression Testing•20 minutes
- Recommended Reading: Types of Regression Testing•20 minutes
- Recommended Reading: Regression Testing Process and Practices•20 minutes
- Recommended Reading: Regression Test Selection Strategies•40 minutes
15 assignments•Total 189 minutes
- Graded Quiz for Week 7 and 8•60 minutes
- Definition - Regression Testing•9 minutes
- Why to Do Regression Testing•9 minutes
- Example for Regression Testing•12 minutes
- Regular Regression Testing•9 minutes
- Final Regression Testing•9 minutes
- Re-Test All Regression Testing•9 minutes
- Steps in Regression Testing•9 minutes
- Best Practices in Regression Testing•9 minutes
- Steps in Regression Test Execution•9 minutes
- Regression Testing Technique•9 minutes
- Introduction to Regression Test Selection•9 minutes
- Regression Test Selection - Minimisation•9 minutes
- Regression Test Selection - Prioritisation•9 minutes
- Regression Test Selection - Optimisation•9 minutes
This module provides a comprehensive understanding of test planning, management, and control activities that guide the testing effort from initiation to release. It introduces test planning as a strategic process that defines testing objectives, scope, approach, and responsibilities. Learners will explore scope planning, test strategy and approach selection, entry and exit criteria, and resource planning to ensure testing is aligned with project goals and constraints. The module also covers test deliverables, test estimation techniques, and test scheduling practices used to plan effort, timelines, and dependencies effectively. In addition, the module addresses risk management in testing, test infrastructure and test case database (TCDB) management, and defect lifecycle management to maintain control, traceability, and quality throughout the test process. Learners will examine the end-to-end test process, including execution monitoring, test execution reporting, and defect analysis and reporting. Finally, the module explains release criteria and how testing outcomes, risk assessment, and defect status support informed go/no-go release decisions, ensuring product readiness and stakeholder confidence.
What's included
14 videos3 readings14 assignments
14 videos•Total 62 minutes
- Introduction to Test Planning•5 minutes
- Scope Planning•4 minutes
- Strategy and Approach•3 minutes
- Resource Planning•4 minutes
- Test Deliverables•3 minutes
- Test Estimation•5 minutes
- Test Scheduling•5 minutes
- Risk Management•5 minutes
- Test Infrastructure (TCDB) Management•5 minutes
- Defect Lifecycle Management•7 minutes
- Test Process•5 minutes
- Test Execution Report•3 minutes
- Defect Analysis and Report•4 minutes
- Release Criteria•4 minutes
3 readings•Total 110 minutes
- Recommended Reading: Test Planning and Estimation•40 minutes
- Recommended Reading: Test Management and Control•40 minutes
- Recommended Reading: Test Reporting and Release Decisions•30 minutes
14 assignments•Total 129 minutes
- Introduction to Test Planning•9 minutes
- Scope Planning •9 minutes
- Strategy and Approach•9 minutes
- Resource Planning •9 minutes
- Test Deliverables•9 minutes
- Test Estimation•12 minutes
- Test Scheduling•9 minutes
- Risk Management•9 minutes
- Test Infrastructure (TCDB) Management•9 minutes
- Defect Lifecycle Management•9 minutes
- Test Process•9 minutes
- Test Execution Report•9 minutes
- Defect Analysis and Report•9 minutes
- Release Criteria•9 minutes
This module provides a comprehensive introduction to test automation as a key enabler of speed, reliability, and scalability in modern software testing. It begins by defining the objectives of test automation and explaining its role in improving test coverage, consistency, and feedback cycles. Learners will examine common challenges in test automation, such as tool selection, maintenance overhead, unstable tests, and environment dependencies, along with best practices and principles for building sustainable automation solutions. The module introduces test automation frameworks, covering their purpose, core components, and common types, including data-driven, keyword-driven, and hybrid frameworks. Concepts such as the Page Object Model (POM), test environment and test data handling, and the test pyramid are explored to promote maintainable and well-balanced automation strategies. The module also covers automation across layers, including API, UI, performance, and security testing. Finally, learners will understand continuous testing concepts, test orchestration, CI/CD integration, automated test reporting, and dashboarding to support fast, data-driven quality decisions in modern DevOps pipelines.
What's included
20 videos6 readings21 assignments
20 videos•Total 116 minutes
- Title and Objective•6 minutes
- Challenges in Test Automation•5 minutes
- Best Practices in Test Automation•6 minutes
- Test Framework - Introduction•5 minutes
- Test Framework - Types•6 minutes
- Test Automation Tools•6 minutes
- Test Tool Selection•6 minutes
- Principles of Good Automation•6 minutes
- Page Object Model (POM)•5 minutes
- Data-Driven Testing•6 minutes
- Keyboard Driven Testing•6 minutes
- Test Environment and Data Handling•6 minutes
- The Test Pyramid•5 minutes
- API Test Automation•6 minutes
- UI Test Automation•6 minutes
- Performance Test Automation•8 minutes
- Security Test Automation•7 minutes
- Continuous Testing - Concept•4 minutes
- Test Reporting and CI/CD Dashboards•4 minutes
- Test Orchestration•5 minutes
6 readings•Total 170 minutes
- Recommended Reading: Fundamentals of Test Automation•30 minutes
- Recommended Reading: Test Frameworks and Automation Tools•40 minutes
- Automation Design Principles and Patterns•30 minutes
- Recommended Reading: Test Automation in Different Layers•30 minutes
- Recommended Reading: Continuous Testing and Automation at Scale•30 minutes
- Course Summary•10 minutes
21 assignments•Total 240 minutes
- Graded Quiz for Week 9 and 10•60 minutes
- Title and Objective•9 minutes
- Challenges in Test Automation•9 minutes
- Best Practices in Test Automation•9 minutes
- Test Framework - Introduction•9 minutes
- Test Framework - Types•9 minutes
- Test Automation Tools•9 minutes
- Test Tool Selection•9 minutes
- Principles of Good Automation•9 minutes
- Page Object Model (POM)•9 minutes
- Data-Driven Testing•9 minutes
- Keyboard Driven Testing•9 minutes
- Test Environment and Data Handling•9 minutes
- The Test Pyramid•9 minutes
- API Test Automation•9 minutes
- UI Test Automation•9 minutes
- Performance Test Automation•9 minutes
- Security Test Automation•9 minutes
- Continuous Testing - Concept•9 minutes
- Test Reporting and CI/CD Dashboards•9 minutes
- Test Orchestration•9 minutes
Build toward a degree
This course is part of the following degree program(s) offered by Birla Institute of Technology & Science, Pilani. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
Instructor

Explore more from Software Development
Status: Free TrialFree TrialBBoard Infinity
Course
Status: Free TrialFree TrialUUniversity of Minnesota
Specialization
Status: Free TrialFree TrialUUniversity of Minnesota
Course

Course
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Frequently asked questions
To access course materials, assignments, and earn a Certificate, you'll need to purchase the Certificate experience when you enroll in a course. Eligible learners may also have the option to start with a Free Trial. Some courses may also offer a Full Course, No Certificate option. This lets you access course materials, submit required assessments, and receive a final grade, but you won't be able to earn or purchase a Certificate.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, 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,


