• No results found

SOFTWARE QUALITY ASSURANCE_2

N/A
N/A
Protected

Academic year: 2020

Share "SOFTWARE QUALITY ASSURANCE_2"

Copied!
31
0
0

Loading.... (view fulltext now)

Full text

(1)

SOFTWARE QUALITY

ASSURANCE

LECTURE 02 : WEEK 02

SEN 460

: SPRING 2016

(2)

TEXT AND REF. BOOKS

 Text Book:

Software Quality Engineering by Jeff Tian IEEE

 

Reference Book:

Software Quality Engineering A practitioners Approach IEEE

 

(3)

MOBILE ALERT

Kindly

Switch Silent/Off

your Mobile Phones

OR

Be READY to Go HIGH

(4)

GOOGLE SITE ADDRESS

FOR LECTURE NOTES AND STUDY MATERIAL

DOWNLOAD, PLEASE VISIT :

https://sites.google.com/site/

sumeerahashmics/sqa

(5)

MS (Software Engineering)

BCIT(Ned University of Engineering and Technology) Email : [email protected]

Presented by: Sumeera Hashmi

SOFTWARE QUALITY

ASSURANCE ?

(6)

Failure, Error, Fault and

Defect

 Failure

 A failure is said to occur whenever the external behavior of a system

does not conform to that prescribed in the system specification.

 Error

 An error is a state of the system

 An error state could lead to a failure in the absence of any corrective

action by the system.

 Fault

 A fault is the adjusted cause of an error.

 Defect

(7)

Defect Prevention

Techniques?

Goal

To reduce the chance for defect injections

and the subsequent cost to deal with these

injected defects.

Assumption

There are known error sources or

(8)

Error sources

If

human misconception are the error

sources, education and training can help.

If

imprecise

designs

and

(9)

Error sources

If

certain tools or technologies can reduce

the

fault

injection

under

similar

environments they should be adopted.

(10)

Defect Prevention techniques

Education and Training

Education and Training provide people-based

solution, it can help software professionals to

improve, manage and control their work.

Formal Methods

Formal methods provide a way to eliminate certain

(11)

Education and Training

The education and training effort for error source

elimination should focus on following areas:

Product and Domain specific knowledge. If the people

involved are not familiar with the product type or

application domain there is a good chance that wrong solution will be implemented. E.g. developers

unfamiliar with the embedded software may design software with considering its environmental

(12)

Education and Training

Software development knowledge and expertise plays

an important role in developing high-quality software products. E.g. Lack of expertise with requirement analysis and product specification usually leads to many problems and rework in subsequent design, coding and testing.

 Knowledge about development methodology, tools and

(13)

Formal methods

Development process knowledge. E.g. increment

Formal methods includes formal specifications

(14)

Defect Reduction

For most large systems in use today it is

unrealistic to expect the defect

prevention activities to be 100%

(15)

Inspection

Software inspections are critical examination of

software artifacts by human inspectors aimed at

discovering and fixing faults in the software system.

Inspection are critical reading and analysis of software code or other

software artifact

Inspections are typically conducted by multiple human inspectors,

through some coordination process.

Faults are detected directly by human inspectors.

Identified faults need to be removed as a results of the inspection

process and their removal also needs to be verified.

The formality of inspection vary from informal reviews and

(16)

Testing

Testing is one of the most important part of

QA. Testing involves the execution of

software and observation of the program

behavior.

If a failure is observed the execution record

(17)

Testing

 Because testing is an execution based QA activity, a

pre-requisite to actual testing is the implemented software units, component, or system to be tested.

 Actual testing can be divided into various sub phases

starting from the coding phase up-to the product release including:

 Unit testing

 Component testing

 Integration testing

 System Testing

(18)

Black Box and White Box

testing

Black Box or functional testing verifies the

correct handling of the external functions

provided by the software, or whether the

observed

behavior

conforms

to

user

expectation or product specification.

(19)

Black Box and White Box testing

 When black-box testing is performed, failure related to specific external functions can be observed, leading to corresponding faults being detected and removed. The emphasis is on reducing the chances of encountering functional problems by target customers.

(20)

When or at what defect level to stop

Testing?

Most of the traditional testing techniques use

coverage information as the stopping criteria.

With the implicit assumption that higher the

coverage means higher quality or lower level

of defects.

Every statement or unit in a component must

be covered before subsequent integration

testing integration testing.

Other testing techniques include control flow

(21)

When or at what defect level to stop

Testing?

Domain testing that attempt to cover

boundaries between different input

sub-domains .

Product Reliability Goal

can be used as a

more objective criterion.

The testing is performed under an environment that

resembles actual usage by target customers so that

realistic reliability assessment can be obtained.

(22)

When or at what defect level to stop

Testing?

The coverage criterion ensures that certain

type of faults are detected and removed thus

reducing the number of defect to a lower level.

The usage base testing ensures that the faults

(23)

Defect Containment

Because of large software system in use

today, the defect reduction activities can

only reduce the number of faults to a

certain

level

But

not

completely

eliminate them.

This low level may still be inadequate for real

(24)

Fault tolerance

Software Fault tolerance ideas originate

from traditional hardware system

In such system spare parts or backup units are

commonly

used

to

keep

the

system

operational may be at low capability.

(25)

Fault tolerance

 Recovery Blocks use repeated executions (or redundancy

over time) as the basic mechanism for fault tolerance. If dynamic failure in some local area is detected a portion of the latest execution is repeated therefore local failure will not propagate to global failure.

 NVP uses parallel redundancy, where N-copies, each of a

(26)

Validation activities check whether a function need

and expected by the customer is present in the

software product. An absence of an expected function

is a deviation from expected behavior

 Software verification activities check the conformance of a software system to its specification.

 Failures involved in verification activities are internal failure,

e.g. how a component works with another component is a verification activity.

(27)

Validation activities

 QA activities that can be classified as validation activities

 System testing, where the focus is the overall set of

system functions to be provided to user

 Acceptance testing and beta testing, where the focus is

assessment of software acceptance or performance by users

 Usage-based statistical testing, where the operational

environment by target user is simulated during software testing before product release.

 Software fault tolerance, which focuses on providing

(28)
(29)

Verification and Validation in V-Model

A variation of the waterfall model where each

development

phase

is

related

to

its

corresponding verification and validation activity.

Customer

requirements

are

validated

by

operational use.

(30)

Exsercise

Question 1

Black Box Testing (BBT) focuses on the functional requirements of the software. It enables the software engineer to derive sets of input

conditions that will fully exercise all functional requirements for a program. Suppose an SQA team is doing Black-Box testing of a

software. After testing the software the team reported that there are no errors in the software. But the project manager wants the same software to be tested using white box testing technique in order to eliminate all chances of errors.  The Team started white box testing of the same software and uncovered errors which were not previously uncovered by the BBT. 

Considering the above situation provide three examples of errors

(31)

Any Questions !!!

END OF LECTURE

References

Related documents

Principle Component Analysis (PCA) technique is proposed to implement in the high PAPR as it identifies the directions of most variation in the data set and it reduces the

Our method for emptiness decision, presented in Section III appeared to be robust enough to deal with several extensions like global counting constraints, local equality tests

Therefore, unlike the resting state of peroxidases, where the heme sixth coordination site is vacant or bound weakly to water (12), at pH 6 ferric wild type DHP

Che-Lun Hung, Hsiao-his Wang, Chin-Yuan Chang and Chun-Yuan Lin, Efficient Packet Pattern Matching for Gigabit Network Intrusion Detection using GPUs: IEEE 14th

The PIC detector for the ideal received signal sequence, the L-MMSE estimator for the transmitted symbol sequence and the modified decision rule together constitute the

Groups of type F 4 over a field k can be thought of as the automorphism group of an Albert algebra, where an Albert algebra is a 3 × 3 matrix that is Hermitian up to a diagonal

Introduction provides background and the question addressed, methods describes how that question was answered, results show the resulting data from the experiment and discussion is

scheme holds trip signal to low (0). The fault type's conditions, alienation coefficient limits and relay action are given in Table 1.. Flow Chart for Busbar Protection