36
Tool support for testing (CAST) 1 Principles 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB / ISEB Foundation Exam Practice Chapter 6

Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Embed Size (px)

Citation preview

Page 1: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Tool support for testing (CAST)

1 Principles 2 Lifecycle

4 Dynamic testtechniques

3 Static testing

5 Management 6 Tools

Software Testing

ISTQB / ISEB Foundation Exam Practice

Chapter 6

Page 2: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Types of CAST tool

Why capture/replay is not test automation

Automating and testing are separate skills

Best practice

Contents

Tool support

1 2

4 5

3

6

ISTQB / ISEB Foundation Exam Practice

Page 3: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Testing tool classificationRequirements testing tools

Static analysis tools

Test design tools

Test data preparation tools

Test running tools - character-based, GUI

Comparison tools

Test harnesses and drivers

Performance test tools

Dynamic analysis tools

Debugging tools

Test management tools

Coverage measurement

Page 4: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Staticanalysis

Test management tools

Test design

Test data preparation

Coveragemeasures

Test running

Dynamicanalysis

Debug

Performancemeasurement

Comp. Test

Where tools fit

Req Anal

Code

Function

Design

Sys Test

Int Test

Acc Test

Requirementstesting

Test harness& drivers

Comparison

Page 5: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Requirements testing tools

Automated support for verification and validation of requirements models- consistency checkingconsistency checking- animationanimation

Tool information available from: Ovum Evaluates Software Testing Tools (subscription service)CAST Report, 1999World Wide Web

Page 6: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Static analysis tools

Provide information about the quality of software

Code is examined, not executed Objective measures

- cyclomatic complexitycyclomatic complexity- others: nesting levels, sizeothers: nesting levels, size

Page 7: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Test design tools

Generate test inputs- from a formal specification or CASE repositoryfrom a formal specification or CASE repository- from code (e.g. code not covered yet) from code (e.g. code not covered yet)

Page 8: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Test data preparation tools

Data manipulation- selected from existing databases or filesselected from existing databases or files- created according to some rulescreated according to some rules- edited from other sources edited from other sources

Page 9: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Test running tools 1

Interface to the software being tested Run tests as though run by a human tester Test scripts in a programmable language Data, test inputs and expected results held in

test repositories Most often used to automate regression

testing

Page 10: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Test running tools 2

Character-based- simulates user interaction from dumb terminalssimulates user interaction from dumb terminals- capture keystrokes and screen responsescapture keystrokes and screen responses

GUI (Graphical User Interface)- simulates user interaction for WIMP applications simulates user interaction for WIMP applications

(Windows, Icons, Mouse, Pointer)(Windows, Icons, Mouse, Pointer)- capture mouse movement, button clicks, and capture mouse movement, button clicks, and

keyboard inputskeyboard inputs- capture screens, bitmaps, characters, object statescapture screens, bitmaps, characters, object states

Page 11: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Comparison tools

Detect differences between actual test results and expected results- screens, characters, bitmapsscreens, characters, bitmaps- masking and filteringmasking and filtering

Test running tools normally include comparison capability

Stand-alone comparison tools for files or databases

Page 12: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Test harnesses and drivers

Used to exercise software which does not have a user interface (yet)

Used to run groups of automated tests or comparisons

Often custom-build Simulators (where testing in real environment

would be too costly or dangerous)

Page 13: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Performance testing tools

Load generation- drive application via user interface or test harnessdrive application via user interface or test harness- simulates realistic load on the system & logs the simulates realistic load on the system & logs the

number of transactionsnumber of transactions Transaction measurement

- response times for selected transactions via user response times for selected transactions via user interfaceinterface

Reports based on logs, graphs of load versus response times

Page 14: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Dynamic analysis tools

Provide run-time information on software (while tests are run)- allocation, use and de-allocation of resources, e.g. allocation, use and de-allocation of resources, e.g.

memory leaksmemory leaks- flag unassigned pointers or pointer arithmetic faultsflag unassigned pointers or pointer arithmetic faults

Page 15: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Debugging tools Used by programmers when investigating,

fixing and testing faults Used to reproduce faults and examine

program execution in detail- single-steppingsingle-stepping- breakpoints or watchpoints at any statementbreakpoints or watchpoints at any statement- examine contents of variables and other dataexamine contents of variables and other data

Page 16: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Test management tools

Management of testware: test plans, specifications, results

Project management of the test process, e.g. estimation, schedule tests, log results

Incident management tools (may include workflow facilities to track allocation, correction and retesting)

Traceability (of tests to requirements, designs)

Page 17: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Coverage measurement tools

Objective measure of what parts of the software structure was executed by tests

Code is instrumented in a static analysis pass Tests are run through the instrumented code Tool reports what has and has not been

covered by those tests, line by line and summary statistics

Different types of coverage: statement, branch, condition, LCSAJ, et al

Page 18: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Content

Types of CAST tool

Why capture/replay is not test automation

Automating and testing are separate skills

Best practice

Tool support

1 2

4 5

3

6

ISTQB / ISEB Foundation Exam Practice

Page 19: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Advantages of recording manual tests

documents what the tester actually did- useful for capturing ad hoc tests (e.g. end users)useful for capturing ad hoc tests (e.g. end users)- may enable software failures to be reproducedmay enable software failures to be reproduced

produces a detailed “script”- records actual inputsrecords actual inputs- can be used by a technical person to implement a can be used by a technical person to implement a

more maintainable automated testmore maintainable automated test ideal for one-off tasks

- such as long or complicated data entrysuch as long or complicated data entry

Page 20: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Captured test scripts

will not be very understandable- it is a programming language after all!it is a programming language after all!- during maintenance will need to know more than can during maintenance will need to know more than can

ever be ‘automatically commented’ever be ‘automatically commented’ will not be resilient to many software changes

- a simple interface change can impact many scriptsa simple interface change can impact many scripts do not include verification

- may be easy to add a few simple screen based may be easy to add a few simple screen based comparisonscomparisons

Page 21: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Compare seldom vs. compare often

Storage space

Failure analysis effort

Miss faults

Implementation effort

Susceptibility to changes

Robust Tests Sensitive Tests

Page 22: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Too much sensitivity = redundancy

If all tests arerobust, the

unexpectedchange is

missed

If all tests aresensitive, they

all show theunexpected change

Three tests,each changesa different field

Unexpectedchange occursfor every test

Test output

Page 23: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Automated verification there are many choices to be made

- dynamic / post execution, compare lots / compare little, dynamic / post execution, compare lots / compare little, resilience to change / bug finding effectiveresilience to change / bug finding effective

scripts can soon become very complex- more susceptible to change, harder to maintainmore susceptible to change, harder to maintain

there is a lot of work involved- speed and accuracy speed and accuracy of tool useof tool use is very important is very important

usually there is more verification that can(and perhaps should) be done- automation can lead to better testing (not guaranteed!)automation can lead to better testing (not guaranteed!)

Page 24: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Content

Types of CAST tool

Why capture/replay is not test automation

Automating and testing are separate skills

Best practice

Tool support

1 2

4 5

3

6

ISTQB / ISEB Foundation Exam Practice

Page 25: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Effort to automate

The effort required to automate any one test varies greatly- typically between 2 and 10 times the manual test efforttypically between 2 and 10 times the manual test effort

and depends on:- tool, skills, environment and software under testtool, skills, environment and software under test- existing manual test process which may be:existing manual test process which may be:

• unscripted manual testingunscripted manual testing

• scripted (vague) manual testingscripted (vague) manual testing

• scripted (detailed) manual testingscripted (detailed) manual testing

Page 26: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Unscripted manual testing

Step 4: checkit worked OK

“Try this”“Try that”

“What about ...”“What if ...”

Step 3: enter the inputsStep 2: thinkup specific

inputs

Step 1: identifyconditionsto test

WizzoComputer

Page 27: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

WizzoComputer

Step Input Expected Result Pass1 Run up Scribble Document menu displayed2 Open file with sorted list Menus displayed3 Select Add items to List Item box displayed4 Add some items to List Items added in order5 Move an item Item moved, list is unsorted6 Add an item Item added at end of List7 Delete item from List Item deleted8 Delete item not in List Error message displayed

9 Save changes in new file New file created

Scripted (vague) manual testing

Step 4: checkit worked OK

Step 3: enter the inputsStep 2: thinkup specific

inputs

Step 1: readwhat to do

Page 28: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Step Input Expected Result Pass1 Run up Scribble Document menu displayed2 Open file with sorted list Menus displayed3 Select Add items to List Item box displayed4 Add two items to List Items added in order5 Move an item Item moved, list is unsorted6 Add an item Item added at end of List7 Delete item from List Item deleted8 Delete item not in List Error message displayed

9 Save changes in new file New file created

A vague manual test script

Page 29: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

WizzoComputer

Step Input Expected Result Pass1 Double click “Scribble”

icon.Scribble opened, List menudisabled.

2 Click on “File” menu. File menu appears, optionsenabled: Open, New, Exit.

3 Click on “Open” option. “Open” dialogue box listsdocument "countries.dcm" incurrent folder.

4 Select “countries.dcm”and click OK button.

“Open” dialogue boxremoved, file “countries.dcm”opened and displayed. Listmenu enabled.

Scripted (detailed) manual testing

Step 3: checkit worked OK

Step 2: enter the inputs

Step 1: readwhat to do

Page 30: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Content

Types of CAST tool

Why capture/replay is not test automation

Automating and testing are separate skills

Best practice

Tool support

1 2

4 5

3

6

ISTQB / ISEB Foundation Exam Practice

Page 31: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Don’t automate too much long term

as the test suite grows ever larger, so do the maintenance costs- maintenance effort is cumulative, benefits are notmaintenance effort is cumulative, benefits are not

the test suite takes on a life of its own- testers depart, others arrive, test suite grows larger testers depart, others arrive, test suite grows larger

nobody knows exactly what they all do … dare not nobody knows exactly what they all do … dare not throw away tests in case they’re importantthrow away tests in case they’re important

inappropriate tests are automated- automation becomes an end in itselfautomation becomes an end in itself

Page 32: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Maintain control

keep pruning- remove dead-wood: redundant, superceded, remove dead-wood: redundant, superceded,

duplicated, worn-outduplicated, worn-out- challenge new additions (what’s the benefit?)challenge new additions (what’s the benefit?)

measure costs & benefits- maintenance costsmaintenance costs- time or effort saved, faults found?time or effort saved, faults found?

Page 33: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Invest

commit and maintain resources- ““champion” to promote automationchampion” to promote automation- technical supporttechnical support- consultancy/adviceconsultancy/advice

scripting- develop and maintain librarydevelop and maintain library- data driven approach, lots of re-usedata driven approach, lots of re-use

Page 34: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Tests to automate

run many times- regression testsregression tests- mundanemundane

expensive to perform manually- time consuming and necessarytime consuming and necessary- multi-user tests, endurance/reliability testsmulti-user tests, endurance/reliability tests

difficult to perform manually- timing criticaltiming critical- complex / intricatecomplex / intricate

Automate

Page 35: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Tests not to automate

not run often- if no need (rather than expensive to run manually)if no need (rather than expensive to run manually)- one off tests (unless several iterations likely and build one off tests (unless several iterations likely and build

cost can be minimised)cost can be minimised) not important

- will not find serious problemswill not find serious problems usability tests

- do the colours look nice?do the colours look nice? some aspects of multi-media applications

Automate

Page 36: Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation

Summary: Key Points

There are many different types of tool support for testing, covering all areas of the life cycle.

Automation requires planning and up-front effort

Identify and adopt best practice

Tool support

1 2

4 5

3

6

ISTQB / ISEB Foundation Exam Practice