Syllabus
Unit I
Introduction: Introduction to software testing and analysis – Purpose of Software testing – Some Dichotomies – a model for testing – Error, Fault, Failure, Incident, Test Cases, Testing Process, Limitations of Testing – No absolute proof of correctness.
Software testing Fundamentals – Specification-based testing techniques, code-based testing techniques, Model-based testing.
Unit II
Blackbox box testing- Functional Testing: Boundary Value Analysis, Equivalence Class Testing, Decision Table Based Testing, Cause Effect Graphing Technique.
Whitebox testing- Structural Testing: Path testing, DD-Paths, Cyclomatic Complexity, Graph Metrics, Data Flow Testing, Mutation testing, Static Analysis, Dynamic Analysis. Reducing the number of test cases: Prioritization guidelines, Priority category, Scheme, Risk Analysis, Regression Testing, Slice-based testing
Unit III
Testing Activities – Unit Testing, Levels of Testing, Integration Testing, System Testing, Debugging, Domain Testing, Regression Testing, Acceptance testing,
Unit IV
Object Oriented Testing: Issues in Object Oriented Testing, Class Testing, GUI Testing, Object Oriented Integration and System Testing, Methods of test data generation and validation.
Unit V
Program slicing and its application, Reliability analysis, Formal methods; verification methods; oracles. Testing Tools: Static Testing Tools, Dynamic Testing Tools, and Characteristics of Modern Tools
Objectives and Outcomes
Course Description
Software testing courses equip and help students to understand the various theoretical aspects of the program ranging from manual testing to test automation. Also, the students can understand the skills that are relevant to the industry by getting experience in the latest and advanced technology.
Course Objectives
To study the underlying concepts in software testing and to examine the various software testing issues and find their solutions. Students are also exposed to advanced software testing topics, such as object-oriented software testing activities, methods and tools.
Course Outcomes
|
COs
|
Description
|
|
CO1
|
Identify the different software testing techniques, processes and errors handled in software projects.
|
|
CO2
|
Classify black box and white box testing techniques for functional and structural testing and test case designing.
|
|
CO3
|
Describe the different testing activities and levels of testing which aim to uncover the defects in all the project’s stages.
|
|
CO4
|
Discuss the non-functional testing and debugging methods.
|
|
CO5
|
Recognize the various issues for object-oriented testing and tools for testing.
|
CO-PO Mapping
|
PO/PSO
|
PO1
|
PO2
|
PO3
|
PO4
|
PO5
|
PO6
|
PO7
|
PO8
|
|
CO
|
|
CO1
|
3
|
1
|
1
|
–
|
–
|
–
|
1
|
–
|
|
CO2
|
3
|
2
|
2
|
–
|
–
|
–
|
–
|
1
|
|
CO3
|
2
|
2
|
2
|
–
|
–
|
–
|
1
|
–
|
|
CO4
|
2
|
2
|
–
|
–
|
–
|
–
|
1
|
–
|
|
CO5
|
2
|
2
|
2
|
–
|
–
|
–
|
–
|
–
|