why?

12
Jun 28, 2022 Test Management Summit 2007 2 Why? When we test we are trying to answer a big question: Can we release this (system, feature, code)? This question can be broken down into many sub-questions: Have we tested all the code? Have we tested all the features? Have we found all the bugs we expected to find? Have we fixed all the bugs we need to fix? Definition: the exercise of some system, feature, component, or code such as to exhibit a bug

Upload: zeno

Post on 13-Feb-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Why?. When we test we are trying to answer a big question: Can we release this (system, feature, code)? This question can be broken down into many sub-questions: Have we tested all the code? Have we tested all the features? Have we found all the bugs we expected to find? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Why?

Apr 22, 2023Test Management Summit 2007

2

Why?

When we test we are trying to answer a big question: Can we release this (system, feature, code)?

This question can be broken down into many sub-questions:

Have we tested all the code? Have we tested all the features? Have we found all the bugs we expected to find? Have we fixed all the bugs we need to fix?

Definition: the exercise of some system, feature, component, or code such as to exhibit a bug

Page 2: Why?

Apr 22, 2023Test Management Summit 2007

3

Feature coverage

Question: what is a feature?A1: anything stakeholders say it isA2: something users can use to do a jobA3 some collection of screens and

screen icons which users use to fulfil some unique task

Page 3: Why?

Apr 22, 2023Test Management Summit 2007

4

Feature definitions

Feature definitions vary from the ludicrous (verbal assertions) through user stories, to the highly-structured (UML). Somewhere in between is text. Any definition is good if it lets you: Measure:

how many there arehow big each ishow important each is to the user

Test them in any combination such as to exhibit bugs Identify inconsistencies Know the limits of coverage

Page 4: Why?

Apr 22, 2023Test Management Summit 2007

5

Problems (you knew we’d get here sometime)

The existence and extent of the feature depends on: Who is defining it (management, users, sales staff,

business analysts, tech. writers. Er, testers?) How they are defining it (text, UML, memoranda,

backs of envelopes, user stories) How it is expected to be used, and by whom

Lehman: the existence of the tool changes the nature of the job

Page 5: Why?

Apr 22, 2023Test Management Summit 2007

7

Test coverage by structure

You need to be sure the developers have exercised some minimum part of the code using several approaches.

Code coverage has been the subject of much academic interest: there are lots of measures: Lines Decision points Definition-Use paths Linear Code Sequence and Jumps

Great hammers for great nails

Page 6: Why?

Apr 22, 2023Test Management Summit 2007

8

Test coverage by feature

Do we have a test (set) for every feature plus installation, deinstallation, start-up and shut-down?

Can we decompose every feature into testable sub-bits? Has every one got a test? Does every test include at least one negative case?

Objection: No we don’t have any spec. worthy of the name nor

any time to write it.

Page 7: Why?

Apr 22, 2023Test Management Summit 2007

9

Test coverage by GUI icon

The user interface has a number of screens, buttons, pull-downs, tabs, menus etc. Do we have them all listed, and with tests which exercise every one?

Objections: Q: d’you know how many such icons there are in the

application? A: if it’s that big, you need a list to be sure you’ve hit them all

Q: just pulling down icons, hitting buttons and entering text in fields doesn’t exercise the system. A: true but if any of those don’t work you need to know asap.

Page 8: Why?

Apr 22, 2023Test Management Summit 2007

10

Test coverage by scenario

Users have goals they want to achieve. They achieve them using a number of (parts of) features. This

sets up subtle feature interactions which no other coverage approach will mimic.

Problems: P: The system is new and the users don’t know how they will use it.

S: use a model office or a simulator. P: The release adds new features - have we got to test all the old

ones as well? S: What is the risk if they interact in unexpected ways and you haven’t tested all these ways? (aka “yes”)

P: User management doesn’t want us to talk to users. S: Have management define a manager as a model user and put him or her in the model office.

Page 9: Why?

Apr 22, 2023Test Management Summit 2007

11

Test coverage by transition

Web and conventional applications have “paths” a user may take through the system to achieve a goal.

Identify the paths in the form of a state transition diagram (typically from URL to URL in the case of a web test) such that a minimum number of paths can be identified and traversed.

Objections: O: Far too many paths to do this. R: What’s the risk of

something going wrong? Model your paths at whatever level you find useful to test against

O: The whole point of a web app. is to be agile. R: It doesn’t matter how agile your development is, if users click out because the app.’s unusable, because you haven’t tested all the paths. If the app is well-made there won’t be many paths.

Page 10: Why?

Apr 22, 2023Test Management Summit 2007

13

Test coverage by web script, web page, application, and component

Web sites are built from bits.Testing each bit returns us to an older,

component-based test modelHaving identified the risk level of the web site,

decide the level of coverage of each component.It doesn’t matter how stable the web site is if the user experience is (to use a technical term) crap

Page 11: Why?

Apr 22, 2023Test Management Summit 2007

15

More questions

Question: where does a feature start and end?Question: how d’you measure the size of a

feature? (See the IFPUG counting practices manual)Question: the number of states the system

can be in is astronomic - how do we decide what sets of variables to use?

Question: are there coverage questions in user interface testing?

Page 12: Why?

Apr 22, 2023Test Management Summit 2007

16

Conclusions

Coverage must:answer a question conclusivelyhave a baseline,be user-, and business-relevant at some level Coverage is very definition-dependant: Invent a new coverage type and every manager

will want to know why you haven’t used it. If the features are ill-defined, the coverage will be.Coverage remains a major question