Basics of Software Testing, Basic Principles, Test case selection and Adequacy
Humans, Errors and Testing, Software Quality; Requirements, Behavior and Correctness, Correctness Vs Reliability; Testing and Debugging; Test Metrics; Software and Hardware Testing; Testing and Verification; Defect Management; Execution History; Test Generation Strategies; Static Testing; Test Generation from Predicates. Sensitivity, Redundancy, Restriction, Partition, Visibility and Feedback, Test Specification and cases, Adequacy Criteria, Comparing Criteria.
A perspective on Testing
Basic definitions, Test cases, Insights from a Venn diagram, Identifying test cases, Error and fault taxonomies, Level of testing, Examples: Generalized pseudo code, The triangle problem, the Next Date function, The commission problem, The SATM (Simple Automation Teller Machine) problem, The currency converter, Saturn windshield wiper
Boundary value testing, Equivalence class testing, Decision table based testing
Boundary value analysis, Robustness testing, Worst-case testing, special value testing, Examples, Random testing, Equivalence classes, Equivalence test cases for triangle problem, Next Date function and commission problem, Guidelines and observations, Decision tables, Test cases for triangle problem
Path Testing, Data flow testing, Levels of Testing, Integration Testing
DD Paths, Test coverage metrics, Basis path testing, guidelines and observations, Definition Use testing, Slice based testing, Guidelines and observations. Traditional view of testing levels, Alternative life cycle models, the SATM systems, separating integration and system testing, Guidelines and observations.
Fault Based Testing, Planning and Monitoring the Process, Documenting Analysis and Test
Assumptions in fault-based testing, Mutation Analysis, Fault-based Adequacy Criteria; Variations on mutation Analysis; From Test case specification to Test Cases, Scaffolding, Generic vs. specific Scaffolding, Test Oracles, Self checks as oracles, Capture and Replay. Quality and Process, Test and Analysis strategies and plans, Risk Planning, Monitoring the Process, Improving the process, The quality team, Organizing documents, Test strategy document, Analysis and test plan, Test design specifications documents, Test and analysis reports.
Question Paper Pattern:
• The Question paper will have TEN questions
• Each full question will be for 20 marks
• There will be 02 full questions (with maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer FIVE full questions, selecting one full question from each module.
Textbooks
1. AdithyaP.Mathur “ Foundations of Software Testing – Fundamental Algorithms and Techniques”, Pearson Education India, 2011
2. Mauro Pezze, Michael Young, Software testing and Analysis- Process, Principles and Techniques, Wiley India, 2012
3. Paul C Jorgensen, “Software Testing A Craftsman's Approach”, Auerbach publications, 3rd edition, 2011.
References
1. KshirasagaraNaik, PriyadarshiTripathy: Software Testing and Quality Assurance, Wiley India 2012
2. M.G.Limaye: Software Testing-Principles, Techniques and Tools – McGraw Hill, 2009
Course Outcomes:
CO1: Acquire knowledge of basic principles and knowledge of software testing and debugging and test cases.
CO2: Will be able to understand the perceptions on testing like levels of testing, generalized pseudo code and with related examples.
CO3: To study the various types of testing. CO4: Differentiate between functional testing and structural testing.
CO5: Analyze the performance of fault based testing, planning and Monitoring the process, Documentation testing.