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 : Durga Prasad Mohapatra

Syllabus

Module 1 :

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]

Module 2 :

White box testing: statement coverage, Branch coverage, condition coverage, MC/DC, path coverage, McCabe’s cyclomatic complexity Data flow based testing, Mutation testing. [6 hrs]

Module 3 :

Static testing, Integration testing, System testing, Interaction testing, Performance testing, Regression testing, Managing test process, Debugging. [5 hrs]

Module 4 :

Regression testing, Managing test process, Debugging. [5 hrs]

Module 5 :

Testing for Specialized Environments: 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 Applications; Testing Agile-Based Applications, Testing tools. [10 hrs]

Course Objective

1 .

To learn the evolution of software testing techniques, Myths and facts of software testing, Models for testing processes, various types of software testing.

2 .

To design test cases using black-box and white-box testing techniques, integration testing techniques and system testing techniques.

3 .

To understand basic concepts of regression testing, Problems of regression testing, and types of regression testing techniques.

4 .

To learn different strategies for testing of object-oriented, agile-based and web-based applications.

Course Outcome

1 .

After reading this subject, students will be able to:
Design test cases for software systems using black box testing techniques.



2 .

Design test cases for software systems using white box testing techniques.

3 .

Apply integration testing and system testing on different software systems.

4 .

Perform regression testing of software systems and manage the test process.

5 .

Test conventional, object-oriented, agile-based and web-based software systems.

Essential Reading

1 .

C. J. Paul, Software testing: A craftsmen’s approach, CRC Press , 2013

2 .

N. Chauhan, Software Testing: Principles and Practices, Oxford University Press , 2018

Supplementary Reading

1 .

S. Desikan, R. Gopalswamy, Software Testing: Principles and Practices, Pearson , 2006

2 .

G. J. Myers, The art of software testing, Wiley Interscience New York , 2011

Journal and Conferences

1 .

1. IEEE Transactions on Software Engineering
2. Software Testing, Verification and Reliability
3. IEEE International Conference on Software Engineering