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

6.software Quality and Reliability

This document provides information about a course on Software Engineering and Testing Methodologies, including the course code, name, outcomes, syllabus, and related program details. The course covers topics such as software requirements specifications, design, basic testing methods, white box and black box testing, project and test management, quality assurance, software metrics, and reliability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views

6.software Quality and Reliability

This document provides information about a course on Software Engineering and Testing Methodologies, including the course code, name, outcomes, syllabus, and related program details. The course covers topics such as software requirements specifications, design, basic testing methods, white box and black box testing, project and test management, quality assurance, software metrics, and reliability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

School of Computing

Science and Engineering

Program: B. Tech
Course Code:BTCS3502
Course Name: Software Engineering &
Testing Methodologies
School of Computing Science and Engineering
Course Code :BCSE3032 Course Name: Software Engineering
& Testing
Methodologies

Course Outcomes :
CO’S
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
Methodology

Syllabus
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
II-Software Requirement
Specifications (SRS) and Design
• Requirement Engineering Process: Elicitation, Analysis,
Documentation, Review and Management of User Needs, Feasibility
Study, Information Modeling,
• 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.
III-Basic Software Testing Methods and
Selection
• Testing Objectives ,Faults, Errors, and Failures, Basics
of software testing, Testing objectives, Principles of
testing, Requirements, behavior and correctness,
Testing and debugging, Test metrics and
measurements, Verification, Validation and Testing,
Types of testing, Software Quality and Reliability,
Software defect tracking.
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.
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.
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
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Software Metrics and Reliability


• According to ANSI, “ Software Reliability is defined as the
probability of failure – free software operation for a specified
period of time in a specified environment”.

• IEEE defines Reliability as “ The ability of a system or


component to perform its required functions under stated
conditions for a specified period of time”

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

• Software Reliability • Hardware Reliability

• It is not a direct function of time


• It is a direct function of time.

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Software Reliability
 Integration and Testing
 Useful life
 obsolete

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Faults and Failures


• It is the departure of the external results of program
operation from requirements

FAULT
• A Fault is a defect in a program which arises when
programmer makes an error.

• It Causes Failure when executed under particular conditions

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Achieving Reliability

Software Reliability can be achieved by using metrics at different


stages of software development cycle.

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Phases
• Requirement Phase
• Design and coding phase
• Testing phase
Software Metrics For Reliability
• Requirements Reliability Metrics
• Design and Code Reliability Metrics
• Testing Reliability Metrics

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Requirements Reliability Metrics


• A clear understanding between client and developer should
exist.
• Must Contain valid Strucure
• Must be complete
• Ease to communicate

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Design and Code Reliability Metrics


Quality Factors
• Complexity
• Size

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Testing Reliability Metrics

• First approach is “ensuring that the system is fully equipped


with the functions that are specified in the requirements”.
• Second approach is “Evaluating the code, Finding the errors
and fixing them”.

Program Name: B.Tech


School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM

Conclusion

• Software Reliability is the probability that the software will


work without failure for a specified period of time
• Achieving the software reliability is hard as the complexity of
the software tends to be high
• Software Reliability can be increased by applying metrics at
different stages of software development life cycle.

Program Name: B.Tech

You might also like