# Software Testing

- Institution: IIIT Bangalore
- Department: Computer Science and Engineering
- Teacher: Prof. Meenakshi D'souza
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106101163)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106101163)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

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.

Intended audience: Any Interested Learners

Prerequisites: Programming, Algorithms, Discrete Mathematics (basics)

## Lectures

1. [Lecture 1 - Motivation](https://invisiblenetwork.ai/learn/nptel/106101163/b4584483275e) (YouTube)
2. [Lecture 2 - Terminologies](https://invisiblenetwork.ai/learn/nptel/106101163/6bae13590196) (YouTube)
3. [Lecture 3 -Testing based on Models and Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/245057370fbb) (YouTube)
4. [Lecture 4 - Automation - JUnit as an example](https://invisiblenetwork.ai/learn/nptel/106101163/42a68922ee18) (YouTube)
5. [Lecture 5 - Basics of Graphs: As used in testing](https://invisiblenetwork.ai/learn/nptel/106101163/4549f0f441d9) (YouTube)
6. [Lecture 6 - Structural Graph Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/5efd89d2c7fb) (YouTube)
7. [Lecture 7 - Elementary Graph Algorithms](https://invisiblenetwork.ai/learn/nptel/106101163/5a88d28be1fb) (YouTube)
8. [Lecture 8 - Elementary Graph Algorithms - Part 2](https://invisiblenetwork.ai/learn/nptel/106101163/84987a1876f4) (YouTube)
9. [Lecture 9 - Algorithms: Structural Graph Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/c3c9aa35daaf) (YouTube)
10. [Lecture 10 - Assignment 2: Structural Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/d0b1ce210544) (YouTube)
11. [Lecture 11 - Data Flow Graphs](https://invisiblenetwork.ai/learn/nptel/106101163/ba455342adc4) (YouTube)
12. [Lecture 12 - Algorithms: Data Flow Graph Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/dc71f3f54af1) (YouTube)
13. [Lecture 13 - Graph Coverage Criteria: Applied to Test Code](https://invisiblenetwork.ai/learn/nptel/106101163/86575febb473) (YouTube)
14. [Lecture 14 - Testing Source Code: Classical Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/b475797d079e) (YouTube)
15. [Lecture 15 - Data Flow Graph Coverage Criteria : Applied to Test Code](https://invisiblenetwork.ai/learn/nptel/106101163/65bfb79f8e73) (YouTube)
16. [Lecture 16 - Software Design and Integration Testing](https://invisiblenetwork.ai/learn/nptel/106101163/5a5091ad724d) (YouTube)
17. [Lecture 17 - Design Integration Testing and Graph Coverage](https://invisiblenetwork.ai/learn/nptel/106101163/8e63f9e5f449) (YouTube)
18. [Lecture 18 - Specification Testing and Graph Coverage](https://invisiblenetwork.ai/learn/nptel/106101163/2aef840c9923) (YouTube)
19. [Lecture 19 - Graph Coverage and Finite state Machines](https://invisiblenetwork.ai/learn/nptel/106101163/fa49d75be10d) (YouTube)
20. [Assignment 4: Graph Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/36fa57ef1654) (YouTube)
21. [Logic: Basics Needed for Software Testing](https://invisiblenetwork.ai/learn/nptel/106101163/ee7037575778) (YouTube)
22. [Logic: Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/156ee82b1797) (YouTube)
23. [Coverage Criteria, Contd.](https://invisiblenetwork.ai/learn/nptel/106101163/44dafbcd9fae) (YouTube)
24. [Logic Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/63d8c4550ec0) (YouTube)
25. [Logic Coverage Criteria: Applied to Test Code_1](https://invisiblenetwork.ai/learn/nptel/106101163/4c8ddd1d8877) (YouTube)
26. [Logic Coverage Criteria: Applied to Test Code_2](https://invisiblenetwork.ai/learn/nptel/106101163/2777e6ed6711) (YouTube)
27. [Logic Coverage Criteria: Issues in Applying to Test Code](https://invisiblenetwork.ai/learn/nptel/106101163/93b65f775dfa) (YouTube)
28. [Logic Coverage Criteria: Applied to Test Specifications](https://invisiblenetwork.ai/learn/nptel/106101163/a237c187781e) (YouTube)
29. [Logic Coverage Criteria: Applied to Finite State Machines](https://invisiblenetwork.ai/learn/nptel/106101163/558ac8fd6019) (YouTube)
30. [Functional Testing](https://invisiblenetwork.ai/learn/nptel/106101163/292c38ed8996) (YouTube)
31. [Input Space Partitioning](https://invisiblenetwork.ai/learn/nptel/106101163/49ef9ce8c8ff) (YouTube)
32. [Input Space Partitioning: Coverage Criteria](https://invisiblenetwork.ai/learn/nptel/106101163/4235eb7580fe) (YouTube)
33. [Input Space Partitioning Coverage Criteria: Example](https://invisiblenetwork.ai/learn/nptel/106101163/3d1313a32129) (YouTube)
34. [Syntax-Based Testing](https://invisiblenetwork.ai/learn/nptel/106101163/782a41058228) (YouTube)
35. [Mutatioon Testing](https://invisiblenetwork.ai/learn/nptel/106101163/f46928e00699) (YouTube)
36. [Mutation Testing for Programs](https://invisiblenetwork.ai/learn/nptel/106101163/6168b635d9e0) (YouTube)
37. [Mutation Testing: Mutation Operators for Source Code](https://invisiblenetwork.ai/learn/nptel/106101163/b24a9bd0d23c) (YouTube)
38. [Mutation Testing Vs. Graphs and Logic Based Testing](https://invisiblenetwork.ai/learn/nptel/106101163/bb8950693e55) (YouTube)
39. [Mutation testing](https://invisiblenetwork.ai/learn/nptel/106101163/985d39142c29) (YouTube)
40. [Mutation Testing - Mutation for integration](https://invisiblenetwork.ai/learn/nptel/106101163/70e57fef8872) (YouTube)
41. [Mutation testing : Grammars and inputs](https://invisiblenetwork.ai/learn/nptel/106101163/aa785980b459) (YouTube)
42. [Software Testing Course: Summary after Week 9](https://invisiblenetwork.ai/learn/nptel/106101163/af535590fcbf) (YouTube)
43. [Testing of web Applications and Web Services](https://invisiblenetwork.ai/learn/nptel/106101163/a8caf012b5a8) (YouTube)
44. [Testing of web Applications and Web Services](https://invisiblenetwork.ai/learn/nptel/106101163/547cbc4add4d) (YouTube)
45. [Testing of web Applications and Web Services](https://invisiblenetwork.ai/learn/nptel/106101163/d95c195d7817) (YouTube)
46. [Testing of Object-Oriented Applications](https://invisiblenetwork.ai/learn/nptel/106101163/d9100d7b4e9f) (YouTube)
47. [Testing of Object-Oriented Applications](https://invisiblenetwork.ai/learn/nptel/106101163/a02a7c6c4668) (YouTube)
48. [Symbolic Testing](https://invisiblenetwork.ai/learn/nptel/106101163/72358f8e9ca3) (YouTube)
49. [Symbolic Testing 2](https://invisiblenetwork.ai/learn/nptel/106101163/7089a966dcf4) (YouTube)
50. [DART: Directed Automated Random Testing](https://invisiblenetwork.ai/learn/nptel/106101163/bccaf1f076c5) (YouTube)
51. [DART: Directed Automated Random Testing - 2](https://invisiblenetwork.ai/learn/nptel/106101163/e6d3c04a6d52) (YouTube)
52. [DART: Directed Automated Random Testing 3](https://invisiblenetwork.ai/learn/nptel/106101163/9e818b350b13) (YouTube)
53. [Testing of Object-Oriented Applications](https://invisiblenetwork.ai/learn/nptel/106101163/8c9f432cdc04) (YouTube)
54. [Testing of Mobile Applications](https://invisiblenetwork.ai/learn/nptel/106101163/ab000fb7c327) (YouTube)
55. [Non-Functional System Testing](https://invisiblenetwork.ai/learn/nptel/106101163/3cf1c4c01cbd) (YouTube)
56. [Regression Testing](https://invisiblenetwork.ai/learn/nptel/106101163/5a158154a499) (YouTube)
57. [Software Testing: Summary at the End of the Course](https://invisiblenetwork.ai/learn/nptel/106101163/816da7164b88) (YouTube)
