18
Risk Based Testing and Regression Testing Presented by: Toshi Patel Mtech (3ed sem) 1

risk based testing and regression testing

Embed Size (px)

Citation preview

Page 1: risk based testing and regression testing

Risk Based Testing and

Regression Testing

Presented by:Toshi Patel

Mtech (3ed sem)1

Page 2: risk based testing and regression testing

Contents• Introduction to testing

• Need of testing

• Risk Based Testing

• Objectives

• Testing is risk based

• Benefits

• Advantages of Risk based testing

• Regression Testing

• Problems and challenges

• Software regression process

• Software regression strategy

• Benefits2

Page 3: risk based testing and regression testing

Introduction to

Testing• According to IEEE Standard 829-2008-

Testing is the process of analyzing a software item to

detect the differences btw existing and required

conditions i.e. bugs and to evaluate the features of the

software item

• According to IEEE Standard 610.12-1990-

Testing is the process of operating a system or

component under specified condition, observing or

recording the results, and making an evaluation of some

aspect of the system or component

3

Page 4: risk based testing and regression testing

Need Of Testing• Inspecting the products in order to determine whether

they meet the requirements

• Detecting the defects of the system

• Assurance of products without defects

• In reality, there is no perfect testing system that can

detect all defects. It reduces defect risks as much as

possible

• Testing promotes quality of products

4

Page 5: risk based testing and regression testing

Risk Based Testing

• Risk based testing is basically a testing done for the

project based on risks

• Risk based testing uses risk to prioritize and emphasize

the appropriate tests during test execution

• Risk-based testing involves key business and technical

project stakeholders to align the focus and sequence of

testing with what quality means

• Risk-based testing also means managing project risks,

which are possible events or outcomes that endanger

successful completion of the project

5

Page 6: risk based testing and regression testing

Objectives• Risk-based testing starts early in the project, identifying risks to

system quality and using that knowledge of risk to guide testing

planning, specification, preparation and execution

• Risk-based testing involves measuring how well we are doing

at finding and removing defects in critical areas

• Risk-based testing can also involve using risk analysis to

identify proactive opportunities to remove or prevent defects

through non-testing activities and to help us select which test

activities to perform

6

Page 7: risk based testing and regression testing

Testing is risk-based• Risk-based testing includes the following steps:1. Make a prioritized list of risks

2. Perform testing that explores each risk

3. As risks evaporate and new ones emerge, adjust your test effort to stayfocused on the current risk set

• Risk analysis is a real discipline

• Risk analysis continues throughout the project

• Risk analysis for testing must always include the user/customerpoint of view

1. Simple stakeholder analysis and impact estimation would do wonders

2. After specifying quantified quality requirements, risk assessment is a tentimes easier

7

Page 8: risk based testing and regression testing

Testing is risk-based (cont)

• Risks collected by Heuristic analysis :

• Bottom-Up (Inside-Out):

• Vulnerabilities, Threats and Victims per module

• Top-Down (Outside-In): Assessing predefined risk categories

• Quality criteria

– "Functionality, Reliability, Usability, Efficiency, Maintainability,

• Generic risk lists

– "anything new is more risky than tried-and-true", "distribution brings its own risks"

• Domain specific risk catalogs

• Collected experiences from fault analysis on the spot

• Project post-mortem for high level findings

8

Page 9: risk based testing and regression testing

Benefits• Running the tests in risk order gives the highest

likelihood of discovering defects in severity order

• Allocating test effort based on risk is the most efficient

way to minimize the residual quality risk upon release

• Measuring test results based on risk will allows the

organization to know the residual level of quality risk

during test execution and to make smart release

decisions

• If schedule requires, dropping tests in reverse risk order

reduces the test execution period with the least possible

increase in quality risk9

Page 10: risk based testing and regression testing

Advantages of Risk Based Testing

• Improved Quality

– all critical functions tested

• Reduced Time and Money in Testing

– effort not wasted on non critical or low riskfunctions

• Improved customer confidence

– due to customer involvement and good reportingand progress tracking

10

Page 11: risk based testing and regression testing

Regression testing

• Regression testing is the execution of a set of

test cases on a program in order to ensure that itsrevision does not produce unintended faults, does not"regress" - that is, become less effective than it hasbeen in the past

• Regression testing is a type of software testing thatseeks to uncover new software bugs, or regressions,in existing functional and non-functional areas of asystem after changes such as enhancements, patchesor configuration changes, have been made to them

11

Page 12: risk based testing and regression testing

Problem And Challenges

• Major problems in software regression testing:

- How to identify software changes in a systematic

way?

- REQ. specification changes

- Design specification changes

- Implementation (or source code) changes

- User manual changes

- Environment or technology changes

- Test changes

12

Page 13: risk based testing and regression testing

Software Regression Process

Step #1: Software Change Analysis

- Understand and analyze various software

changes

Step #2: Software Change Impact Analysis

- Understand and analyze software change

impacts

Step #3: Define Regression Test Strategy and Criteria

Step #4: Define, select, and reuse test cases to form a

regression test suite

13

Page 14: risk based testing and regression testing

Software Regression Process

Step #5: Perform re-testing at the different levels

- re-testing at the unit level

- re-testing at integration level

- re-testing at the function level

- re-testing at the system level

Step #6: Report and analyze regression test results

14

Page 15: risk based testing and regression testing

Software Regression Strategy

• Software test strategy provides the basic strategy and

guidelines to test engineers to perform software

regression testing activities in a rational way

• Software Regression strategy usually refers to-

a rational way to define regression testing scope,

coverage criteria, re-testing sequence (or order) and

re-integration orders

• Software regression test models are needed to support

the definition of software regression test strategy, test

cases, and coverage criteria

15

Page 16: risk based testing and regression testing

Software Regression Strategy(cont)

• Typical regression test models:

control flow graph, state-based behavior diagram

object-oriented class diagram

scenario-based model

component-based Regression model

16

Page 17: risk based testing and regression testing

Benefits

• Regression testing increases our chances of detecting

bugs caused by changes to a software and

application- either enhancements or defect fixes

• Regression testing also detects undesirable side

caused always by changing the operating

environment

• Regression test is much useful for a new way about

doing integration testing

17

Page 18: risk based testing and regression testing

18