advanced software engineering: software...

39
Web: http://www.megadatasys.com Assisted with templates Advanced Software Engineering: Software Testing COMP 3705(L6) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson

Upload: habao

Post on 06-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Web: http://www.megadatasys.com Assisted with templates

Advanced Software Engineering: Software Testing

COMP 3705(L6)

Sada Narayanappa

Anneliese Andrews Thomas Thelin

Carina Andersson

Advanced Software Engineering 2

LectureChapter 9

– MetricsChapter 16 (& Appendix III)

– Process improvement and assessment– TMM, TIM

Presentation technique

Advanced Software Engineering 3

Test management questionsWhat is effective? What is efficient?When to stop testing?

Advanced Software Engineering 4

Why measure?Why is metrics important for the development and test process? Are metrics useful for motivation purposes?Can metrics improve quality?

Advanced Software Engineering 5

Measurement basicsBasic data:

Time (calendar and staff hours)Failures / FaultsSize

Basic rule:Feedback to originUse data or don’t measure

Advanced Software Engineering 6

Purpose of metricsProject monitoring – check the statusProject controlling – corrective actionsPlan new projectsMeasure and analyze results

– The profit of testing– The cost of testing– The quality of testing– The quality of the test process– Basis of improvement, not only for the test process

Advanced Software Engineering 7

Monitoring testingStatus

– Coverage metrics– Test case metrics

Failure / Fault metrics– How much have we accomplished?– What is the quality status of the software?

Productivity metrics– How productive and efficient are the testers?

Efficiency / Cost metrics– How much time have we spent?– How much money have we spent?

Effectiveness metrics– How effective is the testing techniques in detecting defects?

Metrics

Estimation

Cost

Stop?

Advanced Software Engineering 8

Test metrics: Size/complexity/lengthWhat?

Size – LOC, Function PointsComplexity – McCabeLength – Halstead

Why?Estimate test effort

Advanced Software Engineering 9

Test metrics: EfficiencyWhat?

# faults/hour# faults/test case

Why?Evaluate efficiency of V&V activities

Advanced Software Engineering 10

Test metrics: EffectivenessWhat?

% found faults per phase% missed faults

Why?Evaluate effectiveness of V&V activities

Advanced Software Engineering 11

Test metrics: CoverageWhat?

% statements covered% branches covered% data flow

% requirements% equivalence classes

Why?Track completeness of test

Advanced Software Engineering 12

Test metrics: Test execution statusWhat?

# faults/hour# executed testsRequirements coverage

Why?Track progress of test projectDecide stopping criteria

Advanced Software Engineering 13

Test metrics: Trouble reportsWhat?

# faults/sizerepair timeroot cause

Why?Monitor qualityMonitor efficiencyImprove

Advanced Software Engineering 14

Selecting the right metricsWhat is the purpose of the collected data?

– What kinds of questions can they answer?– Who will use the data?– How is the data used?

When and who needs the data?– Which forms and tools are used to collect the data?– Who will collect them?– Who will analyse the data?– Who have access to the data?

Advanced Software Engineering 15

Goals– What is the organization trying to achieve? – The objective of process improvement is to satisfy these goals

Questions– Questions about areas of uncertainty related to the goals – You need process knowledge to derive the questions

Metrics– Measurements to be collected to answer the questions

Goal-Question-Metric Paradigm (GQM)

Advanced Software Engineering 16

GQM guidelinesAnalyze <object (s) of study>

– the detection of design faults using inspection and testingfor the purpose of <purpose>

– evaluationWith respect to their <quality focus>

– effectiveness and efficiencyfrom the point of view of the <perspective>

– managers in the context of <context>

– developers, and in a real application domain

Advanced Software Engineering 17

Test estimationGuessingAuthorized deadlinesPrevious test effort

– In-project experience through incremental planningFormula-based

– COCOMO– Test point analysis

Consensus of experts (Delphi)Detailed work breakdown of testing tasksHistorical data helps estimating regardless of the method

Advanced Software Engineering 18

Test Point Analysis

Dynamic test points

Static test points

Total number of test points

Primary test hours

Environmental factors Skill factors

Planning and control

factorsTotal number of test hours

TPf=FPf*Df*Qd

PT=TP*S*E

Advanced Software Engineering 19

Cost of testingHow much does testing cost?

As much as resources we have!

Advanced Software Engineering 20

Costs of testingPre-run costsplanning, specification, environment setup

Execution costsexecution time (staff and equipment), regression tests

Post-run costsoutcome analysis, documentation

Advanced Software Engineering 21

Minimizing costsTest performance

– Automate execution and evaluation

Test maintenance– Add new, review effectiveness

Testware development– Consider as part of the product

Advanced Software Engineering 22

When to stop testing?

All coverage goals met (requirements, code, ...)Detection of specific number of failuresRates of failure detection fallen below a specified levelFault seeding ratios are favourableReliability above a certain valueNumber of failures left below the limitCost has reach the limit

Advanced Software Engineering 23

Most common stop criteriaTime has reach the limit (milestone, release date, ...)All planned tests executed and passed

Advanced Software Engineering 24

Example

Number of failures per day

Number ofexecutedtest cases

Number ofdetectedfailures

Interpretation?

Advanced Software Engineering 25

Example

Interpretation?

Number ofexecutedtest cases

Number ofdetectedfailures

Advanced Software Engineering 26

Example

Interpretation?

Number ofexecutedtest cases

Number ofdetectedfailures

Advanced Software Engineering 27

Process models

Purpose– Improvement– Assessment

Models– (Integrated) Capability maturity model (CMM, CMMI)– Software process improvement and capability determination (SPICE)– ISO 9001, Bootstrap– Test maturity model (TMM)– Test process improvement model (TPI)– Test improvement model (TIM)

Advanced Software Engineering 28

CMMP ro ces s chan ge m an ag em en tTechn ol o g y ch ang e m anag em en tDefec t p revent io n

S o ftware q ua l it y m an ag em en tQu ant it a t ive p ro ces s m anag em en t

P eer rev iewsInt e rg ro up coo rdin at io nS o ftware p ro du ct en gi neeri ngInt egra t ed so ftw are m anag em entTra i ni ng p rog ramm eOrg ani za ti on p roces s d e fin it io nOrg ani za ti on p roces s fo cus

S o ftw are co nfi gu ra t io n m an ag em entS o ftw are q ua l it y as su ranceS o ftw are s ub con trac t m anag em en tS o ftw are p ro jec t tracki ng an d o versigh tS o ftw are p ro jec t pl ann in gR equ irem en ts m an agem en t

I n iti al

Rep eatab l e

Defi n ed

Ma n ag ed

O p ti m i zi n g

Advanced Software Engineering 29

Test Maturity Model (TMM)LevelsMaturity goals and sub-goals

– Scope, boundaries, accomplishments– Activities, tasks, responsibilities

Assessment model– Maturity goals– Assessment guidelines– Assessment procedure

Advanced Software Engineering 30

Test Matu

rity

Model

Advanced Software Engineering 31

Change model

VisionStrategiesProcesses

PlansOrganization

Quality system

Models

Ability

Application

Create

Utilize

Create

Utilize

ArchitectureDesign

SoftwareHardware

Product

Advanced Software Engineering 32

Test improvement model – TIMKey areas

– Organization– Planning and monitoring– Test cases– Testware– Review / Inspection

Maturity levels– Initial – Basic– Cost effective– Risk thinking– Optimizing

Advanced Software Engineering 33

Maturity profile (example)

0

1

2

3

4

Organization

Planning and monitoring

Test cases

Testware

Review / Inspection

Advanced Software Engineering 34

Phases of assessment / improvement

TMM– Plan (Preparation)– Do (conducting, reporting)– Check (analyzing, action

planning)– Act (implementing

improvement)

TIM1. Evaluation – mirror of the test

organization2. Present, discuss and reflect –

understand the problems3. Develop improvement strategy 4. Implement the improvement

strategy 5. Continually improvement

Advanced Software Engineering 35

EvaluationInterview based on a questionnaire Covers the key areas and maturity levels“Magic” questions:

– What would you like to change? – What would make your situation better?

Advanced Software Engineering 36

Present, discuss and reflectWrite a report and presentAll questions are discussedGoal: create a common understanding

Advanced Software Engineering 37

Develop improvement strategyPrioritized areas are identifiedImprovement puzzleSupport from the organization is very important

Advanced Software Engineering 38

Implement the improvement strategySeminars and workshopsPilot project – internal mentorsRole play

Advanced Software Engineering 39

General adviceIdentify the real problems before starting an improvement program“What the customer wants is not always what it needs”Implement “easy changes” firstInvolve peopleChanges take time!