YoVDO

Software Testing

Offered By: NPTEL via YouTube

Tags

Software Testing Courses Graph Theory Courses JUnit Courses Functional Testing Courses

Course Description

Overview

COURSE OUTLINE:  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.


Syllabus

Motivation.
Terminologies.
Testing based on Models and Criteria.
Automation JUnit as an example.
Basics of Graphs: As used in testing.
Structural Graph Coverage Criteria.
Elementary Graph Algorithms.
Elementary Graph Algorithms Part 2.
Algorithms: Structural Graph Coverage Criteria.
Assignment 2: Structural Coverage Criteria.
Data Flow Graphs.
Algorithms: Data Flow Graph Coverage Criteria.
Graph Coverage Criteria: Applied to Test Code.
Testing Source Code: Classical Coverage Criteria.
Data Flow Graph Coverage Criteria : Applied to Test Code.
Software Design and Integration Testing.
Design Integration Testing and Graph Coverage.
Specification Testing and Graph Coverage.
Graph Coverage and Finite state Machines.
Assignment 4: Graph Coverage Criteria.
Logic: Basics Needed for Software Testing.
Logic: Coverage Criteria.
Coverage Criteria, Contd..
Logic Coverage Criteria (Contd.).
Logic Coverage Criteria: Applied to Test Code_1.
Logic Coverage Criteria: Applied to Test Code_2.
Logic Coverage Criteria: Issues in Applying to Test Code.
Logic Coverage Criteria: Applied to Test Specifications.
Logic Coverage Criteria: Applied to Finite State Machines.
Week 6 Assignment Solving.
Functional Testing.
Input Space Partitioning.
Input Space Partitioning: Coverage Criteria.
Input Space Partitioning Coverage Criteria: Example.
Syntax-Based Testing.
Mutation Testing.
Mutation Testing for Programs.
Mutation Testing: Mutation Operators for Source Code.
Mutation Testing Vs. Graphs and Logic Based Testing.
Mutation testing.
Mutation Testing Mutation for integration.
Mutation testing Grammars and inputs.
Software Testing Course Summary after week 9.
Testing of web Applications and Web Services.
Testing of web Applications and Web Services(Contd1.).
Testing of web Applications and Web Services(Contd2.).
Testing of Object-Oriented Applications.
Testing of Object-Oriented Applications(Contd.).
Symbolic Testing.
Symbolic Testing 2.
DART: Directed Automated Random Testing.
DART: Directed Automated Random Testing - 2.
DART: Directed Automated Random Testing 3.
Testing of Object-Oriented Applications.
Testing of Mobile Applications.
Non-Functional System Testing.
Regression Testing.
Software Testing: Summary at the End of the Course.


Taught by

NPTEL-NOC IITM

Tags

Related Courses

Automated Visual Software Analytics
openHPI
JavaScript Testing
Udacity
Desarrollo de Aplicaciones Web: Prueba y Despliegue
University of New Mexico via Coursera
软件工程
Peking University via Coursera
Building R Packages
Johns Hopkins University via Coursera