Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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]
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.
Testing is ComplexContrary to what many people may think
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.
Copyright © Citrix Systems, Inc. All rights reserved.
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
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
Solution - Early Test InvolvementProject start => Testing start
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)
Copyright © Citrix Systems, Inc. All rights reserved.
How - Build a model for TestObservable Behaviour Modelling
• Electronic circuit diagrams
• Architectural blueprints
• CAD / CAM
• Software
Copyright © Citrix Systems, Inc. All rights reserved.
- 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
• 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.
• Example - World’s first hot drink vending system
Copyright © Citrix Systems, Inc. All rights reserved.
Copyright © Citrix Systems, Inc. All rights reserved.
Copyright © Citrix Systems, Inc. All rights reserved.
• Quick to change• Easily to move and add to• Many people can contribute
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
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
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
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
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
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
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
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
The real impact of GTPTest are integral throughout the whole project
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
• 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
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
Copyright © Citrix Systems, Inc. All rights reserved.
© 2008 by Tomasz Sienicki
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.
GTP adds value to the business and customers
Copyright © Citrix Systems, Inc. All rights reserved.
• 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.
Work better. Live better.