Software Testing
Unit, integration and system testing — plus the theory of what testing can and cannot guarantee.
§ 1Calendar
- Quiz 1—
- Quiz 2—
- End-term examination—
§ 2Previous Year Questions
No papers uploaded yet.
§ 3Resources
Course material2
-
Drive folder
drive.google.comIITM login required
-
Course YouTube channel
youtube.com
Notes2
-
Course notes
Notes and study material for this course.
iitmbsdegree.inby IITM BS Students' Corner -
Degree level notes on Medium
Notes for several degree courses collected on one page. Look for this course's section.
medium.comby Pratham Bhalla
Syllabus
The official course syllabus, transcribed from the IITM BS Data Science & Applications course booklet.
§ 1Course Description
This course prepares students to understand requirement-based testing phases, formulate precise test requirements, design and execute test cases within a standard development environment, and apply specialized test design techniques for specific application domains.
Lectures-Tutorials-Practicals-Credits: 4-0-0-4
§ 2Faculty
- Prof. Meenakshi D'Souza, Department of Computer Science and Engineering, IIIT Bangalore
§ 3Week-by-week
Week 1: Software testing - Software development life-cycle, terminologies; Test automation.
Week 2: Graphs and algorithms; Structural graph coverage criteria; Algorithms for coverage-based testing.
Week 3: Graph and data flow testing; Coverage criteria; Unit testing.
Week 4: Integration and specification testing; Graph coverage; Finite state machines; Code coverage.
Week 5: Logic basics; Coverage criteria; Clause and predicate coverage; Logic-based testing.
Week 6: Logic coverage examples; Coverage specification; FSM coverage; SMT solvers..
Week 7: Symbolic testing; Concolic execution; Symbolic execution examples.
Week 8: Requirements; Functional testing; Input space partitioning; ISP examples.
Week 9: Regular expressions and CFGs; Mutation testing; Mutation operators; Testing criteria comparison; Integration and tools.
Week 10: OO integration concepts; Mutation operators; OO testing and faults; Coupling criteria.
Week 11: Web applications; Client-side testing; Server-side testing.
Week 12: Regression testing; Quality metrics; Non-functional testing; TDD; Summary.