0% found this document useful (0 votes)
32 views

4.verification, Validation and Testing

This document contains information about a software engineering and testing methodologies course for the B.Tech program in Computer Science and Engineering. It includes the course code, name, outcomes, and syllabus. The syllabus covers topics such as software engineering processes, requirements specification, design, testing methods, project management, quality assurance, and verification and validation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

4.verification, Validation and Testing

This document contains information about a software engineering and testing methodologies course for the B.Tech program in Computer Science and Engineering. It includes the course code, name, outcomes, and syllabus. The syllabus covers topics such as software engineering processes, requirements specification, design, testing methods, project management, quality assurance, and verification and validation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

School of Computing

Science and Engineering

Program: B.Tech
Course Code: BTCS3502
Course Name: Software Engineering &
Testing Methodologies

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
C ourse Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

Course Outcomes :
CO NUMBER TITLE
CO1 Understand the key concerns that are common to all software
development processes.
CO2 Select appropriate process models, approaches and techniques to
manage a given software development process.
CO3 Able to elicit requirements for a software product and translate
these into a documented design.
CO4 Recognize the importance of software reliability and how we can
design dependable software, and what measures are used.
CO5 Understand the principles and techniques underlying the process of
inspecting and testing software and making it free of errors and
tolerable.
CO6 Understand the Software Quality Assurance (SQA) architecture and
identify Software quality management standards and procedures

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

Syllabus

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

I-Introduction to Software Engineering


Software Components, Software Characteristics,
Software Crisis, Software Engineering Processes,
Similarity and Differences from Conventional
Engineering Processes, Software Quality
Attributes. Software Development Life Cycle
(SDLC) Models: Water Fall Model, Prototype
Model, Spiral Model, Evolutionary Development
Models, Iterative Enhancement Models

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

II-Software Requirement Specifications (SRS)


and Design
Requirement Engineering Process: Elicitation, Analysis,
Documentation, Review and Management of User Needs,
Feasibility Study, Information Modelling,
Basic Concept of Software Design, Architectural Design, Low
Level Design: Modularization, Design Structure Charts,
Pseudo Codes, Flow Charts, Coupling and Cohesion
Measures, Design Strategies: Function Oriented Design,
Object Oriented Design, Top-Down and Bottom-Up Design
Data Flow Diagrams, Entity Relationship Diagrams.

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

III-Basic Software Testing Methods and


Selection
Testing Objectives ,Faults, Errors, and Failures,
Basics of software testing, Testing objectives,
Principles of testing, Requirements, behaviour and
correctness, Testing and debugging, Test metrics
and measurements, Verification, Validation and
Testing, Types of testing, Software Quality and
Reliability, Software defect tracking.

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

IV-White Box & Black Box Testing


Method and Selection
Structural Testing (White Box Testing), Functional
Testing (Black Box Testing), Integration Testing, ,
Regression Testing, Testing for Functionality and Testing
for Performance, Top-Down and Bottom-Up, Acceptance
Testing ,Alpha and Beta Testing of Products. Static
Testing Strategies: Formal Technical Reviews (Peer
Reviews), Walk Through, Regression testing, Regression
test process, Initial Smoke or Sanity test, Tools for
regression testing, Ad hoc Testing: Pair testing,
Exploratory testing, Iterative testing, Defect seeding.

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

V- Software Project and Test Management


Software as an Evolutionary Entity, Need for
Maintenance, Categories of maintenance: Preventive,
Corrective and Perfective Maintenance, Cost of
Maintenance, Software Re-Engineering, Reverse
Engineering. Software Configuration Management
Activities, Constructive Cost Models (COCOMO). Test
Planning, Management, Execution and Reporting,
Software Test Automation: Testing in Object Oriented
Systems.

Program Name: B.tech Program Code: CSE


School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering & Testing Methodologies

VI-Software Quality Assurance


Need for Software quality , Quality challenges
,Software quality assurance (SQA) , Definition
and objectives , Software quality factors,
McCall‟s quality model, SQA system and
architecture , Quality management standards , ISO
9001 and ISO 9000-3 , capability Maturity
Models, CMM and CMMI assessment
methodologies

Program Name: B.tech Program Code: CSE


Verification and Validation

Program Name: B.tech Program Code: CSE


Verification and Validation

• Assuring that a software system meets a user's needs

Program Name: B.tech Program Code: CSE


Objectives

• To introduce software verification and validation and to


discuss the distinction between them
• To describe the program inspection process and its role in V &
V
• To explain static analysis as a verification technique
• To describe the Cleanroom software development process

Program Name: B.tech Program Code: CSE


Verification vs validation

• Verification:
"Are we building the product right"
• The software should conform to its specification
• Validation:
"Are we building the right product"
• The software should do what the user really requires

Program Name: B.tech Program Code: CSE


The V & V process

• Is a whole life-cycle process - V & V must be


applied at each stage in the software process.
• Has two principal objectives
– The discovery of defects in a system
– The assessment of whether or not the system is usable in
an operational situation.

Program Name: B.tech Program Code: CSE


Static and dynamic verification

• Software inspections  Concerned with analysis of


the static system representation to discover problems  (static
verification)
– May be supplement by tool-based document and code analysis
• Software testing  Concerned with exercising and
observing product behaviour (dynamic verification)
– The system is executed with test data and its operational behaviour
is observed

Program Name: B.tech Program Code: CSE


Static and dynamic V&V

Program Name: B.tech Program Code: CSE


Program testing

• Can reveal the presence of errors NOT their


absence
• A successful test is a test which discovers one
or more errors
• The only validation technique for non-functional
requirements
• Should be used in conjunction with static
verification to provide full V&V coverage

Program Name: B.tech Program Code: CSE


Types of testing

• Defect testing
– Tests designed to discover system defects.
– A successful defect test is one which reveals the presence
of defects in a system.
• Statistical testing
– tests designed to reflect the frequency of user inputs. Used
for reliability estimation.

Program Name: B.tech Program Code: CSE


V& V goals

• Verification and validation should establish confidence that


the software is fit for purpose
• This does NOT mean completely free of defects
• Rather, it must be good enough for its intended use and the
type of use will determine the degree of confidence that is
needed

Program Name: B.tech Program Code: CSE


V & V confidence

• Depends on system’s purpose, user expectations and


marketing environment
– Software function
• The level of confidence depends on how critical the software is to an
organisation
– User expectations
• Users may have low expectations of certain kinds of software
– Marketing environment
• Getting a product to market early may be more important than finding
defects in the program

Program Name: B.tech Program Code: CSE


Testing and debugging

• Defect testing and debugging are distinct


processes
• Verification and validation is concerned with establishing the
existence of defects in a program
• Debugging is concerned with locating and
repairing these errors
• Debugging involves formulating a hypothesis
about program behaviour then testing these
hypotheses to find the system error
Program Name: B.tech Program Code: CSE
The debugging process

Program Name: B.tech Program Code: CSE


V & V planning

• Careful planning is required to get the most out of testing and


inspection processes
• Planning should start early in the development process
• The plan should identify the balance between static
verification and testing
• Test planning is about defining standards for the testing
process rather than describing product tests

Program Name: B.tech Program Code: CSE


The V-model of development

Program Name: B.tech Program Code: CSE


The structure of a software test plan

• The testing process


• Requirements traceability
• Tested items
• Testing schedule
• Test recording procedures
• Hardware and software requirements
• Constraints

Program Name: B.tech Program Code: CSE

You might also like