National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6404 : Software Testing { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Durga Prasad Mohapatra

Syllabus

Introduction to software testing, Basic concepts, Verification and Validation, Black box testing: Boundary value testing, Equivalence class testing, State Table Based Testing,Decision Table Based Testing, Cause-Effect Graph based Testing, Positive and Negative Testing, Orthogonal Array Testing. [10 hrs]
White box testing: statement coverage, Branch coverage, condition coverage, MC/DC, path coverage, McCabe’s cyclomatic complexity Data flow based testing, Mutation testing. [7 hrs]
Static testing, Integration testing, System testing, Interaction testing, Performance testing, Regression testing, Error seeding, Debugging. [7 hrs]
Object-oriented software testing: issues in object-oriented testing, Fault based testing, test cases and class hierarchy, Scenario based Test design, Class testing: Random testing for object-oriented classes, Partition testing at the class level Inter class test case design: multiple class testing, tests derived from behavioral models, Testing web based systems, Testing tools.[12 hrs]

Course Objectives

  • To learn the evolution of software testing techniques, Myths and facts of software testing, Models for testing processes, various types of software testing.
  • To design test cases using black-box and white-box testing techniques.
  • To understand basic concepts of regression testing, Problems of regression testing, and types of Regression testing techniques.
  • To learn the strategies for testing of object-oriented applications and web-based applications.

Course Outcomes

After reading this subject, students will be able to: <br />1. Understand the evolution of software testing techniques, their goals and learn the various models of software testing. <br />2. Generate test cases for software systems using black box and white box testing techniques. <br />3. Carry out regression testing of software systems. <br />4. Test conventional, object-oriented and web based software. <br />5. Understand debugging software and types of debuggers.

Essential Reading

  • C. J. Paul, Software testing: A craftsmen’s approach, CRC Press , 2013
  • S. Desikan, R. Gopalswamy, Software Testing: Principles and Practices, Pearson , 2006

Supplementary Reading

  • N. Chauhan, Software Testing: Principles and Practices, Oxford University Press , 2017
  • G. J. Myers, The art of software testing, Wiley Interscience New York , 2011