Course Objectives:
The course will enable the students to
1. Learn the concepts and methods required for effective and efficient Software Testing.
2. Develop a broad understanding of testing processes from planning until execution.
Course | Learning Outcome (at courselevel) | Learning and teaching strategies | Assessment Strategies | |
Course Code | Course Title | |||
25DBCA501A |
Fundamentals of Testing (Theory) | CO289. Assess the software testing principles, life cycles and methodologies. CO290. Compare the different testing techniques. CO291. Identify various software testing issues and apply solutions at different levels of testing. CO292. Apply software testing knowledge and engineering methods to different business problems. CO293. Plan test project, design test cases and data, conduct testing operations, manage software problems and defects, generate a testing report. CO294.Contribute effectively in course- specific interaction. | Approach in teaching: Interactive Lectures, Discussion, Reading assignments, Demonstration.
Learning activities for the students: Self learning assignments, Effective questions, Seminar presentation. | Class test, Semester end examinations, Quiz, Assignments, Presentation. |
Fundamentals of testing: Introduction, need for testing, testing as an integral part of software engineering, software engineering processes and testing. Fundamental Principles of Testing,psychology of testing.
Software Testing Life Cycle, SDLC Vs STLC. Software Testing Methodology. Verification & Validation.
Software development models, Test Levels, Test Types: Manual Testing, Automation Testing, Unit Testing, Integration Testing, System Testing, Smoke and Sanity Testing, Regression Testing, Alpha Testing, Beta Testing, User Acceptance Testing, Non - Functional Testing
Static Testing Techniques: Static techniques and the test process, Review process, Static analysis by tools.
Test design techniques: test development process, Categories of test design technique, Specification-based or black-box techniques, Structure-based or white-box techniques, Experience-based techniques, Choosing test techniques.
Test Basis: Test Scenario, Test Case Specifications, Test Case Preparation, Functional Test Case Preparation, GUI Test Case Preparation, Test Data Preparation, Test case Review, Test case Execution, Traceability Matrix.
Test management: Test organization, Test planning and estimation, Test progress monitoring and control, Configuration management, Risk and testing, Incident management.
Types of Test tool, Bug Life Cycle, Effective use of tools: Benefits and Risks, Introducing a tool into organization, Tool support for testing.
ESSENTIAL READINGS:
1. Black Rex, E. V. Veenendaal and D. Graham, “Foundations of Software Testing ISTQBCertification”, Third Ed., Cengage Learning, 2012.
2. Srinivasan Desikan and Gopalaswamy Ramesh, “Software Testing – Principles andPractices”, Pearson education, 2006.
SUGGESTED READINGS:
1. Naresh Chauhan, “Software Testing – Principles and Practices”, Oxford HigherEducation, 2010.
2. Aditya P.Mathur, “Foundations of Software Testing”, Pearson Education,2008.
3. Elfriede Dustin, “Effective Software Testing”, First Edition, Pearson Education, 2003.
4. RenuRajani, Pradeep Oak, “Software Testing – Effective Methods, Tools and Techniques”, Tata McGraw Hill,2004.
e -RESOURCES:
1. https://testproject.io/
2. http://nptel.ac.in/courses/106101061/18
3. http://nptel.ac.in/courses/106101061/19
JOURNALS:
1. Software Impacts, https://www.journals.elsevier.com/software-impacts
2. Software Testing Verification and Reliability, https://onlinelibrary.wiley.com/journal/10991689