InfoCoBuild

Software Testing

Software Testing. Instructor: Prof. Meenakshi D'souza, Department of Computer Science and Engineering, IIIT Bangalore. This course will cover various techniques for test case design, as used for testing of software artifacts including requirements, design and code. We will discuss algorithms and techniques for test case design based on graphs, logic, syntax of programming languages and on inputs. Special techniques for testing object-oriented features and web applications will also be discussed. The course will end with symbolic testing techniques.These broadly will cover test cases for both white-box and black-box testing. (from nptel.ac.in)

Course Introduction


Lecture 01 - Motivation
Lecture 02 - Terminologies
Lecture 03 - Testing Based on Models and Criteria
Lecture 04 - Automation - JUnit as an Example
Lecture 05 - Basics of Graphs: As Used in Testing
Lecture 06 - Structural Graph Coverage Criteria
Lecture 07 - Elementary Graph Algorithms
Lecture 08 - Elementary Graph Algorithms (cont.)
Lecture 09 - Algorithms: Structural Graph Coverage Criteria
Lecture 10 - Assignment 2: Structural Coverage Criteria
Lecture 11 - Data Flow Graphs
Lecture 12 - Algorithms: Data Flow Graph Coverage Criteria
Lecture 13 - Graph Coverage Criteria: Applied to Test Code
Lecture 14 - Testing Source Code: Classical Coverage Criteria
Lecture 15 - Data Flow Graph Coverage Criteria: Applied to Test Code
Lecture 16 - Software Design and Integration Testing
Lecture 17 - Design Integration Testing and Graph Coverage
Lecture 18 - Specification Testing and Graph Coverage
Lecture 19 - Graph Coverage and Finite State Machines
Lecture 20 - Assignment 4: Graph Coverage Criteria
Lecture 21 - Logic: Basics Needed for Software Testing
Lecture 22 - Logic: Coverage Criteria
Lecture 23 - Logic: Coverage Criteria (cont.)
Lecture 24 - Logic: Coverage Criteria (cont.)
Lecture 25 - Logic Coverage Criteria: Applied Test Code 1
Lecture 26 - Logic Coverage Criteria: Applied Test Code 2
Lecture 27 - Logic Coverage Criteria: Issues in Applying to Test Code
Lecture 28 - Logic Coverage Criteria: Applied to Test Specifications
Lecture 29 - Logic Coverage Criteria: Applied to Finite State Machines
Lecture 30 - Assignment Solving
Lecture 31 - Functional Testing
Lecture 32 - Input Space Partitioning
Lecture 33 - Input Space Partitioning: Coverage Criteria
Lecture 34 - Input Space Partitioning Coverage Criteria: Example
Lecture 35 - Syntax-Based Testing
Lecture 36 - Mutation Testing
Lecture 37 - Mutation Testing for Programs
Lecture 38 - Mutation Testing: Mutation Operators for Source Code
Lecture 39 - Mutation Testing vs Graphs and Logic Based Testing
Lecture 40 - Assignment Solving
Lecture 41 - Mutation Testing
Lecture 42 - Mutation Testing: Mutation for Integration
Lecture 43 - Mutation Testing: Grammars and Inputs
Lecture 44 - Software Testing Course: Summary
Lecture 45 - Testing of Web Applications and Web Services
Lecture 46 - Testing of Web Applications and Web Services (cont.)
Lecture 47 - Testing of Web Applications and Web Services (cont.)
Lecture 48 - Testing of Object-Oriented Applications
Lecture 49 - Testing of Object-Oriented Applications (cont.)
Lecture 50 - Symbolic Testing
Lecture 51 - Symbolic Testing 2
Lecture 52 - DART: Directed Automated Random Testing
Lecture 53 - DART: Directed Automated Random Testing 2
Lecture 54 - DART: Directed Automated Random Testing 3

References
Software Testing
Instructor: Prof. Meenakshi D'souza, Department of Computer Science and Engineering, IIIT Bangalore. This course will cover various techniques for test case design, as used for testing of software artifacts including requirements, design and code.