34
v2 March © 2015 Citrix | Confidential Graphical Test Planning (GTP) A Method for Real Impact David Bradley – Senior Test Process Lead For Questions, Contact [email protected]

Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

v2 March © 2015 Citrix | Confidential

Graphical Test Planning (GTP)A Method for Real Impact

David Bradley – Senior Test Process Lead For Questions, Contact [email protected]

Page 2: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

BIO

has more than twenty-five years of experience in thesoftware industry. Before becoming a professional tester at Citrix in 2007,he worked as a software engineer on a variety of embedded anddistributed systems, primarily for the defense sector. As the senior testprocess lead for the Desktop and Application Group at Citrix Systems,David has been involved in successfully delivering multiple test projectsusing Graphical Test Planning* (GTP). As a proponent of its use, heregularly provides talks and training on GTP to teams worldwide,challenging and changing their views on testing.

* Created by Hardeep Sharma in 2004

Copyright © Citrix Systems, Inc. All rights reserved.

Page 3: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Testing is ComplexContrary to what many people may think

Page 4: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

1,000,000’s lines of code

100’s of testers

10,000’s of test cases

100’s of components

10’s of products

Many, many environment configurationsMultiple geographical locations

1000’s requirements

… and more

Non-existent or rapidly changing requirements

Copyright © Citrix Systems, Inc. All rights reserved.

Page 5: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

Page 6: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

0

200

400

600

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Traditional

BU

GS

FOU

ND

Copyright © Citrix Systems, Inc. All rights reserved.

By dronepicr

Page 7: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Threading.Tasks;

using System.Windows;

namespace WpfApplication1

{

public partial class App : Application

{

}

}

ng Syst

ng Syst

ng Syst

Start

Release To Manufacturing

Final Function Build

ReleaseTo Test

Copyright © Citrix Systems, Inc. All rights reserved.

A

BBB

CCCCC

Page 8: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Solution - Early Test InvolvementProject start => Testing start

Page 9: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Start

A

BBB

CCCCC

Release To Manufacturing

Final Function Build

ReleaseTo Test

Copyright © Citrix Systems, Inc. All rights reserved.

By ESO (http://www.eso.org/public/images/ann13040a/) By Acagastya (Own work)

Page 10: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

Page 11: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

How - Build a model for TestObservable Behaviour Modelling

Page 12: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

• Electronic circuit diagrams

• Architectural blueprints

• CAD / CAM

• Software

Copyright © Citrix Systems, Inc. All rights reserved.

Page 13: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

- A measurable operator, or gauge, where the property of the system state can be determined by some sequence of operations.

or – The range of actions or response of the system in conjunction with its environment to various stimuli or inputs whether internal or external.

Copyright © Citrix Systems, Inc. All rights reserved.

Paraphrased from Wikipedia

Paraphrased from Wikipedia

Page 14: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

• User will be alerted to the current fuel level as the amount of fuel varies

• Kettle heats water so user can make hot beverages

• Spacecraft transport humans so they can explore the moon

Copyright NASA

Copyright © Citrix Systems, Inc. All rights reserved.

Page 15: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

• Example - World’s first hot drink vending system

Copyright © Citrix Systems, Inc. All rights reserved.

Page 16: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

Page 17: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

• Quick to change• Easily to move and add to• Many people can contribute

Page 18: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Hot drinks can be

provided to paying

customers

Customer can

choose tea or

coffee

Customers must

pay for drink

before receiving it

Customer can

enjoy the hot drink

Customer can

choose to sweeten

drink

Customer can

choose to add Milk

or cream

Customers can

choose what they

want to drink

Customer can

provide correct

amount

Drink will not be

provided until

customer supplies

enough money

Change can be

given when

customer overpays

Hot drink will be

made as

requested

Copyright © Citrix Systems, Inc. All rights reserved.

• Still quick and simple to update• Enables management of more

complex system models• Can span many files and pages• Stencils and templates are

publicly available

Page 19: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Hot drinks can be

provided to paying

customers

Customer can

choose tea or

coffee

Customers must

pay for drink

before receiving it

Customer can

enjoy the hot drink

Customer can

choose to sweeten

drink

Customer can

choose to add Milk

or cream

Customers can

choose what they

want to drink

Customer can

provide correct

amount

Drink will not be

provided until

customer supplies

enough money

Change can be

given when

customer overpays

Hot drink will be

made as

requested

Copyright © Citrix Systems, Inc. All rights reserved.

• NOT a list of requirements• NOT a list of features• NOT a functional specification• NOT a flow chart

Page 20: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Hot drinks can be

provided to paying

customers

Customer can

choose tea or

coffee

Customers must

pay for drink

before receiving it

Customer can

enjoy the hot drink

Customer can

choose to sweeten

drink

Customer can

choose to add Milk

or cream

Customers can

choose what they

want to drink

Customer can

provide correct

amount

Drink will not be

provided until

customer supplies

enough money

Change can be

given when

customer overpays

Hot drink will be

made as

requested

Warnings will be

given if there is not

enough change

available

Customer can get

a refund any time

before the drink is

made

Customer can

supply there own

cup

Customer can be

provided with a

cup

Hot drink will be

provided in a cup

All drinks will cost

the same

Customer can

choose other

drinks

Copyright © Citrix Systems, Inc. All rights reserved.

• To research & investigate

• Question requirements & design

• Discover inaccuracies & ambiguities

• Anticipate product bugs before code

Improve the system design

Page 21: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

Kettle heats water

so user can make

hot beverages

Kettle can heat

water to boiling

point

Kettle can be filled

and heat other

liquids

Kettle will not leak

Kettle must be

manually filled

with water

Water can be

easily emptied out

of the kettle

Heating of water

can be manually

stopped at any

point

Kettle can be

handled safely,

even when hot

Water can be

safely and

accurately poured

Flow rate of water

coming out of the

kettle will be

restricted

Heating of water

can be manually

started by user

• Hyperlinks provide navigation to other pages

• Keeps current page in focus and in context

Kettle

Page 22: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Can be easily filled

to different levels

Test ID:M+

Kettle must be

manually filled with

water

Test ID:M+

Can use filters to

improve the water

quality

User will be alerted

to level of water in

the kettle

Will show when

kettle is over filled

Will show when

kettle is under

filled

Will show level on

a graduated scale

Copyright © Citrix Systems, Inc. All rights reserved.

Kettle::KettleIsFilledManually

Page 23: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Can be easily filled

to different levels

Test ID:M+

Kettle must be

manually filled with

water

Test ID:M+

Can use filters to

improve the water

quality

User will beis

alerted to level of

water in the kettle

Will show when

kettle is over filled

Will show when

kettle is under

filled

Will show level on

a graduated scale

Structured Relationship Diagram Test Case Diagram

• Capture implementation details in TCD if necessary

Copyright © Citrix Systems, Inc. All rights reserved.

Kettle must be

manually filled with

water

A supply of

water is

available for

user to fill the

kettle

There must be

enough water

to overfill the

kettle

Check the level

indicates it is

below the

minimum

Kettle is empty

Add the minimum

amount of water to

kettle

Check the level

indicates it is at

the minimum

Check the level

indicates it is at

the maximum

Gradually add the

maximum amount

of water to kettle

Check the level

indicates it is

below the

minimum

Gradually add

more water

overfill the

kettle

Check the level

indication is

representative of

the amount of

water added

Check the level

indicates it is at

over the

maximum

Empty the

kettle

Stop adding water

when the

maximum amount

has been added

Page 24: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

Heating of water

will be

automatically

stopped so kettle

wont boil dry Will automatically

stop heating when

very little or no water

is present

Will automatically

stop heating when

water has boiled for a

short period

Kettle heats water

so user can make

hot beverages

Kettle can heat

water to boiling

point

Kettle can be filled

and heat other

liquids

Kettle will not leak

Kettle must be

manually filled

with water

Water can be

easily emptied out

of the kettle

Heating of water

can be manually

stopped at any

point

Kettle can be

handled safely,

even when hot

Water can be

safely and

accurately poured

Flow rate of water

coming out of the

kettle is restricted

Heating of water

can be manually

started by userUser will be visually

warned that kettle is

heating that water to

reduce chances of

burns

Kettle

Page 25: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

XenDesktop allows

remote access to

Windows

machines

Windows

machines can be

virtual machines

Windows

machines can be

physical machines

Full desktop

sessions can be

accessed by users

Application only

sessions can be

accessed by users

Machines can

have server or

client OSes

Citrix Receiver is

required to

connect to a

session

Receiver can be

run on many

different platforms

Session

experience must

be as good as

local experience

XenDesktop can

be easily managed

and administered Administration

can be delegated

to different

admins

Access to

XenDesktop must

be secure

Machines can be

in a datacenter

Machines can be

in the cloud

Machines will

be provisioned

when needed

This example was

created solely for the

purposes of this

presentation and is not

representative in any

way of the actual Citrix

XenDesktop model.

• 10,000’s behaviours• 1000’s pages• 100’s files • etc.

Copyright © Citrix Systems, Inc. All rights reserved.

XenDesktop

Page 26: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

The real impact of GTPTest are integral throughout the whole project

Page 27: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

Heating of water

will be

automatically

stopped so kettle

wont boil dry Will automatically

stops heating when

very little or no water

is present

Will automatically

stops heating when

water has boiled for a

short period

Kettle heats water

so user can make

hot beverages

Kettle can heat

water to boiling

point

Kettle can be filled

and heat other

liquids

Kettle will not leak

Kettle must be

manually filled

with water

Water can be

easily emptied out

of the kettle

Heating of water

can be manually

stopped at any

point

Kettle can be

handled safely,

even when hot

Water can be

safely and

accurately poured

Flow rate of water

coming out of the

kettle will be

restricted

Heating of water

can be manually

started by userUser will be visually

warned that kettle is

heating water to

reduce chances of

burns

Page 28: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

• Test against the confirmed behaviour

• NOT just testing the implementation

• Ensures the RIGHT product is built

• Don’t need to have test cases scripted

Copyright © Citrix Systems, Inc. All rights reserved.

Kettle heats water

so user can make

hot beverages

Kettle can heat

water to boiling

point

Kettle can be filled

and heat other

liquids

Kettle will not leak

Kettle must be

manually filled

with water

Water can be

emptied out of the

kettle

Heating of water

can be manually

stopped at any

point

Kettle can be

handled safely,

even when hot

Water can be

safely and

accurately poured

Flow rate of water

coming out of the

kettle will be

restricted

Heating of water

can be manually

started by user

Page 29: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

• Happens during SRD creation through branching of behaviour

• Manifests during SRD creation and captured as paths in TCDs

• Occurs when we refine our SRDs and TCDs to optimise test coverage

• Derived from branches in the SRD and defined as paths in the TCD

Page 30: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Copyright © Citrix Systems, Inc. All rights reserved.

© 2008 by Tomasz Sienicki

Page 31: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

0

100

200

300

400

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

TraditionalGTPB

UG

S FO

UN

D

CodeRelease To Test

Copyright © Citrix Systems, Inc. All rights reserved.

Page 32: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

GTP adds value to the business and customers

Copyright © Citrix Systems, Inc. All rights reserved.

Page 33: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

• Contact me directly at

• For additional information:

• If you are interested in a more hands on approach, we can make arrangements to provide additional assistance.

• Documentation will be made publicly available in future.

Copyright © Citrix Systems, Inc. All rights reserved.

Page 34: Graphical Test Planning (GTP) - Nordic Testing Days · 2019. 11. 27. · distributed systems, primarily for the defense sector. As the senior test process lead for the Desktop and

Work better. Live better.