
Learn why testing matters in the SDLC, and explore static and dynamic testing, front-end and back-end testing, black-box and white-box techniques, testing deliverables, configuration management, peer reviews, and defect reporting.
Explore the software development life cycle (SDLC) as a structured process guiding requirements, design, development, testing, deployment, and maintenance to deliver reliable software.
Explore how the SDLC guides software development, balancing stakeholder needs, risks, and costs, and learn how the waterfall model uses sequential phases, milestones, and feedback to avoid chaos.
Explore the waterfall model assumptions, including locked requirements after planning, rigid phases, and strong documentation that controls progress. Learn when to use it for small, well-defined projects with clear milestones.
Explore the incremental waterfall model, where software evolves in increments by prioritizing high-priority requirements and delivering an operational product with each release.
Plan the incremental model with design and partitioning to ensure clean interfaces between increments. Use prototyping to elicit user feedback and refine requirements for iterative development.
Explore evolutionary and throwaway prototyping within an incremental model, using prototypes as sandboxes to gather requirements and guide design, and manage scope and change requests to keep product on track.
Explore the spiral model, a risk-driven iterative SDLC that blends prototyping, incremental, and waterfall approaches, with planning, risk analysis, risk management, engineering, and sponsor evaluation guiding progress.
Compare rapid application development and sliced models as contemporary sdlc approaches that speed delivery through short iterative cycles, high-level concept definition, and tool-assisted prototyping.
Learn how rad and sliced models reduce time to market by overlapping design, build, and test, using time-boxing and customer involvement to mitigate risks and maintain quality.
Discover why software testing matters, from large-scale code complexity to preventing costly defects, and see how quality assurance and quality control drive early defect detection and fixes.
Learn the basics of software testing, covering functional and non-functional testing, assembly and product testing, and testing techniques, with emphasis on requirements and stakeholders.
Navigate testing beyond the wall by addressing changing requirements and code with agile approaches, while outlining core functional and non-functional testing types such as installation, smoke testing, performance, and security.
Learn how functional testing validates end-to-end system behavior, from authentication and inputs to transactions and user interfaces, ensuring compliance with business rules and regulatory requirements.
Learn to evaluate system readiness by measuring non-functional attributes such as performance, response time, throughput, scalability, availability, reliability, and usability, using baselines to guide non-functional testing.
Explore non-functional performance testing, including load and stress testing, measuring response time, throughput, and resource use under realistic and extreme conditions.
Assembly testing verifies the interaction of integrated components in an assembly, using black box techniques, and follows planning, preparation, environment setup, execution, and management toward product testing readiness.
Master assembly testing from two-unit interactions to larger assemblies, achieving deep coverage while avoiding broad end-to-end scope and ensuring traceable requirements.
Assembly testing part 03 covers prerequisites, planning, reviews, environment readiness, data migrations, test tools, manual and automation testing, executing scripts, comparing results, and iterative regression testing.
Explore product testing as the first stage that validates end-to-end business and functional requirements in a near-production environment, and distinguish it from assembly testing which focuses on component interactions.
Product testing validates end-to-end functionality across all ten components. It prepares users for acceptance testing by ensuring they can design and execute tests that verify business requirements.
Learn how to plan and execute product testing and integration testing to validate end-to-end business flows, illustrated by an HR scheduling and recruitment scenario across multiple apps.
Learn how testers execute end-to-end business scenarios across browsers, validate system requirements, and plan product testing with emphasis on regression, compatibility, security, and automation.
Differentiate assembly testing from product testing: assembly uses functional specifications to validate components, while product testing stresses business requirements and business use cases and end-user interactions.
Refine the test plan after every cycle and reuse common test data across applications to test minor details efficiently, budgeting extra time for defects and regression testing with proper tools.
Explore black box and white box testing, along with positive and negative testing, static and dynamic testing, and how these classifications by approach guide functional and code-focused evaluation.
White box testing analyzes the internal mechanism and all code paths, requiring programming skills to exercise inputs and verify outputs against the program's intended behavior.
Learn positive testing with valid data to confirm functionality, negative testing with invalid data to reveal failures, and static vs dynamic testing, including dry runs, code reviews, and walkthroughs.
Explore black box testing techniques, including equivalence partitioning, boundary value analysis, decision tables, use case testing, state transitioning, and API testing, within the SDLC and V-model contexts.
Black box testing offers advantages for large modules and requires no programming knowledge, working independently from developers and aligning with end-user perspectives. It validates requirements with functionality and exposes ambiguities.
Master black box testing techniques and distinguish it from white box testing, including equivalence partitioning, boundary value analysis, and decision tables for use-case based test design.
Explore equivalence partitioning, a black box testing technique that tests one input from each class to infer behavior for the entire range, reducing test cases.
Explore equivalence partitioning with a month field example, defining 1–12 as valid and non-numeric or out-of-range inputs as distinct partitions, illustrating reduced test conditions and positive/negative testing limits.
Explore boundary value analysis as an extension of equivalence partitioning, focusing on boundary values and test inputs around them, including valid and invalid ranges such as 1 to 256 characters.
Boundary value analysis targets edge values and their neighbors to improve defect detection, leveraging equivalence partitioning while emphasizing valid ranges, invalid inputs, and data formats like integers, decimals, and dates.
Explore decision table testing, a black box testing technique, to break down complex logic by recording business rules and testing them against system conditions and actions.
Explore decision tables as a data-driven testing technique that maps conditions to actions in a tabular format, enabling systematic verification and handling of reachable and non reachable conditions.
Explore use case based design testing, defining actors, system, base flow, and alternate flows to craft robust test cases for library system checkout scenarios.
Derive test conditions from a use case by translating the base flow into test scenarios, detailing inputs like library card IDs and book numbers, and outlining alternative flows.
Center the user in use case based test design by mapping requirements to end-to-end scenarios. Highlight traceability and address evolving requirements and test condition proliferation.
Design test conditions for an ATM withdraw cash use case by mapping base flows and alternative flows, with preconditions and postconditions, to create scenario-based tests that trace to requirements.
Explore the state transitioning technique from the system perspective, linking states, events, and actions in black box testing. Use the ATM example to illustrate how actions change states.
Explore state transition diagrams and three coverage levels—visit all states, trigger all events, and test all transactions—and learn how test conditions combine input with system state.
Master state transition techniques with diagrams and tables, detailing states, events, and actions. Learn to design test conditions and scripts to cover all paths and uncover undocumented transitions.
Introduction:
This course is designed to guide you through the world of software testing, covering every essential aspect from the fundamentals of Software Development Life Cycle (SDLC) to advanced testing techniques and tools. Whether you are new to software testing or an experienced professional seeking to enhance your skills, this course provides a structured, hands-on approach to mastering manual and automated testing.
Section 1: Understanding the Software Development Life Cycle (SDLC)
In this foundational section, students will learn about the role of SDLC in software projects. The lectures cover the waterfall model, its phases, and intricacies. By the end of this section, students will have a solid grasp of how SDLC methodologies underpin software testing.
Section 2: Advanced SDLC Concepts – Incremental and Prototyping Models
This section dives deeper into incremental and prototyping models, explaining how iterative and adaptive approaches influence testing. The spiral model is also introduced, emphasizing risk assessment and iterative development.
Section 3: Rapid Application Development (RAD) and Sliced Models
Explore the nuances of RAD and sliced models, focusing on their impact on testing strategies. The section concludes with an introduction to software testing principles and foundational concepts.
Section 4: Functional and Non-functional Testing
Learn about the distinctions between functional and non-functional testing. This section explains various testing types such as performance, usability, and security testing, emphasizing their critical roles in ensuring software quality.
Section 5-7: Testing Techniques – Assembly, Product, and Black/White Box Testing
These sections cover assembly and product testing in detail, followed by an in-depth exploration of black-box and white-box testing methodologies. Students will understand test case design strategies and the importance of comprehensive testing.
Section 8-10: Equivalence Partitioning, Use Case, and State Transitioning
Gain proficiency in equivalence partitioning, boundary value analysis, decision table testing, and state-transition techniques. These testing techniques are explained with real-world examples to solidify understanding.
Section 11-14: Specialized Testing – API, Scripting, and Deliverables
Focus on API testing and scripting methods for manual and automated environments. Learn about test deliverables, their importance, and how to document and present test results effectively.
Section 15-18: Advanced Testing – Configuration Management, Peer Reviews, and Defect Management
Understand the intricacies of configuration management and peer reviews. Dive into defect management processes, ensuring the detection, tracking, and resolution of defects are seamless and efficient.
Section 19-20: Performance and Security Testing
Master performance testing methodologies, ensuring scalability and reliability under load. Security testing is explored in-depth, highlighting techniques to protect software from vulnerabilities and threats.
Section 21: Test Automation Tools
Conclude with a detailed exploration of test automation tools, helping students understand their significance in modern testing practices. Hands-on demonstrations will ensure familiarity with popular tools in the industry.
Conclusion:
By the end of this course, students will have an all-encompassing understanding of software testing, equipped to handle complex testing scenarios in real-world projects. From mastering testing methodologies to gaining proficiency in automation tools, this course prepares you for a thriving career in software quality assurance.