Software Testing
Software Testing
Session: Jul 23 - Nov 23| Faculty: Siddhanta Kumar Singh | Class: Departmental Elective
Course
A. Introduction: This course presents the knowledge about testing background such introduction of Bug, cause
of Bug, how it effects on cost of project, role of STLC cycle realities of software testing. This subject also gives the
knowledge software testing fundamentals, under the study of types of testing this subject enlighten the Configuration
testing, Compatibility testing, Foreign language testing, Usability testing, Testing the documentation, testing for
software security, Web site testing and more.
B. Course Outcomes: At the end of the course, students will be able to:
[4158.1]. Interpret the basic concepts of testing, metrics, and measurement of testing.
[4158.2]. Apply the concepts of structural testing and functional testing.
[4158.3]. Analyze issues, challenges, and solutions of advanced software testing and component-based
software testing.
[4158.4]. Evaluate the working of Off-the-shelf tools for the testing automation.
[PO.1]. Engineering knowledge: Apply the knowledge of basic science and fundamental computing in
solving complex engineering problems
[PO.2]. Problem analysis: Identify, formulate, research literature, and analyze complex engineering problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences.
[PO.3]. Design/development of Computing solutions: Design solutions for complex IT engineering problems
and design system components or processes that meet the specified needs with appropriate consideration for the
Information oriented public health and safety, and the cultural, societal, and environmental considerations
[PO.4] Conduct investigations of complex problems: Use IT domain research-based knowledge and
research methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions
[PO.5] Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering
and IT tools including prediction and modeling to complex engineering activities with an understanding of the
limitations
[PO.6] The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal, and cultural issues and the consequent responsibilities relevant to the professional
engineering practice
[PO.7]. Environment and sustainability: Understand the impact of the professional engineering solutions in
societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development
[PO.8]. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the
engineering practices
[PO.9]. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse IT teams, and in multidisciplinary settings.
[PO.10]. Communication: Communicate effectively on complex computing engineering activities with the
engineering community and with society at large, such as, being able to comprehend and write effective reports and
design documentation, make effective presentations, and give and receive clear instructions
[PO.11]. Project management and finance: Demonstrate knowledge and understanding of the engineering
and management principles and apply these to one’s own work, as a member and leader in a team, to
manage projects and in multidisciplinary environments
[PO.12]. Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change
PSO1: Imbibe the basic concepts and applications of computer-based Communication or networking, information
sharing, signal processing, web-based systems, smart devices, and communication technology.
PSO2: Investigate prominent areas in the field of Computer and Communication Engineering to provide feasible
solutions.
PSO3: Apply the contextual knowledge in the field of Computing and Communication to assess social, health, safety,
and security issues relevant to the professional engineering practice.
D. Assessment Plan:
(Summative)
Total 100
E. Syllabus
Software Metrics: Basics of software testing: Introduction to software Testing, Testing and debugging,
Test metrics and measurements, Verification, Validation and Testing, Types of testing, Software defect
tracking; Structural testing techniques: Path testing, DD-Paths, Cyclomatic Complexity, Graph Metrics, Data
Flow Testing; Functional testing techniques: Boundary Value Analysis, Equivalence Class Testing, Decision Table
Based Testing, Cause Effect Graphing Technique, Ad hoc Testing; Top down and Bottom up integration: Bi-
directional integration, System integration, Scenario Testing, Defect Bash, Design/Architecture verification,
Deployment testing, Beta testing, Scalability testing, Reliability testing, Stress testing; Acceptance testing;
Regression testing, Test Planning; Software Test Automation: Scope of automation, Design & Architecture for
automation, Generic requirements for test tool framework, Test tool selection, Testing in Object Oriented
Systems, Case study on software testing; Advanced Topics on Testing: Prioritizing the Test-cases, Testing event
driven applications, Testing Off-the-shelf component, Testing security, Testing Data-warehouse; Introduction to
DevOps.
Reference
1. S. Desikan, G. Ramesh, “Software Testing: Principles and Practices”, Pearson Education, 2006.
2. A. P. Mathur, “Fundamentals of Software Testing”, Pearson Education, 2008.
3. K. K. Aggarwal, Y. Singh, “Software Engineering”, Third Edition, New Age International Publication, 2008.
4. R. Mall,” Fundamentals of Software Engineering”, PHI, India 2004
F. Lecture Plan:
Term
Demonstrate the Lecture CC 4158.3
Design/Archiecture bidirectional Quiz &
21. integration End
verification,
Term
Demonstrate the Lecture CC 4158.3
scenario testing
22. Deployment testing, Quiz &
End
Term
Demonstrate the Lecture CC 4158.3
identify defect Quiz &
23. Beta testing, architecture End
Term
Demonstrate the Lecture CC 4158.3
Scalability testing, testing for scalability Quiz &
24. End
Reliability testing,
Term
Demonstrate the Lecture CC 4158.3
Stress testing; testing techniques Quiz &
25. Acceptance testing; End
Regression testing,
Term
Demonstrate the Lecture CC 4158.4
testing techniques Quiz &
26. Test Planning, End
Term