software quality

34

Upload: danial-mirza

Post on 12-Jul-2015

37 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Software Quality
Page 2: Software Quality

SOFTWARE QUALITY

MARIA KHALID ROLL NO.63 JAVERIA RASHID ROLL NO.36 DANIAL MIRZA ROLL NO. 85. JAHANGEER QUERSHI ROLL NO.78

Page 3: Software Quality

AGENDA

1.What is Quality?2.What is Software Quality Assurance?3.Components Of Quality Assurance.4.Verification and Validation

Page 4: Software Quality

What is software?

According to the IEEESoftware is:

“Computer programs, procedures, and possibly

associated documentation and data pertaining to

the operation of a computer system”.

Page 5: Software Quality

What is Software quality? Low levels of defects when deployed,

ideally approaching zero High reliability, or the capability of

running without crashes or strange results

A majority of clients with high user-satisfaction when surveyed

Page 6: Software Quality

What is Software Quality?

1.Accroding to computer literature Quality means “Meeting Requirement”.

2.The product has something that other similar products do not that adds value. (Product based Definition).

Page 7: Software Quality

Why the quality is important? Why business should be concerned

with quality: Quality is competitive issue now Quality is a must for survival Quality gives you the global reach Quality is cost effective Quality helps retain customers and

increase profits Quality is the hallmarks of world-class

business

Page 8: Software Quality

Software Quality Factors Correctness

accuracy, completeness of required output upto-dateness, availability of the information

Reliability Minimum failure rate

Efficiencyresources needed to perform software function

Integrity software system security, access rights

Usability ability to learn, perform required task

Page 9: Software Quality

Software Quality Factors Maintainability

effort to identify and fix software failures (modularity, documentation, etc)

Flexibility degree of adaptability (to new customers, tasks, etc)

Testability support for testing (e.g. log files, automatic diagnostics, etc)

Portability adaptation to other environments (hardware, software)

Reusability use of software components for other projects

Interoperability ability to interface with other components/systems

Page 10: Software Quality

Software Quality Assurance Systematic activities providing evidence of

the fitness for use of the total software product.

It is achieved through the use of established guidelines for quality control to ensure integrity and prolonged life of software.

It is a planned effort to ensure that a software product fulfils criteria and has additional attributes specific to the product.

Page 11: Software Quality

It is the collection of activities and functions used to monitor and control a software project so that specific objectives are achieved with the desired level of confidence.

It is not the sole responsibility of the software quality assurance group but is determined by the consenses of the project manager ,project leader, project personnel, and the users.

Software Quality Assurance

Page 12: Software Quality

Components of Quality Assurance

Page 13: Software Quality

Software Testing Software testing is a popular risk

management strategy.It is used to verify that functional requirements were met.

The major purpose of verification and validation activities is to ensure that software design, code, and documentation meet all the requirements imposed on them.

Page 14: Software Quality

Verification and validation

Software Verification and Validation

When Combined Together Are Abbreviated as V & V

Page 15: Software Quality

Verification of software

Verification is the process confirming that -software process meets its specification

Verification Ensures that:

Every Step in the Process of Building

the Software Delivers the Correct Product

Page 16: Software Quality

Validation of software

Validation is the process confirming that it meets the user’s requirements.

Validation Ensures that:

Software Being Developed or ChangedSatisfies Functional and All OtherRequirements

Page 17: Software Quality

Major Categories of Verification

There are Two Major Categories of Verification Testing:

• Dynamic Testing

• Static Testing

Page 18: Software Quality

Dynamic testing

What Does Dynamic Testing Do ?

• Involves Execution of a System or Component

• Selection of a Group of Test Cases Consisting of Test Data

• Finding out Output Test Results out of Input Test Cases

Page 19: Software Quality

DYNAMIC TESTING

Sub Categories of Dynamic Testing

• Functional Testing

• Structural Testing

• Random Testing

Page 20: Software Quality

Dynamic testing Functional Testing: A Type of

Dynamic Testing

• Involves Identification & Testing of all Functions of the System as Defined in Basic Requirements Documents

• It is a Black Box Testing Not Expecting that the Tester should have any Knowledge of the Basic Code & Implementation of the System

• It uses Test Cases Designed to Investigate Certain Feature of the System

Page 21: Software Quality

Dynamic testing Structural Testing: A Type of Dynamic

Testing• It is a White Box Testing Expecting Full knowledge

of the Implementation of the System

• Information of the Internal Structure of the System is Used to Design Tests for Checking the Function of Individual Components

• Like Functional Testing, it also uses Test Cases Designed to Investigate Certain Feature of the System

Page 22: Software Quality

Dynamic testing

Random Testing: A Type of Dynamic Testing

• Uses Free Selection of Test Cases out of a set of All Possible Test Cases

• Uses Randomly Decided to Detect Faults which Go Undetected by Other Systematic Testing Techniques

• Exhaustive Testing is a Form of Random Testing, Involving Input Test Cases having Every Possible Set of Input Values

Page 23: Software Quality

Static testing Does not Involve Operation of

the System or Component• Consistency Techniques

: Meant for Doing Analysis of Consistency

• Measurement Techniques

: Meant for Doing Measurement of Some Property of the Program

Page 24: Software Quality

Static testing Consistency Techniques of Static

Testing # Correct Typing # Correct Requirements and Translation of

Specifications

# Correct Syntax # Correct Parameter Matching between procedures

Page 25: Software Quality

Static testing Measurement Techniques of Static

Testing

Measures the System Properties Like:

# Being Error Prone

# Being Understandable

# Being Well Structured

Page 26: Software Quality

Validation of software

Validation comes Into Picture at the End of the Development Cycle

• It Views the Complete System Exactly Opposite of Verification

• It Focuses on Smaller Sub-Systems

Page 27: Software Quality

Techniques of Validation Testing

Formal Methods : A Technique of Validation Testing

• Besides being a Verification Technique it is a Validation Technique as well

• Involves use of Mathematical and Logical Techniques to: Express, Investigate, & Analyze the Specification, Design, Documentation and Behavior of Hardware as well as Software

Page 28: Software Quality

Techniques of Validation Testing

Fault Injection : A Technique of Validation Testing

Is an Intentional Activation of Faults by Either Hardware or Software to Observe the System Operation under such Faulty Situations

Page 29: Software Quality

Techniques of Validation Testing

Hardware Fault Injection : A Technique of Validation Testing

Also known as Physical Fault Injection since Faults are Injected into thePhysical Hardware

Page 30: Software Quality

Techniques of Validation Testing

Software Fault Injection : A Technique of Validation Testing

• Involves Injection of Errors into the Computer Memory through some Software Techniques

• It is a sort of a Simulation of Hardware Fault Injection

Page 31: Software Quality

Techniques of Validation Testing

Dependency Analysis : A Technique of Validation Testing

Involves Identification of Hazards and Subsequently Proposing Methods to Reduce the Risk of the Hazards

Page 32: Software Quality

Techniques of Validation Testing

Hazard Analysis : A Technique of Validation Testing

Involves using Instructions toIdentify Hazards, Their Root Causes , and

Possible Countermeasures

Page 33: Software Quality
Page 34: Software Quality

FOR YOUR ATTENTION AND TIME…….