Birla Institute of Technology & Science, Pilani

Software Testing and Automation

Birla Institute of Technology & Science, Pilani

Software Testing and Automation

Included with Coursera PlusLearn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

7 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

7 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree

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

Shareable certificate

Add to your LinkedIn profile

Recently updated!

July 2026

Assessments

139 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

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

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

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

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

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

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

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

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

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

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

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

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
49 Courses83,660 learners

Explore more from Software Development

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions