Course Objectives:

  1. To study fundamental concepts in software testing, including software testing objectives, process, criteria, strategies, and methods.
  2. To learn how to planning a test project, design test cases and data, conduct testing operations, manage software problems and defects, generate a testing report.
  3. To expose the advanced software testing topics, such as object-oriented software testing methods, and component-based software testing issues, challenges, and solutions.
  4. To gain the techniques and skills on how to use modern software testing tools to support software testing projects.

Unit I

Introduction:- What is software testing and why it is so hard?, Error, Fault, Failure, Incident, Test Cases,Testing Process, Limitations of Testing, No absolute proof of correctness, Overview of Graph Theory.

Functional Testing:- Boundary Value Analysis, Equivalence Class Testing, Decision Table Based Testing,Cause Effect Graphing Technique.

Click on any topic to read about the topic.

Unit II

Structural Testing:- Path testing, DD-Paths, Cyclomatic Complexity, Graph Metrics, Data Flow Testing,Mutation testing.

Testing Activities:- Unit Testing, Levels of Testing, Integration Testing, System Testing, Debugging,DomainTesting.

Click on any topic to read about the topic.

Unit III

Reducing the number of test cases:- Prioritization guidelines, Priority category, Scheme, Risk Analysis,Regression Testing, and Slice based testing.

Object Oriented Testing:- Issues in Object Oriented Testing, Class Testing, GUI Testing, Object OrientedIntegration and System Testing.

Click on any topic to read about the topic.

Unit IV

Testing Tools: Static Testing Tools, Dynamic Testing Tools, and Characteristics of Modern Tools andImplementation with example. Advanced topics in software testing: web based testing, Client server testing, Automated test cases generation, Regular expression and FSM based testing.

Click on any topic to read about the topic.


  1. William Perry, Effective Methods for Software Testing , John Wiley & Sons, New York, 1995.
  2. Cem Kaner, Jack Falk, Nguyen Quoc, Testing Computer Software , Second Edition, Van Nostrand Reinhold, New York, 1993.
  3. Boris Beizer, Software Testing Techniques , Second Volume, Second Edition, Van Nostrand Reinhold, New York, 1990.
  4. Louise Tamres, Software Testing , Pearson Education Asia, 2002
  5. Roger S. Pressman, Software Engineering – A Practitioner’s Approach , Fifth Edition, McGraw-Hill International Edition, New Delhi, 2001.
  6. Boris Beizer, Black-Box Testing – Techniques for Functional Testing of Software and Systems , John Wiley & Sons Inc., New York, 1995.
  7. K.K. Aggarwal & Yogesh Singh, Software Engineering , New Age International Publishers, New Delhi, 2003.
  8. Marc Roper, Software Testing , McGraw-Hill Book Co., London, 1994.
  9. Gordon Schulmeyer, Zero Defect Software , McGraw-Hill, New York, 1990.
  10. Watts Humphrey, Managing the Software Process , Addison Wesley Pub. Co. Inc., Massachusetts, 1989.

Course Outcomes:  After successful completion of the course, students will be able to:-

  1. Have an ability to apply software testing knowledge and engineering methods and design and conduct a software test process for a software testing project.
  2. Have an ability to identify the needs of software test automation, and define and develop a test tool to support test automation.
  3. Have an ability to use various communication methods and skills to communicate with their teammates to conduct their practice-oriented software testing projects.
  4. Have basic understanding and knowledge of contemporary issues in software testing, such as component-based software testing problems
error: You can only copy the programs code and output from this website. You are not allowed to copy anything else.