Académique Documents
Professionnel Documents
Culture Documents
Just-In-Time Testing
www.amibug.com
Robert Sabourin, 2010
Robert Sabourin
rsabourin@amibug.com
AmiBug.Com, Inc.
61 8th avenue
Roxboro, Quebec
Canada, H8Y 2W7
514-916-0440
Just-In-Time Testing
Robert Sabourin
President
AmiBug.Com, Inc.
Montreal, Canada
rsabourin@amibug.com
June 16, 2010
Slide 1
AmiBug.Com, Inc.
Overview
Welcome
Some Philosophy
Context Drivers
Turbulence
Skills
Bug Flow
Testing Ideas
Test Triage
Exploratory Testing
Slide 2
AmiBug.Com, Inc.
Slide 3
AmiBug.Com, Inc.
Slide 4
AmiBug.Com, Inc.
Just-In-Time Testing
Welcome
Slide 5
AmiBug.Com, Inc.
Just-In-Time Testing
Pain points?
What hurts?
How Much?
Slide 6
AmiBug.Com, Inc.
Just-In-Time Testing
Slide 7
AmiBug.Com, Inc.
Slide 8
AmiBug.Com, Inc.
Just-In-Time Testing
Some Philosophy
Slide 9
AmiBug.Com, Inc.
Fundamental Question
How do you know when you are finished?
Slide 10
AmiBug.Com, Inc.
Crosby on Quality
Quality is defined as conformance to
requirements
Quality is not a measure of
GOODNESS
Phil B. Crosby, Quality is Free
Slide 11
AmiBug.Com, Inc.
Joseph Juran
Slide 12
AmiBug.Com, Inc.
Gerald M. Weinberg
Quality is value to some person
Exploring Requirements
Quality Before Design
Dorset House
Slide 13
AmiBug.Com, Inc.
Edsger W. Dijkstra
Program testing can be used to show
the presence of bugs, but never to show
their absence
Slide 14
AmiBug.Com, Inc.
Watts S. Humphrey
A even the most
experienced software
engineer injects about one
defect for ten lines of code
A
Slide 15
AmiBug.Com, Inc.
C. Northcote Parkinson
Parkinsons Law:
Awork expands so as to fill the
time available for its
completionA
Slide 16
AmiBug.Com, Inc.
James Bach
Slide 17
AmiBug.Com, Inc.
Purpose of Testing
Common definition:
To find bugs before our customers do!
Broader definition:
The role of testing is to provide objective input to
facilitate business decisions!
Keeps stakeholders aware of all issues or
concerns that relate to shipping a product!
Slide 18
AmiBug.Com, Inc.
Bug Defined
To make our job more fun, whenever
we have a concern with software, we
call it a bug.
Slide 19
AmiBug.Com, Inc.
Just-In-Time Testing
Its all about people! (and the occasional
bug too)
Slide 20
AmiBug.Com, Inc.
10
Just-In-Time Testing
Context Drivers
Slide 21
AmiBug.Com, Inc.
Technology
Solutions
Organization
Corporate Structure
Team Structure
Roles and Responsibilities
June 16, 2010
Slide 22
AmiBug.Com, Inc.
11
Slide 23
AmiBug.Com, Inc.
Context Listeners
Find Sources
Monitor Drivers
Anticipate Change
React
Slide 24
AmiBug.Com, Inc.
12
Slide 25
AmiBug.Com, Inc.
Just-In-Time Testing
Turbulence
(.wav)
Slide 26
AmiBug.Com, Inc.
13
Just-In-Time Testing
Unprepared
Slide 27
AmiBug.Com, Inc.
Just-In-Time Testing
Sharpen Testing Skills
Thinker
Detective
Reporter
Diplomat
Negotiator
Cheer Leader
Pragmatist
June 16, 2010
Slide 28
AmiBug.Com, Inc.
14
Philosophy
We have precious little time to run tests!
We must always be prepared!
Slide 29
AmiBug.Com, Inc.
Time
Slide 30
AmiBug.Com, Inc.
15
Getting
Things Done
REQ
FLOW
BUG
FLOW
Development
Release
Cycle
Slide 31
AmiBug.Com, Inc.
BUILD
DAILY
Revised risks?
New test objectives?
Triage Testing
Prioritize Bugs
Track Progress
Smoke Test
FAST Test
Regression Test
Confirmation Test
Stress Testing
Slide 32
AmiBug.Com, Inc.
16
Slide 33
AmiBug.Com, Inc.
Yoda
Slide 34
AmiBug.Com, Inc.
17
Testing Ideas
List
Sort
Organize
Shuffle
Slide 35
AmiBug.Com, Inc.
Testing Ideas
Slide 36
AmiBug.Com, Inc.
18
Testing Ideas
Slide 37
AmiBug.Com, Inc.
Testing Ideas
Slide 38
AmiBug.Com, Inc.
19
Capabilities
Failure Modes
Quality Factors
Usage Scenarios
Creative Ideas
States
Data
Environments
White Box
Taxonomies
Slide 39
AmiBug.Com, Inc.
Testing Ideas
Investigative
approaches
We become truffle
snorting pigs and try to
find useful information in
all evidence we discover
We can even get good
ideas from out of date
sources
June 16, 2010
Slide 40
AmiBug.Com, Inc.
20
Testing Ideas
Capabilities
Use cases
Functional
requirements
Documented
requirements
Implicit requirements
Slide 41
AmiBug.Com, Inc.
Testing Ideas
Failure Modes
What can break?
Reaction to invalid input?
How does software
behave in constrained
environment?
Memory
Disk Space
Network Bandwidth
CPU capacity
Shared resources
Slide 42
AmiBug.Com, Inc.
21
Adaptability
Accessibility
Auditability
Availability
Continuity
Dependability
Expandability
Functionality
Integrity
Interoperability
Maintainability
Operability
Portability
Reliability
Re-usability
Scalability
Security
Serviceability
Testability
Usability
Slide 43
AmiBug.Com, Inc.
Testing Ideas
Usage Scenarios
Identify classes of
users
Identify how users
will use system
Describe scenarios
Use Story board or
similar approaches
Identify variations
June 16, 2010
Slide 44
AmiBug.Com, Inc.
22
Testing Ideas
Creative
approaches
Action verbs
Mind Maps
Soap Operas
Lateral Thinking
Slide 45
AmiBug.Com, Inc.
Testing Ideas
power up
service
needed
reset button
idle
coin inserted
inserting
coins
coin return
no cups
OR no coffee
OR sensor jam
cup removed
coin return
make
coffee
button pushed
right amount
entered
user
choose
State Models
June 16, 2010
Slide 46
AmiBug.Com, Inc.
23
Testing Ideas
Data
Flow
Structure
Create
Update
Change
Slide 47
AmiBug.Com, Inc.
Testing Ideas
Environment
Hardware
Software
Operating systems
Locales
Browsers
Plug-ins
Co-dependent software
Slide 48
AmiBug.Com, Inc.
24
Testing Ideas
White Box
Design
Internal structure
Code
Slide 49
AmiBug.Com, Inc.
Testing Ideas
Bug taxonomies
Collections of possible bugs
Appendix A of Testing
Computer Software, Kaner,
Falk, Nguyen
Boris Biezer Taxonomy Otto
Vinter manages
Shopping cart taxonomy Giri
Vijayaraghavan
Slide 50
AmiBug.Com, Inc.
25
Which test?
Impact estimation
benefit of implementation
consequence of implementation
benefit for not implementing
consequence of not implementing
Slide 51
AmiBug.Com, Inc.
Which test?
Test Idea Rejection What If?
Slide 52
AmiBug.Com, Inc.
26
Test Triage
Test Triage Meeting
Review Context
Business
Technical
Slide 53
AmiBug.Com, Inc.
Test Triage
Slide 54
AmiBug.Com, Inc.
27
Test Triage
Life of a test idea
a.
b.
c.
d.
Slide 55
AmiBug.Com, Inc.
Questions
Given state of project, state of business, state of
technology, our abilities, our experience and our
history, what we know and what we do not know,
what should we test next?
How much effort are we willing to spend
continuing to test this project?
Can we ship yet?
Slide 56
AmiBug.Com, Inc.
28
Slide 57
AmiBug.Com, Inc.
Time pressure
Should we skip a test?
If test failed could system still be of
value to some stakeholder?
If test was skipped could important
bugs have been otherwise found?
Slide 58
AmiBug.Com, Inc.
29
Guidelines and
Decisions
To each stakeholder
risk of failure
consequence of failure
value of success
how much certainty do we have
is it a wild guess or an absolute
truth?
Slide 59
AmiBug.Com, Inc.
Bottom Line
Slide 60
AmiBug.Com, Inc.
30
Slide 61
AmiBug.Com, Inc.
Mandate to explore
William Clark
Meriwether Lewis
Slide 62
AmiBug.Com, Inc.
31
Make intelligent
decisions
Take notes
about your
decisions
Map out
where you
have been
Others can
use the
result Slide 63
AmiBug.Com, Inc.
Slide 64
AmiBug.Com, Inc.
32
Exploration Notes
- Tabular
- Chronological
- Schematic
- Point form
- Concise
Slide 65
AmiBug.Com, Inc.
Exploratory Testing
Test Cases
Not known in advance
Defined & executed on the fly while you learn
about the product
Slide 66
AmiBug.Com, Inc.
33
Exploratory Testing
During test we must capture
Slide 67
AmiBug.Com, Inc.
An Exploratory Test
Process
Kick Off
Ensure HW and SW OK
All tools available
Chunk of 90 to 120 min
Test, Plan, Discover
Prepare
Wrap up
Collect all notes data
Run
Complete
Review
Reassess goals
Piece together map
June 16, 2010
Follow Up
Slide 68
AmiBug.Com, Inc.
34
Slide 69
AmiBug.Com, Inc.
Reject
Enter
Idea
Rejected
Prioritize
Test Later
Entered
Prioritize
Reorganize
Change
Test Now
Elaborate
Reconsider
Prioritize
Elaborated
Run
Do Not
Test
Test Ran
Slide 70
AmiBug.Com, Inc.
35
Comprehensive Test
Idea Workflow
Slide 71
AmiBug.Com, Inc.
Identify
Duplicate
Get
Idea
Redundant
Recapture
Exists
Capture
Gist
Changed
Refactor
Captured
Clarify
Punt
Clarified
Accept
Punted
Open
Prioritize
Reorganize
Decide
Approach
Prioritize
Test Now
Prioritize
Reconsider
Prioritize
Test Soon
To Be
Tested
Assign to
Elaborate
Assigned
to
Elaborate
Test Later
Elaborate
Elaborated
Do Not
Test
Assign to
Run
Assigned
to
Run
Run
Test Ran
Slide 72
AmiBug.Com, Inc.
36
Finished?
How do you know you are finished?
Slide 73
AmiBug.Com, Inc.
Slide 74
AmiBug.Com, Inc.
37
Slide 75
AmiBug.Com, Inc.
Thank You
Questions?
Slide 76
AmiBug.Com, Inc.
38
Just-In-Time
Testing Skills Exercise
First Visit
Holodeck
Level of Sophistication
Touch to Know
Roles
Stereotypes
Impressive
Period Costumes
Computer illusion
Distant perspective
Simulate environment
Images so perfect
He stole my goods
No - it is a ruse
Know victim
Saw plaque read the sign
Put plaque and rope together to derive conclusion
Deduce
Unexpected snakes
You didn't deduce anything
Reasoning
Definition of deduction
Variation on a theme
All he knows is stored in his memory bank
Original thought
It is not possible
Circuits would short out with an original mystery
It's elementary dear data
We will see whos cicuits will short out
COP OPENS SCENE - AUTHORITY FIGURE
Wear cool hats
Observations
Just-In-Time
Testing Ideas Exercise
www.amibug.com
Notes
Priority
Name
Technical Risk
Credibility
2
M
Technical Risk
Business
Importance
Bus Importance
Credibility
Source
Focus
Description
Date
Notes
Id
www.amibug.com
Priority
Name
Technical Risk
Credibility
M
Technical Risk
Business
Importance
Bus Importance
Credibility
Source
Focus
Description
Date
Id
www.amibug.com
Description
Focus
Id
www.amibug.com
Description
Focus
Id
Notes
Notes
Name
Priority
Technical Risk
Credibility
Technical Risk
Business
Importance
Bus Importance
Credibility
Source
Date
Name
Priority
Technical Risk
Credibility
Technical Risk
Business
Importance
Bus Importance
Credibility
Source
Date
Milk
Dark
Fudge
Hard Candy
White
Composition
Bitter
Semisweet
Swiss
Belge
Truffle
Praline
Bar
Traditional Chocolate
Configuration
Turtle
Bon Bon
Filled
Solid
Chocolates
Monitor status
Jelly
Viscosity
Semi Solid
Operator
Stops
Too Light
In Range
Batch reports
Weight
Auditor
Too Heavy
Two
Size
Chocolates
Three
Loader
Slow
Inputs
Conveyor Speed
High
Very Fast
Wrap-O-Matic
Users
Input Stream
Sparce
Ribbons
Empty Boxes
Boxed chocolates
Rejected chocolates
Regular
Random
Daily reports
Monthly reports
One
Medium
Enter manifests
Starts
Hollow
Contamination
Distribution
Health Inspector
Frequency
Dense
Emergency repair
Periodic maintenance
None
Maintainer
Thin
Wax
Paper
Tissue
None
Thread
Ribbons
Cord
Wire
Wide
Rectangular
Circular
Heart Shaped
Type
OEM Custom
Bag
Empty Boxes
Small
Medium
Size
Large
Single layer
Multiple layer
Configuration
Upgrades
Cleaning
Foil
String
Updates
Operator
Monitor status
Enter manifests
Batch reports
Auditor
Daily reports
Monthly reports
Chocolate Wrapping Paper
Chocolates
Loader
Ribbons
Empty Boxes
Box wrapping materials
Users
Wrap-O-Matic
Unloader
Boxed chocolates
Rejected chocolates
Contamination
Health Inspector
Maintainer
Updates
Upgrades
Cleaning
The Wrap-O-Matic
Contents
Section I: Introduction ............................................................................................................. 3
1.1
Purpose ........................................................................................................................ 3
1.2
Scope ........................................................................................................................... 3
1.3
1.4
References .................................................................................................................. 3
1.5
Overview...................................................................................................................... 3
2.2
Section III:
3.1
3.2
3.3
3.4
3.5
Section I:
Introduction
1.1
Purpose
The purpose of this Software Requirement Specifications document is to outline the requirements and
functionality of the Wrap-o-Matic, a machine designed to wrap chocolates.
1.2
Scope
The software this document describes is hereto referred to as WrapSoft, the software to be installed on the
embedded system that controls the physical hardware of the Wrap-o-Matic.
WrapSoft will control all functionality, timing, and reporting concerning the Wrap-o-Matic machine.
WrapSoft will allow operator manifest data entry describing a production run.
1.3
Composition
Configuration
Viscosity
Weight
Size
1.4
References
This document complies with IEEE Standard 830-1998 for Software Requirement Specifications.
1.5
Overview
The remainder of this document contains a full description of the functionality of the Wrap-o-Matic
followed by specific requirements of the system.
Product Perspective
The Wrap-o-Matic performs the packaging step of a system designed to create boxes of chocolates. The
inputs to the Wrap-o-Matic (including chocolates, manifest, papers, ribbons, and empty boxes) can be
created using any method or machinery desired, subject to the size and shape constraints of the configured
inputs to the Wrap-o-Matic. The Loader loads these inputs into the Wrap-o-Matic. The output, packaged
chocolates can then be further boxed and shipped to the appropriate location using any machinery desired.
The Unloader is responsible for unloading the boxed chocolates for further processing.
2.1.1
System Interfaces
The Wrap-o-Matic interfaces with the remainder of the chocolate box creation system at the loading and the
unloading area.
Loading Area:
Unloading Area:
The system external interfaces allowing for unloading boxed and rejected chocolates.
2.1.2
User Interfaces
Users interact with the Wrap-o-Matic through different interfaces depending on their roles:
Operator:
The Operator will interact with the console. WrapSoft provides functionality allowing the
operator to monitor the status of the Wrap-o-Matic, enter manifests, and start/stop the
machine.
Auditor:
The Auditor will interact with the console to request production reports. WrapSoft must
therefore provide functionality to create Daily, Monthly, and Batch reports.
Loader:
Unloader:
The Unloader will interact with the unloading area of the Wrap-o-Matic.
Health Inspector:
The Health Inspector will interact with the console. The Health Inspector can pause
the Wrap-o-Matic and remove and inspect completed boxes of chocolates.
Maintainer:
2.1.3
The Maintaner will interact with the Wrap-o-Matic to ensure proper functionality and
maintenance. The Wrap-O-Matic console enables the Maintainer to update or upgrade WrapO-Matic firmware.
Operations
Input Manifest:
In this mode, the Wrap-o-Matic will enable the operator to input the Manifest information.
Running:
In this mode, the Wrap-o-Matic is packaging the chocolates.
Stopped:
In this mode, the Wrap-o-Matic has stopped packaging chocolates.
Data Logging:
In the background at all times the reporting functions of WrapSoft are monitoring and storing data.
Backup
All stored data in the Wrap-O-Matic may be backed up on a third party storage device at user-configurable
intervals.
Restore
Wrap-O-Matic data may be restored from previously prepared backups.
Restart
In the case of a malfunction, the system can be restarted after error conditions or malfunctions are cleared.
2.2
Product Functions
2.2.1
The Wrap-o-Matic may takes individual chocolates and wraps them in paper and ties them with a ribbon.
The wrapped chocolates are then inserted into a box.
Paper available to wrap the chocolates:
Ribbon available to tie the chocolates:
2.2.2
Boxing Chocolates
Once the individual chocolates have been wrapped and/or ribboned (if specified), the Wrap-o-Matic inserts
the finished chocolates into the selected box. The Wrap-o-Matic is designed to box chocolates with the
following parameters:
Type:
Size:
Configuration:
2.2.3
Reporting
WrapSoft automatically performs all data logging and report creation in the background. This includes
Monthly, Weekly, and Batch Reports.
3.2
System Features
3.2.1
Loading of Chocolates & Additional Material
3.2.1.1
There are twenty inbound conveyor belts.
3.2.1.2
There are four input paper trays.
3.2.1.3
There are four input ribbon spools.
3.2.1.4
There is a loading area where the empty boxes are loaded by the loader.
3.2.2
Wrapping & Boxing of Chocolates
3.2.2.1
Chocolates can be wrapped in Thin, Foil, Wax or Tissue paper, or not wrapped at all.
3.2.2.2
Chocolates can be tied in Thread, String, Cord, Wire or Wide ribbon, or not tied at all.
3.2.2.3
Chocolates can be placed in boxes in the pattern as designated in the manifest.
3.2.2.4
Chocolates can be placed in Rectangular, Circular, Heart shaped or OEM Custom
boxes, or in a bag.
3.2.2.5
Chocolates can be placed in Small, Medium, or Large boxes.
3.2.2.6
Chocolates can be placed in boxes with Single or Multiple layers.
3.2.3
Output of Chocolates
3.2.3.1
Completed boxes of chocolates are transferred to the unloader.
3.2.4
Monitor Control of the Wrap-o-Matic
3.2.4.1
The monitor has a machine status panel providing information on the current state of the
Wrap-o-Matic: current manifest information, rate and frequency of chocolate
processing, and a constantly updated batch report. This is the main display tab.
3.2.4.2
The monitor has a button to start the machine (commence processing with current
settings).
3.2.4.3
The monitor has a button to stop the machine (immediately cease processing with
current settings).
3.2.4.4
If the monitor is stopped and subsequently started, processing resumes as previously.
3.2.4.5
If the monitor is stopped and subsequently reconfigured, the Wrap-o-Matic will clear all
other chocolates from the system prior to starting the process with the new manifest.
3.2.4.6
3.2.4.7
3.2.4.8
The monitor has a secondary tab for all reporting purposes. From this tab, the auditor
can select a date range, the type of report (Weekly, Monthly or Batch reports), and
generate the reports.
When a report is requested, it is displayed on the screen. On this report display there is a
button offering to email or print the report.
The monitor has a reset button that will completely purge all materials currently being
processed by the Wrap-o-Matic, and reset WrapSoft to the default manifest.
3.3
Performance Requirements
3.3.1
The Wrap-o-Matic supports and requires only one terminal and a single user.
3.3.2
There will not be user accounts. WrapSoft will have a simple password protected interface (see
3.5.3).
3.3.3
There are no strict timing requirements on the system, however all user actions must be realized
within 10 seconds of instruction initiation.
3.3.4
The Wrap-o-Matic should complete one box of chocolates per ten seconds.
3.4
Design Constraints
3.4.1
Standards Compliance
3.4.1.1
FDA Food processing standards conformance.
3.5
Decision Table
Wrapping & Ribboning Chocolates
Actions
Conditions
R01
R02
R03
R04
Viscosity
R05
R06
R07
R08
R09
R10
R11
R12
Hollow
Ribbon
Metallic
R13
R14
R15
Not Hollow
Other
None
Metallic or Other
None
Wrapper
Metallic
or
Paper
Tissue
None
Metallic
or
Paper
Tissue
None
Metallic
or
Paper
Tissue
None
Metallic
or
Paper
Tissue
None
Metallic
or
Paper
Tissue
None
Disallow
Rapid
Algorithm
Normal
Algorithm
Gentle
Algorithm
State Diagram
Operator
EnterManifest
ConfigureManifest
InputManifestInformation
Loader
InputMaterials
InputBoxes
InputRibbons
InputChocolates
InputPaper
Flow of Events:
Entry Conditions:
Exit Conditions:
InputManifestInformation
Initiated by Operator
Communicates with Loader
1. The Operator activates the Input Manifest Information function of the console
2. WrapSoft responds by presenting an options page. The page includes the choice of
configuring or creating a manifest
3. The Operator chooses the option to create a manifest and choose a name for it
4. Wrapsoft responds by presenting a form to the Operator. The form includes the following
options: chocolate, paper, ribbons, boxes.
5. The Operator chooses the materials needed by scrolling through the scroll down menu of
each option. Once completed the Operator submits the form.
6. Wrapsoft receives the form, saves it in the database and notifies the Loader by a pop-up
dialog
7. The Loader reviews the submitted information and makes sure all the materials are in stock.
The loader then sends a confirmation to the Operator to begin.
The Operator is logged into Wrapsoft
The Operator stopped the Wrap-o-Matic
The Operator receives acknowledgement OR
The Operator receives an explanation why transaction cannot be completed
1.
2.
3.
4.
Alternate Flow of Events:
Configuring an existing
Manifest
5.
6.
7.
8.
The Operator activates the Input Manifest Information function of the console
WrapSoft responds by presenting an options page. The page includes the choice of
configuring or creating a manifest
The Operator chooses the option to configure a manifest
Wrapsoft responds by presenting a page of existing manifests. The page includes all
existing manifest by their respective names.
The Operator chooses the manifest needed.
Wrapsoft responds by presenting a form with the existing selected options of the manifest
chosen. The Operator chooses the materials to be configured by scrolling through the
scroll down menu of the option needed to be changed. Once completed the Operator
submits the form
Wrapsoft receives the form, saves it in the database and notifies the Loader by a pop-up
dialog
The Loader reviews the submitted information and makes sure all the materials are in
stock. The loader then sends a confirmation to the Operator to begin.
1.
2.
3.
4.
Error Flow:
Material needed out of stock
5.
6.
7.
The Operator activates the Input Manifest Information function of the console
WrapSoft responds by presenting an options page. The page includes the choice of
configuring or creating a manifest
The Operator chooses the option to create a manifest and choose a name for it
Wrapsoft responds by presenting a form to the Operator. The form includes the following
options: chocolate, paper, ribbons, boxes.
The Operator chooses the materials needed by scrolling through the scroll down menu of
each option. Once completed the Operator submits the form.
Wrapsoft receives the form, saves it in the database and notifies the Loader by a pop-up
dialog
The Loader reviews the submitted information and makes sure all the materials are in
stock. One of the materials is out of stock. Therefore the loader sends an explanation
why the manifest cannot be completed at this time
Identifier
IDK00001
IDK00002
IDK00003
IDK00004
IDK00005
IDK00006
IDK00007
IDK00008
IDK00009
IDK00010
IDK00011
IDK00012
IDK00013
IDK00014
IDK00015
IDK00016
IDK00017
IDK00018
IDK00019
IDK00020
IDK00021
IDK00022
IDK00023
IDK00024
IDK00025
IDK00026
IDK00027
IDK00028
IDK00029
IDK00030
IDK00031
IDK00032
IDK00033
IDK00034
IDK00035
IDK00036
IDK00037
Just-In-Time
Purpose Exercise
Wrap-O-Matic
Robert Sabourin
President
AmiBug.Com, Inc.
Montreal, Canada
rsabourin@amibug.com
1.1
AmiBug.Com, Inc.
Wrap-O-Matic
Robert Sabourin ,
Software Evangelist
President
AmiBug.Com Inc.
Montreal, Quebec,
Canada
rsabourin@amibug.com
www.amibug.com
1.2
AmiBug.Com, Inc.
Wrap-O-Matic
New Product
First commercial release
Development is feature complete
Independent system test team
1.3
AmiBug.Com, Inc.
Wrap-O-Matic
New Business Model
We will be leasing the Wrap-O-Matic
During rush seasons customers will be
able to use multiple concurrent Wrap-OMatics
No features have been added
Input and output streams are shared
1.4
AmiBug.Com, Inc.
Wrap-O-Matic
Trade Show Demo
In advance of an upcoming trade show the
testing team is asked to identify possible
problems with the Wrap-O-Matic in order to
avoid them in a trade show context
Focus will be on showing off product to
Godiva
1.5
AmiBug.Com, Inc.
Wrap-O-Matic
New Feature
Ability to wrap individual chocolates with
ribbon has been added to the Wrap-OMatic.
Nothing else was supposed to have
changed.
1.6
AmiBug.Com, Inc.
Wrap-O-Matic
Bug Fix
A bug has been corrected in the paper
wrapping modules. The bug was related to
having multiple chocolates with different
paper types adjacent to each other in a box
of chocolates.
Nothing else was supposed to have
changed.
1.7
AmiBug.Com, Inc.
Wrap-O-Matic
Anticipated Health Inspection
A health inspector will be coming to audit
the Wrap-O-Matic. Special concern is
related to whether the machines
contaminate products.
We want to identify possible concerns in
advance.
1.8
AmiBug.Com, Inc.
Wrap-O-Matic
Performance Tuning
The Wrap-O-Matic has been modified to
improve throughput for the most commonly
occurring operational profiles.
No features of the product are supposed to
have changed.
1.9
AmiBug.Com, Inc.
Wrap-O-Matic
Competitive Product Comparison
A major competitor is releasing a product
(the Wrap-Zapper) designed to replace the
Wrap-O-Matic. They have great marketing
and aggressive sales teams but no track
record.
The testing team is challenged to find
problems, concerns, strengths and
weakness in the Wrap-Zapper.
1.10
AmiBug.Com, Inc.
Wrap-O-Matic
Localized Wrap-O-Matic
The new release of the Wrap-O-Matic has
been localized to allow operators to work in
their native languages and with locale
specific units of measure.
No features of the product are supposed to
have changed.
1.11
AmiBug.Com, Inc.
Wrap-O-Matic
Customer Acceptance Testing
A customer intends to purchase a Wrap-OMatic (as an off the shelf product).
The customer will run the acceptance tests
in a real production environment to confirm
the Wrap-O-Matic is acceptable.
Customer will not buy the Wrap-O-Matic if
the tests expose important concerns.
1.12
AmiBug.Com, Inc.
Wrap-O-Matic
Knowledge of Project context
Influences testing
ideas
priorities
oracles
1.13
AmiBug.Com, Inc.
Wrap-O-Matic
It is important to understand WHY a
product is being tested.
1.14
AmiBug.Com, Inc.
Just-In-Time
Testing Articles
by Robert Sabourin
I am always on the lookout for new testing ideas. Some of the most valuable test ideas come to mind when I am
actually testing. Here is a list of ten sources of test ideas I use on Just-in-Time (JIT) testing projects.
Capabilities. Capability-based test ideas focus on confirming that an application does what it is supposed to do.
Requirement and functional specifications can be used as a source of capability-based testing ideas.
Failure Modes. Failure mode-based test ideas are what if questions that often are inspired by how a system is
designed. I look at all of the objects, components, and interfaces in a system and ask myself, what if they break or
exhibit some sort of unanticipated failure. Failure modes can be the result of harshly constrained system resources
or forced error conditions.
Quality Factors. Quality factors are characteristics of a system that must be present for the project to be successful. Quality factors are the ilities including: usability, reliability, availability, scalability, and maintainability.
Quality factor test ideas often involve experiments to determine if a quality factor is present. Examples include
performance, load, and stress testing.
Usage Scenarios. A usage scenario test idea challenges whether a user can achieve his tasks with the software
under test. To paraphrase the Kennedy inaugural addresswe ask not what the software does for the user, but
rather we ask what the user does with the software. Usage scenario-based test ideas involve identifying who is
using the system, what he is trying to achieve, and in what context.
Creative Ideas. Creative test ideas come from many sources. I often use deliberate lateral thinking techniques (for
example, Edward De Bonos Six Thinking Hats) to come up with cool and effective tests. I also use metaphors to
come up with testing ideas. I wonder what would happen if the Tasmanian Devil used the system. Perhaps a Dr.
Seuss story inspires some testing ideas. Perhaps great detectives or movies. Pretty much anything goes here.
States. When testing an application, a state model helps me come up with test ideas. For example, a transaction
goes through many states of existence from creation through approval, payment, and delivery. I use state models
to identify test ideas such as getting to states, exercising state transitions, and navigating paths through the
system.
Data. Data is a rich source of testing ideas. Data flow paths can be exercised, different data sets can be used, data
can be cooked up and built from combinations of different data types, and stored procedures can be verified. Test
ideas can be developed to create, update, and remove any persistent data.
Environments. Exploring how the application behaves in different operating environments is a rich source of testing ideas. Environment test ideas can relate to varying the platform, hardware, software, operating system, coresident third-party software, and locales.
White Box. White box test ideas come from reviewing low-level design, code, and data schemas. White box test
ideas include exercising the code, decisions, and paths through the program. White box test ideas look at the work
products of developers to find ways to challenge the application under test.
Taxonomies. One of my favorite sources of test ideas is bug taxonomies. These are organized, documented collections of bugs. I peruse taxonomies randomly in search of interesting bugs. If the bug could happen in my application, I come up with a test idea to expose it. Three taxonomies I often use are:
Appendix A of Testing Computer Software (Kaner, Falk, and Nguyen)
Boris Beizer Taxonomy (Otto Vinter)
Shopping Cart Taxonomy (Giri Vijayaraghavan)
46
BETTER SOFTWARE
APRIL 2008
www.StickyMinds.com