This module is aimed at teaching basic techniques of Software Quality Maintenance & Testing like writing useful test plans, constructing test cases.
Testing Software: Software Testing and its importance, A Brief History of Testing, Module Testing, Integration Testing, Top-down versus bottom up testing, Mixed testing, Comparison of various methods.
Software Faults and Failures: Types of faults, Origins of Software Defects, The Cost of Repairing Defects, Minimizing the Costs of Repairing Defects, Classifying Defects and Defect Metrics, The Defect Tracking System.
Verification and Validation: Verification Testing, Coding standards, Walk-Through, Formal inspection, Verifying Requirements, Verifying Functional Design, Validation Test Criteria, Design metrics, Correctness Proofs.
Testing Techniques and Strategies: White-Box Testing: Control Structure and Loop Testing, Dataflow Testing.
Black-Box Testing: Graph-based testing methods, Equivalence partitioning, Boundary Value Analysis, Orthogonal Array testing.
Unit Testing, Integration Testing, System Testing, Exhaustive Testing, The Debugging Process, Metrics and Quality Assurance of Tests
Building Tests and Test Plans: Designing and Creating Tests, Maintaining Checklists, White-box Test Cases and Test Procedures, Test Data Selection and Outputs, Black-box test cases and test procedures, Input and Output Events, Planning and Creating Test Plans.
Testing Specialized Systems and Applications: Graphical User Interface (GUI) Testing, Usability Testing, Client/Server Architectures and Web Testing, Data Warehouse Testing, Volume and Stress Testing.
Testing Measurements and Tools: Why We Measure, Test Standards, Software Size and Complexity, Function Point Analysis, Product Defects, Process Measures
Test Tools: Test Planning and Management Tools, Static Analyzers, Test Data Generators
Quality Assurance and Standards: Quality and Quality Assurance (QA), Techniques of quality Assurance, Software Testing and QA, Software Development Models, Configuration Management, Quality management models (ISO, SPICE, IEEE, and CMM), Quality Models for Websites, Software and Quality Metrics, Software Reliability.