X
X
X

X
Courses » Software testing

Software testing

  
A
bout the course

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:
UG final year and PG

Core/Elective:
Elective

Pre-requisites

Programming, Algorithms, Discrete Mathematics (basics)

UG/PG : Both

Industry Support

The material of this course has been used to offer training for Samsung, ABB and Mindtree. The course will be useful for any firm that does tests their software.



11278 students have enrolled already!!

Course instructor


Meenakshi D Souza is currently an Associate Professor at IIIT-Bangalore.Meenakshi did her Master TMs in Mathematics from University of Madras, Chennai and her Ph. D. in Theoretical Computer Science from The Institute of Mathematical Sciences, Chennai. She joined the research department of Honeywell Technology Solutions, Bangalore soon after completing her Ph. D. and worked there in the areas of Formal Verification of Software Design, Model Based Development and Physical Access Control before joining IIIT-Bangalore. Her research interests are in Formal Methods, Model Based Development,Software Testing and Automata Theory.


Coure layout
Week 1 :Techniques and algorithms for test case design: Graphs based testing- structural coverage criteria.
Week 2 :Graphs based testing: Data flow coverage criteria
Week 3 :Graphs based testing: Data flow coverage criteria
Week 4 :Graphs coverage for source code, design elements and requirements
Week 5 :Techniques and algorithms for test case design: Logic based testing- Predicates, logic based coverage criteria
Week 6: Specification based logic coverage, logic coverage on finite state machines
Week 7: Input space partitioning: Input domain modeling, combination strategies criteria
Week 8 : Syntax based testing: Coverage criteria based on syntax, mutation testing
Week 9: Test case design (as learnt above) applied to object-oriented applications
Week 10: Test case design (as learnt above) applied to web applications
Week 11 : Symbolic testing
Week 12: Concolic testing, Conclusion

Suggested  Reading:
  • Book: Introduction to Software Testing, Paul Ammann and Jeff Offutt, Cambridge University Press, 2nd edition, 2016.
  • Papers:
  1. P. Godefroid, N. Klarlund and K. Sen, DART: Directed Automated Random Testing, Proc. PLDI 2005.
  2. K. Sen, D. Marinov and G. Agha, CUTE: A Concolic Unit Testing Engine for C, Proc. ESEC-FSE 2005.
  3. K. Sen, Race directed random testing of concurrent programs, in Proc. PLDI 2008. 
  4. K. Sen, Effective random testing of concurrent programs, in Proc. 22nd ASE, 2007.

Certification exam:
  • The exam is optional for a fee. Exams will be on 22 Oct, 2017.
  • Time: Shift 1: 9am-12 noon; Shift 2: 2pm-5pm
  • Any one shift can be chosen to write the exam for a course.
  • Registration URL: Announcements will be made when the registration form is open for registrations.
  • The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published.

Certification :

  • Final score will be calculated as : 25% assignment score + 75% final exam score
  • 25% assignment score is calculated as 25% of average of best 8 out of 12 assignments.
  • E-Certificate will be given to those who register and write the exam and score greater than or equal to 40% final score.Certificate will have your name, photograph and the score in the final exam with the breakup. It will have the logos of  NPTEL and IIT Madras . It will be e-verifiable at nptel.ac.in/noc.