SlideShare una empresa de Scribd logo
1 de 80
Descargar para leer sin conexión
TF
AM Tutorial
4/30/13 8:30AM

Rob Sabourin: On Testing
Presented by:
Rob Sabourin
AmiBug.com

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Rob Sabourin
Rob Sabourin, P. Eng., has more than thirty years of management experience leading teams of software
development professionals. A well-respected member of the software engineering community, Rob has
managed, trained, mentored, and coached hundreds of top professionals in the field. He frequently speaks
at conferences and writes on software engineering, SQA, testing, management, and internationalization.
Rob wrote I am a Bug!, the popular software testing children's book; works as an adjunct professor of
software engineering at McGill University; and serves as the principle consultant (and president/janitor) of
AmiBug.Com, Inc. Contact Rob at rsabourin@amibug.com.
On Testing
Robert Sabourin
President
AmiBug.Com, Inc.
Montreal, Canada
rsabourin@amibug.com
27-Aug-12

© Robert Sabourin, 2012

Slide 1

AmiBug.Com, Inc.

On Testing
• Robert Sabourin ,
Software Evangelist
• President
• AmiBug.Com Inc.
• Montreal, Quebec,
Canada
• rsabourin@amibug.com

27-Aug-12

© Robert Sabourin, 2012

Slide 2

AmiBug.Com, Inc.

1
Testing in
Development Process
• Testing activities take place in all parts
of software development
• From requirement eliciting to final
shipment
• Testing is part of the development
process
• Testing is part of the company business
process
27-Aug-12

© Robert Sabourin, 2012

Slide 3

AmiBug.Com, Inc.

Types of testing and
definitions
• Validation and Verification
– Validate
• correctness or suitability
• vertical experts to confirm master results

– Verification
• confirm software operates as it is required to
• double check to ensure results match those
previously validated and if not then re-validate
them
27-Aug-12

© Robert Sabourin, 2012

Slide 4

AmiBug.Com, Inc.

2
Phase
Rational Unified
Process (RUP)

Inception

Elaboration

Construction

Transition

Requirements

Testing can take place as part
of each phase of development .

Core Workflow

Analysis

Design

Development

Testing

Maintenance

27-Aug-12

© Robert Sabourin, 2012

Slide 5

AmiBug.Com, Inc.

Phase

Requirements

Core Workflow

Analysis

Design

Development

Testing

Maintenance

27-Aug-12

Inception

Elaboration

Testing can take place as part of each core
workflow involved in development
organization.

Rational Unified
Process (RUP)

© Robert Sabourin, 2012

Construction

Transition

Slide 6

AmiBug.Com, Inc.

3
Testimonial
Black Box Testing
Beta Testing
Acceptance Testing
Localization Testing
Load Testing
Formal Inspections
Sanity Testing
Bottom Up Testing
Ad-hoc Testing
Bug Bashing
Exploratory Testing
Event Driven Testing
Data Driven Testing
Soap Opera Testing
Robustness Testing
Negative Testing
RAT Testing
Real World User Testing
Documentation Testing
Uninstall Testing
Link Testing
Milestone Testing
Dynamic Testing
Error-Handling Testing
Parallel Testing
Banana Testing
Incemental Testing
Storage Testing
String Testing
Defect Testing
Confirmation Testing
Distributed
Spot Check Testing
Interoperability
27-Aug-12 Testiing
Reliability Testing
Cluster Fail Over Testing

White Box Testing
Unit Testing
Clean Room Testing
Internationalization Testing
Stress Testing
Integrity Testing
Compliance Testing
End to End Testing
Heuristic Testing
Web Box Testing
Gorilla Testing
In Context Testing
Monkey Testing
Use Case Testing
Readiness Testing
Preventative Testing
TOFT Testing
Volume Testing
On-Line Help Testing
GUI Testing
Conversion Testing
Platform Specific Testing
Static Testing
Manual-Support Testing
Structural Testing
Defect Density Testing
Non-Incremental Testing
Analytic Testing
Live Testing
Object Oriented Testing
Component Testing
Behavioral Testing
e-Commerce Testing
Brow ser Testing
© Robert
Availability Testing
Bug Forensics

Grey Box Testing
Integration Testing
Platform/Configuration Testing
Usability Testing
Benchmark Testing
Regression Testing
Certification/Branding Testing
Back to Back Testing
User Testing
Protection Testing
Non-Intrusive Testing
Pilot Testing
Guerilla Testing
Forced-Error Tests
Destructive Testing
Class/Method Testing
Boundary Testing
Assertion Testing
Collateral Testing
Y2K Testing
DLL Testing
Penetration Testing
Life Cycle Testing
Intersystem Testing
Statistical Testing
Module Testing
Big Bang Testing
Risk Based Testing
Hardw are Testing
Environmental Testing
Bug Isolation
Railroading
Bug Filtering
HTML
Sabourin, 2012 Testing
Maintainability Testing

Alpha Testing
System Testing
Extreme Testing
Performance Testing
Function Testing
Smoke Testing
Top Dow n Testing
Automated Testing
President Testing
Improvisational Testing
Intrusive Testing
Sandw ich Testing
Data Verification Testing
Database Testing
Positive Testing
FAST Testing
DAT Testing
Compatibility Testing
Install Testing
Security Testing
Manual Testing
Recoverability Testing
Requirement Phase Testing
Control Testing
Fault-Based Testing
Basis Path Testing
Facility Testing
Exhaustive Testing
Softw are Testing
Production Testing
Contract Testing
Shotgunning
Snag Indentification
Server Testing
Slide 7
Spagetti Tests

AmiBug.Com, Inc.

Black Box Testing
• Tester views the
program as a black box
• Test is not concerned
about the internal
behavior and structure
of the program
• Test is designed to
observe and confirm
outcome of program in
response to input and
system state
27-Aug-12

© Robert Sabourin, 2012

Slide 8

AmiBug.Com, Inc.

4
White Box Testing
• Tester reviews the
programs behavior,
internal structure and
data flow
• Test design is based on
examination of code
• Used by developers as
code is written
• Assumes code required
• Does not confirm
requirements are met
27-Aug-12

© Robert Sabourin, 2012

Slide 9

AmiBug.Com, Inc.

Grey Box Testing
• “Looking Under Hood”
• Internals knowledge is
used in test design
– Effectiveness leads
to productive new
ideas for tests.
– Efficiency allows
tester to eliminate
redundant tests.
27-Aug-12

© Robert Sabourin, 2012

Slide 10

AmiBug.Com, Inc.

5
Unit Testing
• Testing of a unit of
software as soon as this
is available
• Unit is exercised against
its detailed design
• Ensuring that developed
logic is tested
• Often uses white box
methods
• Done by developers at
completion of task
27-Aug-12

© Robert Sabourin, 2012

Slide 11

AmiBug.Com, Inc.

Module Testing
• Myers “The Art of
Software Testing”
defines Module Testing
as:
– A process of testing
individual subprograms,
subroutines and
procedures in a program
– Test a program in small
blocks as they are built
– Type of Unit Testing
27-Aug-12

© Robert Sabourin, 2012

Slide 12

AmiBug.Com, Inc.

6
Component Testing
• Organize testing around
components or subsystem
– confirm operation of each
component, as they become
available, independently of
other components
– test interoperability of
different system components
27-Aug-12

© Robert Sabourin, 2012

Slide 13

AmiBug.Com, Inc.

Integration Testing
• Testing of combination
of two or more units of
software
• May involve black or
white box methods
• Testing done as soon as
integration takes place
• Testing typically done by
independent testers
working closely with
developers
27-Aug-12

© Robert Sabourin, 2012

Slide 14

AmiBug.Com, Inc.

7
System Testing
• Confirm that the total
software system
satisfies all of its
requirements
• Often mainly black-box
methods
• Done when all code and
integration is complete
• Simulates target
operational environment
27-Aug-12

© Robert Sabourin, 2012

Slide 15

AmiBug.Com, Inc.

Acceptance Testing
• Testing done by the
customer to confirm that
the software meets their
requirements
• Generally very well
defined in a contract
• Generally software must
pass this acceptance
testing before final
payment is made!
27-Aug-12

© Robert Sabourin, 2012

Slide 16

AmiBug.Com, Inc.

8
Alpha Testing
• Testing is performed
“in-house”
• After an intermediate
project milestone
• A build of the program is
delivered to Integration
or System Testers
• First testing done by
someone other that the
software developers
27-Aug-12

© Robert Sabourin, 2012

Slide 17

AmiBug.Com, Inc.

Beta Testing
• Testing is performed by
target customers or end
users
• All, or a usable subset,
of the functionality has
been implemented
• Can be done after or in
parallel with system
testing
• Danger - Sometimes
used for a sales demo
27-Aug-12

© Robert Sabourin, 2012

Slide 18

AmiBug.Com, Inc.

9
Live Testing
• System being tested is
operational
– used by the customer
– it has been paid for!

• Testing does not to
interfere with the system
• Measure
– performance
– resources
27-Aug-12

© Robert Sabourin, 2012

Slide 19

AmiBug.Com, Inc.

Usability Testing
• Testing done to help
design effective user
interfaces
• Part of software design
process
• Generally done by
human factors and
ergonomic experts
• Checklist approaches
used in system testing
27-Aug-12

© Robert Sabourin, 2012

Slide 20

AmiBug.Com, Inc.

10
•

•
•
•
•

Platform /
Configuration
Testing
Ensure functionality
operates as required on
different hardware and
software configurations
Different versions of
operating systems
Different locales
Different versions of
www browsers, plug-ins
Different versions of any
co-dependent software

27-Aug-12

© Robert Sabourin, 2012

Slide 21

AmiBug.Com, Inc.

Platform Specific
Testing
• Testing included in the
test plan related to the
specific application target
platform!

27-Aug-12

© Robert Sabourin, 2012

Slide 22

AmiBug.Com, Inc.

11
Browser Testing
• Common term in Web Application
Development for GUI (Graphical
User Interface) testing
– Test objects which operate within the
browser
– What happens when transactions are
interrupted by browser functionality
• backward, forward, refresh, go to URL
27-Aug-12

© Robert Sabourin, 2012

Slide 23

AmiBug.Com, Inc.

Performance Testing
• Measure applications
performance, verify
• Response time from
input event to outcome
• Throughput or volume
(transactions/time)
• Operational
characteristics
• Often automated!
27-Aug-12

© Robert Sabourin, 2012

Slide 24

AmiBug.Com, Inc.

12
Function Testing
• Verify that application
under test functions as
intended

27-Aug-12

© Robert Sabourin, 2012

Slide 25

AmiBug.Com, Inc.

User Testing
• for each category of user
exercise the system with real - or
very close to real data using real
usage scenarios

27-Aug-12

© Robert Sabourin, 2012

Slide 26

AmiBug.Com, Inc.

13
Facility Testing
• Often forgotten but very
relevant type of testing
(especially in Internet Era!)
– Confirm that each Facility (or
function or feature) of the
product has been implemented
– Can be done manually
– Cross check against objectives
of project and requirements (did
we skip one?)
27-Aug-12

© Robert Sabourin, 2012

Slide 27

AmiBug.Com, Inc.

Integrity Testing
• compliance to standards (software,
API, operational)
• data integrity

27-Aug-12

© Robert Sabourin, 2012

Slide 28

AmiBug.Com, Inc.

14
Stress Testing
• Testing operational
characteristics of
application within a
harshly constrained
environment
– Limit processor
speed
– Limit memory
– Limit disk space
– Diminish access to
shared resources
27-Aug-12

© Robert Sabourin, 2012

Slide 29

AmiBug.Com, Inc.

Load Testing
• Vary work loads of the
system and study
operational
characteristics
• How much traffic can the
server handle?
• How is performance
affected by varying
load?
• What about reliability
and availability?
27-Aug-12

© Robert Sabourin, 2012

Slide 30

AmiBug.Com, Inc.

15
Volume Testing
• Type of load testing in
which large amounts of
data are processed
through the system
• Study behavior of
system under test when
experiencing extreme
processing demands
• Generally automated!

27-Aug-12

© Robert Sabourin, 2012

Slide 31

AmiBug.Com, Inc.

Extreme Testing
• Testing done as part of
an extreme software
development process
• Testing is against story
board scenarios
• Tightly coupled with
development (one
iteration at a time)
• Interact with customer of
project for acceptance
testing
27-Aug-12

© Robert Sabourin, 2012

Slide 32

AmiBug.Com, Inc.

16
Localization Testing
• Testing to ensure
localization did not
immediate normal
operation of the
application
• Confirm translations,
linguistic locale
differences
• Currency, sorting
• Cultural concerns
27-Aug-12

© Robert Sabourin, 2012

Slide 33

AmiBug.Com, Inc.

In Context Testing
• Part of localization
testing
• Testing of translation in
real application context
• Make sure localization is
correct taken in real
context
• Example would be
incorrect translation of a
word depending on use
as verb or noun
27-Aug-12

© Robert Sabourin, 2012

Slide 34

AmiBug.Com, Inc.

17
Internationalization
Testing
• An internationalized
program is able to be
localized to operate with
many different
languages and data
representations
including those using
multi-byte character sets
• Does internationalized
software still behave as
it did originally?
27-Aug-12

© Robert Sabourin, 2012

Slide 35

AmiBug.Com, Inc.

Regression Testing
• previously executed tests are reexecuted against a new version of the
application
– have code changes broken something that
used to work
– have we introduced new defects
– typically first part of a testing iteration
– often automated
27-Aug-12

© Robert Sabourin, 2012

Slide 36

AmiBug.Com, Inc.

18
Smoke Testing
• a smoke test is run on a
new build of software to
make sure all functions
operate well enough to
continue testing
• usually run on a build
before it is given to
testers for integration or
system testing
• “turn on a new
appliance at the store”
27-Aug-12

© Robert Sabourin, 2012

Slide 37

AmiBug.Com, Inc.

RAT Testing
•

Release Acceptance Tests
– Smoke Tests or Build
Acceptance Tests
– Sample of important
functions tested with
rational data on a sane
typical configuration
– Used to determine if build
from development is
stable enough to start
testing
– Developers run the test
before release

27-Aug-12

© Robert Sabourin, 2012

Slide 38

AmiBug.Com, Inc.

19
Sanity Testing
•
•

a final test before a release
can be shipped
all normal operations and
scenarios are run once with
normal valid data
– install on typical platform
– run basic data
– is the release sane!
– are all components
there? do they work?

27-Aug-12

© Robert Sabourin, 2012

Slide 39

AmiBug.Com, Inc.

FAST Testing
•

Functional Acceptance
Simple Tests
– Wide in breadth, low in
depth
– Exercise every low level
function of the application
at least once, no
combinations with other
functions
– Do all controls exist, are
default states correct, tab
order, shortcuts,
accelerator keys, links,
27-Aug-12images
© Robert Sabourin, 2012

Slide 40

AmiBug.Com, Inc.

20
TOFT Testing
•

Task Oriented Functional
Testing
– Can the application do
useful tasks correctly?
– Structured around
product features
– Detailed testing against
specification and
reasonable user
expectations
• at least one test case
per feature or
function!

27-Aug-12

© Robert Sabourin, 2012

Slide 41

AmiBug.Com, Inc.

Readiness Testing

• Readiness testing is
similar to smoke
testing
– Is the build ready to
be processed or
used at the next
process step?
27-Aug-12

© Robert Sabourin, 2012

Slide 42

AmiBug.Com, Inc.

21
Compliance Testing
• do we conform to an
industry, national or
international
standard?
• do we use a
standard API?
(Posix compliant,
Win32, MFC)
27-Aug-12

© Robert Sabourin, 2012

Slide 43

AmiBug.Com, Inc.

End to End Testing
• the entire hardware/software
chain involved in the
execution of the function is
available
• all components, elements,
processes are used and a
transaction goes through the
entire system
27-Aug-12

© Robert Sabourin, 2012

Slide 44

AmiBug.Com, Inc.

22
Back to Back Testing
• running the same test
on similar
implementations or
versions and
comparing the results.

27-Aug-12

© Robert Sabourin, 2012

Slide 45

AmiBug.Com, Inc.

Benchmark Testing
• Compare performance
of system to a reference
target
• Various indices such as
Norton SI
• Compare against
reference source for
example comparing HP
printers with HP
compatible printers
27-Aug-12

© Robert Sabourin, 2012

Slide 46

AmiBug.Com, Inc.

23
Certification/Branding
Testing
• third party testing
done to confirm that
the application
conforms to criteria
for certification or
branding program
– Microsoft Windows
certification
27-Aug-12

© Robert Sabourin, 2012

Slide 47

AmiBug.Com, Inc.

Top Down Testing
• White box method
starting with main
program and
working down
through the
software.
• Stubs must be
created for units not
yet completed.
27-Aug-12

© Robert Sabourin, 2012

Slide 48

AmiBug.Com, Inc.

24
Bottom Up Testing
• White box method
starting with lower
level units.
• Driver units must be
created for units not
yet completed, each
time a new higher
level unit is added to
those already
tested.
27-Aug-12
© Robert Sabourin, 2012

Slide 49

AmiBug.Com, Inc.

Sandwich Testing
• Combining Bottom
Up and Top Down
approaches.
• Blend of stubs and
drivers depending
on part of software
being exercised.
27-Aug-12

© Robert Sabourin, 2012

Slide 50

AmiBug.Com, Inc.

25
Manual Testing
• Manual test execution

27-Aug-12

© Robert Sabourin, 2012

Slide 51

AmiBug.Com, Inc.

Automated Testing
• Automated test
execution

27-Aug-12

© Robert Sabourin, 2012

Slide 52

AmiBug.Com, Inc.

26
Protection Testing
•

Testing to find, or rule out,
the presence of faults which
could result in corruption,
denial of services,
unauthorized access or other
related side effects.
– Information protection
– Protection against
attackers
– Search for back doors
– Break in

27-Aug-12

© Robert Sabourin, 2012

Slide 53

AmiBug.Com, Inc.

Improvisational
Testing
• Similar to improv
music
– jazz

• Themes which can
be combined

27-Aug-12

© Robert Sabourin, 2012

Slide 54

AmiBug.Com, Inc.

27
Clean Room Testing
• Testing done as part of
a clean room software
engineering process
• High reliability
• Statistical analysis to
determine test cases by
sampling set of possible
input data and
conditions
• Analytic technique
27-Aug-12

© Robert Sabourin, 2012

Slide 55

AmiBug.Com, Inc.

Analytic Testing
• Test planning based on a
detailed analysis of all
application functions and
operations
• Test cases derived from a
detailed analysis of the technical
specification

27-Aug-12

© Robert Sabourin, 2012

Slide 56

AmiBug.Com, Inc.

28
Exploratory Testing

• Concurrent
– testing
– test design
– test planning

27-Aug-12

© Robert Sabourin, 2012

Slide 57

AmiBug.Com, Inc.

Ad-hoc Testing

• Random
• Not systematic

27-Aug-12

© Robert Sabourin, 2012

Slide 58

AmiBug.Com, Inc.

29
Heuristic Testing
•

•

Testing using heuristic
reasoning and taking
advantage of the technical
insight, critical thinking and
experience of the tester
Heuristic is defined as:
– of or relating to
exploratory problem
solving techniques that
use self-education

27-Aug-12

© Robert Sabourin, 2012

Slide 59

AmiBug.Com, Inc.

Event Driven Testing
• A type of automated
testing
• Test script execution is
triggered by an external
event or interrupt
• Run test A when event
B occurs
– Web Site Monitors
– Run consistency
check if DBMS is
80% full
27-Aug-12

© Robert Sabourin, 2012

Slide 60

AmiBug.Com, Inc.

30
Data Driven Testing
•

Test script or procedure in
which test data is separated
from test operations or
actions
– parameterized data
– one set of data per test
case
– run the same test script
with different data!
– data is deliberate, not
arbitrary
– testing is repeatable
– test can be automated

27-Aug-12

© Robert Sabourin, 2012

Slide 61

AmiBug.Com, Inc.

Capture Playback
Testing
• Tool is used to record
all input events of a
simulated user
• Test case is automated
by replaying all input
events
• Difficult to maintain!
• Can be used as a first
step in designing a data
driven test automation
script!
27-Aug-12

© Robert Sabourin, 2012

Slide 62

AmiBug.Com, Inc.

31
Data Verification
Testing
•

Testing data storage and
integrity in applications
which store and manipulate
data.
– is data valid or legal and
accurate
– is data of the correct type
– is data from the correct
record
– self verifying data
concepts

27-Aug-12

© Robert Sabourin, 2012

Slide 63

AmiBug.Com, Inc.

Forced-Error Tests
•
•

FETS
Intentionally drive software
into each possible error
condition
– Is error detected?
– Is error handled?
– Does system recover
gracefully?
– Is error condition
communicated?
– Any other problems
encountered?

27-Aug-12

© Robert Sabourin, 2012

Slide 64

AmiBug.Com, Inc.

32
Database Testing
• Identify database
related errors
• Errors in:
–
–
–
–

database servers
data warehouses
data marts
find bugs in SQL
statements

27-Aug-12

© Robert Sabourin, 2012

Slide 65

AmiBug.Com, Inc.

Positive Testing
• Does the application
perform what it is
expected to do
given known input
and operating state?
– The test result
should be “A”

27-Aug-12

© Robert Sabourin, 2012

Slide 66

AmiBug.Com, Inc.

33
Negative Testing
• Does the application not
perform what it is not
expected to do given
known input and
operating state?
– The test result
should not be “A”
– we are testing to
ensure it is not “A”
we do not care if it is
“B” or “C”!
27-Aug-12

© Robert Sabourin, 2012

Slide 67

AmiBug.Com, Inc.

Preventative Testing
• Testing used to avoid
introducing defects in
software
• We use preventative
testing before we code!
– Formal Inspections
– Design Reviews
– Walkthroughs
– Peer Code Reviews
27-Aug-12

© Robert Sabourin, 2012

Slide 68

AmiBug.Com, Inc.

34
Formal Inspections
• Structured method to
efficiently identify
defects in any
deliverable or artifact of
the software
development process
• Artifact is review by a
team and defects
identified are logged
• Tom Gilb - champions
technique
27-Aug-12

© Robert Sabourin, 2012

Slide 69

AmiBug.Com, Inc.

Object Oriented
Testing
• Testing Object Orient Software
at the object level
• Independent testing of each
object
• For each object
• methods testing
• class testing

• Combinations of objects
interoperating
27-Aug-12

© Robert Sabourin, 2012

Slide 70

AmiBug.Com, Inc.

35
Class/Method Testing
• OOP component
testing
– Testing classes of an
object
– Testing methods of a
class
– Independent of other
objects in the system
– White box method
27-Aug-12

© Robert Sabourin, 2012

Slide 71

AmiBug.Com, Inc.

Boundary Testing
•

•

•

Test with extreme input
values
– Lower and upper
boundaries
– Any edge conditions
– Above and below
extreme values
Test to generate extreme
output values
– May or may not require
extreme input values
– Zero divide, overflow
Record Sizes

27-Aug-12

© Robert Sabourin, 2012

Slide 72

AmiBug.Com, Inc.

36
DAT Testing
•

Deployment Acceptance
Testing
– Typical testing of web
application on fully
installed target hardware
and software or on a
staging site which is
equivalent to the actual
target or customer site.
– Functional test suite is
run to ensure operation is
OK before we go live

27-Aug-12

© Robert Sabourin, 2012

Slide 73

AmiBug.Com, Inc.

Compatibility Testing
•

Similar to platform of
configuration testing
– check that an application
functions correctly on
various hardware and
software environments

27-Aug-12

© Robert Sabourin, 2012

Slide 74

AmiBug.Com, Inc.

37
Documentation Testing
• Test software
against user and
reference
documentation
– factual and accurate
– screen images are
correct
– examples work
– marketing collateral
is correct
27-Aug-12

© Robert Sabourin, 2012

Slide 75

AmiBug.Com, Inc.

On-Line Help Testing
• Test functionality of
Help System
– is help factual and
accurate
– are we launching to
correct page
– does indexing work
– are links correct
– are tool tips correct
– are images correct
27-Aug-12

© Robert Sabourin, 2012

Slide 76

AmiBug.Com, Inc.

38
GUI Testing
•

Graphical User Interface
Testing
– How does GUI operate
against specification
• Navigation
– Menus, Dialogues,
Forms, Tables
• Images
• Conformance to Style
guide - Look and Feel
• Consistent to
environment

27-Aug-12

© Robert Sabourin, 2012

Slide 77

AmiBug.Com, Inc.

Security Testing
• Concern about the
unauthorized access to
all or part of the system,
are security policies and
requirements
implemented
• Protect against internal
and external threats
– Servers, Databases,
Clients
27-Aug-12

© Robert Sabourin, 2012

Slide 78

AmiBug.Com, Inc.

39
Penetration Testing
• Evaluate effectiveness of
network defenses
– External expertise
– Conducted before system
is live
– Continue on live system
– Work from outside
perimeter
– Simulate work of hackers
27-Aug-12

© Robert Sabourin, 2012

Slide 79

AmiBug.Com, Inc.

Link Testing
• Test all links
between all pages of
a web site
– Point to the correct
page?
– Is page accessible?
– Are references
relative or absolute?

• Several automated
link testing tools
27-Aug-12

© Robert Sabourin, 2012

Slide 80

AmiBug.Com, Inc.

40
Conversion Testing
• Data conversion occurs
when you movee from
one version of an
application to a
subsequent version
– Is all user data correctly
converted?
– Did we loose or any
records? Any fields?
– Initialized to correct values?
27-Aug-12

© Robert Sabourin, 2012

Slide 81

AmiBug.Com, Inc.

DLL Testing
•

Dynamic Link Library Testing
– Windows applications
often use system DLLs.
– Other applications can
install different versions
of DLLs for which the test
application may be
incompatible
– Microsoft Dependency
Walker (free!)
• provide a list of DLLs

27-Aug-12

© Robert Sabourin, 2012

Slide 82

AmiBug.Com, Inc.

41
Dynamic Testing
• Testing running
software
– System is operating
during testing
• Code is compiled,
linked, build, installed
• Binary image of code is
executing - running!

– Measure operational
performance
27-Aug-12

• Functionality
• Impact on environment Sabourin, 2012
© Robert

Slide 83

AmiBug.Com, Inc.

Static Testing
• Testing source code of
software
–
–
–
–

Reviews
Walkthroughs
Inspections
Static analysis (automatic or
manual)
– Study code and
development artifacts in
order to gauge correctness
27-Aug-12and identify defects Sabourin, 2012
© Robert

Slide 84

AmiBug.Com, Inc.

42
Error-Handling Testing
• Determine the ability of the
software being tested to
process incorrect transactions
– Are error conditions
recognized by the system?
– How does program respond
to unexpected conditions?
– What about errors
subsequently corrected by
end users?
27-Aug-12

© Robert Sabourin, 2012

Slide 85

AmiBug.Com, Inc.

Intersystem Testing
• Test to confirm two
systems or applications
communicate together
correctly
– What is one is down?
– Proper parameters
passed?
– Timing and synchronization
– Error handling
27-Aug-12

© Robert Sabourin, 2012

Slide 86

AmiBug.Com, Inc.

43
Control Testing
• Part of system testing to
ensure that controls on
application are correct:
–
–
–
–

accurate and complete data
authorized transactions
audit trail
integrity of processing

• Accounting systems as an
example!
– authentication, electronic
authorization

27-Aug-12

© Robert Sabourin, 2012

Slide 87

AmiBug.Com, Inc.

Big Bang Testing
• Synonymous to Nonincremental Testing
– Do not do Integration
Testing until the entire
system has been build
– Attack all at once
• Risky
• No leverage!
27-Aug-12

© Robert Sabourin, 2012

Slide 88

AmiBug.Com, Inc.

44
Production Testing
• Testing as part of the
production process
– Was an item
manufactured correctly
– Often called quality
control

27-Aug-12

© Robert Sabourin, 2012

Slide 89

AmiBug.Com, Inc.

Bug Isolation
• Critical testing activity
– Determines minimal/
consistent way to reproduce
a bug
– Facilitates debugging
– Provides valuable input to
developers

27-Aug-12

© Robert Sabourin, 2012

Slide 90

AmiBug.Com, Inc.

45
Confirmation Testing
• Typically:
– Tester finds the bug
– Product/Development
leads prioritize the bug
– Developer fixes the bug
– Tester confirms that the
fixed bug is really fixed in
the appropriate software
build
27-Aug-12

© Robert Sabourin, 2012

Slide 91

AmiBug.Com, Inc.

Behavioral Testing
• Testing based on what a
system is supposed to do
• Tests based on how a
system functions
• Tests based on how a
system is supposed to be
used
• Black box testing
27-Aug-12

© Robert Sabourin, 2012

Slide 92

AmiBug.Com, Inc.

46
Interoperability
Testing
• Ensure that software under test
interacts properly with target
platforms
– operating system
– equipment
– applications

• Same as platform or
configuration testing
27-Aug-12

© Robert Sabourin, 2012

Slide 93

AmiBug.Com, Inc.

Web Box Testing
• Commercial play on
the word
– White Box Testing

• Testing using web
based automated
workflow
management
27-Aug-12

© Robert Sabourin, 2012

Slide 94

AmiBug.Com, Inc.

47
HTML Testing
• Common term in Web
Application Development for
static analysis of Web page
HTML source
–
–
–
–

Is HTML constructed properly?
Are any tags missing?
Are links correct?
Is Syntax OK? Is it standard
compliant?

27-Aug-12

© Robert Sabourin, 2012

Slide 95

AmiBug.Com, Inc.

Server Testing
• Testing software objects
which run on the server
–
–
–
–

CGI components
Business tier
Data tier
Active Server Pages

27-Aug-12

© Robert Sabourin, 2012

Slide 96

AmiBug.Com, Inc.

48
Presidents Testing
•

•

believe it or not, in many
companies the boss or some
senior executive takes pride
in running software on their
desk just before ship date to
see if they can break it!
Some SQA teams clone the
Presidents PC and know his
favorite commands and
operations - this is run as a
special test!

27-Aug-12

© Robert Sabourin, 2012

Slide 97

AmiBug.Com, Inc.

Bug Bashing
• Testing done in a
blitz
• A lot of testing in a
very short period of
time

27-Aug-12

© Robert Sabourin, 2012

Slide 98

AmiBug.Com, Inc.

49
Gorilla Testing
• Unstructured way to
test
• Try everything you
can to crash or
break the
application

27-Aug-12

© Robert Sabourin, 2012

Slide 99

AmiBug.Com, Inc.

Monkey Testing
• “ six monkeys
pounding on six
typewriters at random
for a million years will
recreate all the works of
Isaac Asimov ” Noel
Nyman, Microsoft
– random data entry
– automated or manual
– dumb monkeys,
monkeys with savvy
27-Aug-12

© Robert Sabourin, 2012

Slide 100

AmiBug.Com, Inc.

50
Guerrilla Testing
• Wage a Guerrilla
attack on the
software being
tested, observe
behavior
– Do evil things
– Damage things
– Intentionally corrupt
data
27-Aug-12

© Robert Sabourin, 2012

Slide 101

AmiBug.Com, Inc.

Non-Intrusive Testing
• Black Box
• Does not interfere
with system under
test
• Leaves system in
same state after test

27-Aug-12

© Robert Sabourin, 2012

Slide 102

AmiBug.Com, Inc.

51
Intrusive Testing
• Interferes with
system under test to
allow for probing for
test data
• Interferes with
system under test to
simulate fault
• Leaves system in
different state after
test
27-Aug-12
© Robert Sabourin, 2012

Slide 103

AmiBug.Com, Inc.

Pilot Testing
• Similar to Beta testing
• Usually a first project
between two companies
(Pilot project)
• If Pilot Testing passes
then larger scale
deployment will take
place, otherwise the
business deal will be
reworked!
27-Aug-12

© Robert Sabourin, 2012

Slide 104

AmiBug.Com, Inc.

52
Hardware Testing
• Complete solution is
developed
– confirm hardware delivered
meets requirement
– confirm hardware is compatible
with software

• In embedded systems
– test hardware under
development
27-Aug-12

© Robert Sabourin, 2012

Slide 105

AmiBug.Com, Inc.

Software Testing
• In systems development
– Testing software deliverables of a
system

• In Software Quality Assurance
– Work associated with verifying that
software conforms to requirements
– Checking to see if software actual
does what someone expects it to do!

27-Aug-12

© Robert Sabourin, 2012

Slide 106

AmiBug.Com, Inc.

53
Defect Testing
• Testing with the express
purpose of identifying
defects in the software
systems
– As opposed to testing to
confirm that a requirement
is met!
– Defects are the root cause
of bugs!
27-Aug-12

© Robert Sabourin, 2012

Slide 107

AmiBug.Com, Inc.

Environmental Testing
• Testing to ensure system
operates in the target
environment
– vary environmental
characteristics
•
•
•
•
•
27-Aug-12

humidity
pressure
temperature (oven)
wind
shock and vibration
© Robert Sabourin, 2012

Slide 108

AmiBug.Com, Inc.

54
Contract Testing
• Use of third party contract
testing organization
– Must have reasonable
specification for subsystem
being tested
– Excellent for heavy metal
stress testing
– Excellent for highly
specialized expertise
– Communication issues
27-Aug-12

© Robert Sabourin, 2012

Slide 109

AmiBug.Com, Inc.

Distributed Testing
• Testing staff is split into
physically distributed
teams
• Center of excellence
• Localization in-context testing
• Merger between different
companies
• Pure Black Box
• Outsourcing
• Overnight across world
parallelism
27-Aug-12

© Robert Sabourin, 2012

Slide 110

AmiBug.Com, Inc.

55
Railroading
• Testing continues in the
original defined sequence of a
test suite when a new build
arrives
• Testing a new build starts
exactly where testing the
previous build left off
• Goal is to achieve acceptable
levels of test coverage
27-Aug-12

© Robert Sabourin, 2012

Slide 111

AmiBug.Com, Inc.

Shotgunning
• Distribute test suites
randomly across test
cycles
• Distribute test
configurations randomly
across test cycles
• Goal is to achieve
acceptable level of
coverage
27-Aug-12

© Robert Sabourin, 2012

Slide 112

AmiBug.Com, Inc.

56
Spot Check Testing
• Spot Checking
– Test a random sample of
functions of an application
– Sometimes used as a sanity test
where random functions as
selected and tested with sane
data.
– Sample randomly from a
population to make a probabilistic
statements about the population.
27-Aug-12

© Robert Sabourin, 2012

Slide 113

AmiBug.Com, Inc.

e-Commerce Testing
• Buzz word!
– Software Testing activities associate with
the development of a web based eCommerce system.
– Popular title used for end to end
transaction testing of an e-Commerce
system.

27-Aug-12

© Robert Sabourin, 2012

Slide 114

AmiBug.Com, Inc.

57
Bug Filtering Testing
• Testing with a prior knowledge
of which Prioritization decision
will have been made about
several broad classes of bugs
– For example spelling mistakes or
typos which do not impact
meaning, and are not any user
selectable dialogue window or
control will be assigned a low
priority.
27-Aug-12

© Robert Sabourin, 2012

Slide 115

AmiBug.Com, Inc.

Snag Identification
• A “snag” is a type of “bug”
typically captured by a
companies “IT” or “MIS”
department
• CAE of Montreal, identify snags
in IT systems, logged, prioritized
and corrected them
• Results of testing an IT system
are “snags”
27-Aug-12

© Robert Sabourin, 2012

Slide 116

AmiBug.Com, Inc.

58
Reliability Testing
• Testing to determine the
reliability of software
– Statistical samples
– Accelerated life testing
– Project MTBF
• Mean Time Between Failures

27-Aug-12

© Robert Sabourin, 2012

Slide 117

AmiBug.Com, Inc.

Availability Testing
• Testing to determine the
availability of software
– Can users connect?
– Does application respond to
input?
– How many failed attempts to
load a page occur as the system
is loaded?
– Can the system run 24/7?
27-Aug-12

© Robert Sabourin, 2012

Slide 118

AmiBug.Com, Inc.

59
Maintainability Testing
• Testing to determine whether the
software can be maintained after
commercial deployment
– Can field installations be upgraded?
– What it the associated PITA factor?
– Can code be modified by
developers not familiar with code
base?
– Inspections/Reviews may be
needed
27-Aug-12

© Robert Sabourin, 2012

Slide 119

AmiBug.Com, Inc.

Spaghetti Tests
• Term describing a
disorganized collection of
automated test scripts.
– Similar to Spaghetti Code
– Tests are hard to maintain
– Get more complex when
modified
– Hard to understand
– Lack design
27-Aug-12

© Robert Sabourin, 2012

Slide 120

AmiBug.Com, Inc.

60
Cluster Fail Over
Testing
• Multiple server systems
– Ensure that if, for any reason, one
node of a system fails that work is
distributed to other nodes
– Common in horizontally scalable
Web or e-Commerce applications

27-Aug-12

© Robert Sabourin, 2012

Slide 121

AmiBug.Com, Inc.

Bug Forensics
• When a computer system
abnormally stops or
unexpectedly fails, Bug
Forensics are the actions
taken to identify the exact
time, place and cause of
system death
• Quincy TV metaphor
27-Aug-12

© Robert Sabourin, 2012

Slide 122

AmiBug.Com, Inc.

61
Banana Testing
• Fruit product
distribution analogy.
• Software ripens at
the customer site!

27-Aug-12

© Robert Sabourin, 2012

Slide 123

AmiBug.Com, Inc.

Basis Path Testing
• Method introduced by
McCabe
– Create a flow graph
– Identify all unique executable
paths through the code being
tested (called the Basis Set)
– Derive one test case for each
path in the Basis Set
– White Box method
27-Aug-12

© Robert Sabourin, 2012

Slide 124

AmiBug.Com, Inc.

62
Incremental Testing
• Test modules as they
are integrated into a
system
– Form of Integration
Testing

27-Aug-12

© Robert Sabourin, 2012

Slide 125

AmiBug.Com, Inc.

Non-incremental
Testing
• Test modules
individually and then
when they are all
integrated together
– Unit Testing is done on
each Module
– System Testing is done
combining all Modules
– No Integration Testing is
done
27-Aug-12

© Robert Sabourin, 2012

Slide 126

AmiBug.Com, Inc.

63
Storage Testing
• Disk and memory resource
consumption
• Operation with insufficient
resources
• What if available memory
diminishes due to consumption
by other processes?
• Memory leaks
• Garbage collection?
27-Aug-12

© Robert Sabourin, 2012

Slide 127

AmiBug.Com, Inc.

Risk Based Testing
• Testing based on Risk
Analysis
– Spread resources across various
testing objectives based on a
function of commercial (business
or market) and technical risk
– More effort will be spent on
areas of higher risk
– Order of testing is based on risk
• test higher risk areas first
27-Aug-12

© Robert Sabourin, 2012

Slide 128

AmiBug.Com, Inc.

64
Exhaustive Testing
• Test every possible input set
– For any function identify,
enumerate and list every
possible input data set.
– Try every single case!

• Test every possible outcome
– For every possible outcome test
every possible input data set
which is expected to generate it!
27-Aug-12

© Robert Sabourin, 2012

Slide 129

AmiBug.Com, Inc.

String Testing
• Focus testing on problems in
typical user scenarios
– Test a “string” of operations

27-Aug-12

© Robert Sabourin, 2012

Slide 130

AmiBug.Com, Inc.

65
Recoverability Testing
• If the system fails can it
recover?
– Does user loose data
from active session
at time of failure?
– Does server restart?
– Which type of
failures do not
recover? Should
they?
27-Aug-12

© Robert Sabourin, 2012

Slide 131

AmiBug.Com, Inc.

Life Cycle Testing
• Continuous testing of
the system or software
through the entire
development process
– at predetermined
milestones results of
development process are
inspected
– identify defects early
– required well defined
process
27-Aug-12

© Robert Sabourin, 2012

Slide 132

AmiBug.Com, Inc.

66
Requirement Phase
Testing
• Early in development
process, confirm
requirements are correctly
collected and are accurately
articulated in a manner
consistent with the
customers needs
• Confirm requirements
conform to internal standards
• Confirm requirements are
testable
27-Aug-12

© Robert Sabourin, 2012

Slide 133

AmiBug.Com, Inc.

Manual-Support
Testing
•

Manual operations complement
automated operations in a system
– Are all manual procedures
documented correctly? For the
right person?
– Can manual procedures work
when software is in an
unexpected state?
– How does software react to
manual procedures run at the
wrong time?

27-Aug-12

© Robert Sabourin, 2012

Slide 134

AmiBug.Com, Inc.

67
Parallel Testing
•

Similar to “Back to Back” Testing
– Two versions of application
process same data or respond to
same input
– Example - Printer compatibility
testing
• Confirm same results based
on same input
– Can apply to all or part of an
application
• Compatible PCL but not
Imaging

27-Aug-12

© Robert Sabourin, 2012

Slide 135

AmiBug.Com, Inc.

Structural Testing
• White Box technique
• Structure of code used
to determine test data
and testing techniques
– Complexity
– Data Flow
– Execution, Program Flow
• statement, branch,
conditional, expression,
path
27-Aug-12

© Robert Sabourin, 2012

Slide 136

AmiBug.Com, Inc.

68
Statistical Testing
• Determine operational
reliability of a system
– How do faults effect the
failure rate?
– Statistical models are
used to generate test
data
– Estimate failure rates
27-Aug-12

© Robert Sabourin, 2012

Slide 137

AmiBug.Com, Inc.

Fault-Based Testing
• Demonstrate that
certain types of faults
are not in the program.
• Demonstrate that
certain types of tests
find faults which are
injected into a system.
27-Aug-12

© Robert Sabourin, 2012

Slide 138

AmiBug.Com, Inc.

69
Defect Density
Testing
•

Testing use to estimate the number of
defects remaining in software!
– Density is number of defects per
unit of code
– Defect seeding methods can be
used
• seed 100 (intentionally insert
bugs!)
• if you find 10 seeded and 20
non-seeded then you can
estimate the number of
remaining defects to be about
200

27-Aug-12

© Robert Sabourin, 2012

Slide 139

AmiBug.Com, Inc.

Soap Opera Testing
•

Used when testing applications
which calculate pension or
insurance benefits, or income tax
– fictitious events regarding
relationships and
circumstances of individuals
• marriage, remarriage,
birth, death, divorce, sex
change, hire, fire, quit,
rehire, leaves
– sequencing contrived but
possible

27-Aug-12

© Robert Sabourin, 2012

Slide 140

AmiBug.Com, Inc.

70
Use Case Testing
• Test procedure is
modeled after the Use
Cases which were used
to specify and design
the system
• Part of Rational Unified
Process (RUP)
27-Aug-12

© Robert Sabourin, 2012

Slide 141

AmiBug.Com, Inc.

Robustness Testing
• Robustness testing
attempts to measure the
degree to which a system
or component can
function correctly in the
presence of invalid inputs
or stressful environmental
conditions.

27-Aug-12

© Robert Sabourin, 2012

Slide 142

AmiBug.Com, Inc.

71
Destructive Testing
•

Destructive testing involves
stressing the application or
it’s environment until the
application fails and then
performing a root-cause
analysis
– measure and improve
reliability
– “
failure after 12,000
operations with 1000
users active ”

27-Aug-12

© Robert Sabourin, 2012

Slide 143

AmiBug.Com, Inc.

Real World User
Testing
• End user centric testing
– Simulate how real customers use the software
– This is not the same as a usage scenario
• Test is based on your knowledge of the typical
sequences of operations by end user
• Study logs or customer support info if available
• Uncovers some of the most useful bugs!

27-Aug-12

© Robert Sabourin, 2012

Slide 144

AmiBug.Com, Inc.

72
Assertion Testing
•

“Asserts”
– Added as in-line code
– Ensure that software is
operating in the correct
state with correct values
of certain variables,
tables, parameters or
other data
– Assertions often
implemented as
MACROS
– Generally disabled in
commercial builds

27-Aug-12

© Robert Sabourin, 2012

Slide 145

AmiBug.Com, Inc.

Collateral Testing
• Any software collateral
shipped to the end user
- or available via www
should be tested to
ensure it operates with
software
– Examples, Tutorials
– Macros
– Sample data
– Read me files
27-Aug-12

© Robert Sabourin, 2012

Slide 146

AmiBug.Com, Inc.

73
Install Testing
• Installation program can
be very complex to test
– different platforms
– different options
– over a previously
installed version
– not enough disk
space available
– missing or incorrect
third party software
27-Aug-12

© Robert Sabourin, 2012

Slide 147

AmiBug.Com, Inc.

Uninstall Testing
• Most applications come
with an Uninstall feature
– Is Uninstall clean?
– Is registry clean?
– Are user data files
left alone?
– Can all different
configurations and
options of install be
Uninstalled?
27-Aug-12

© Robert Sabourin, 2012

Slide 148

AmiBug.Com, Inc.

74
Y2K Testing
•

Year 2000 testing is still needed!
– Dominant software testing
issue up to and including Year
2000
– Testing of any date aware
aspect of the application to
confirm handling of forward
and backward time
calculations, dates, leap years
– Examples: age computation,
expiry dates

27-Aug-12

© Robert Sabourin, 2012

Slide 149

AmiBug.Com, Inc.

Milestone Testing
• Testing which must be passed
before software is considered
to have completed a milestone
– For all project milestones
stakeholders agree on
milestone passage criteria
and suitable testing which
confirms the achievement!
– Decide this early to avoid
conflict and politics!
27-Aug-12

© Robert Sabourin, 2012

Slide 150

AmiBug.Com, Inc.

75
Agile Testing

• Testing tasks which take
place as part of an Agile
development process

27-Aug-12

© Robert Sabourin, 2012

Slide 151

AmiBug.Com, Inc.

Mobile Testing

• Testing software
integrated into
handheld mobile
computing devices

27-Aug-12

© Robert Sabourin, 2012

Slide 152

AmiBug.Com, Inc.

76
Privacy Testing
• Ensure user data is
only used for
authorized purposes
• User data is kept
secret
• Ensure unauthorized
access of data does
not take place

27-Aug-12

© Robert Sabourin, 2012

Slide 153

AmiBug.Com, Inc.

Checking

• Confirmation
• Automatable

27-Aug-12

© Robert Sabourin, 2012

Slide 154

AmiBug.Com, Inc.

77
Story Testing

• Acceptance tests of
user stories
• Fit criteria
• Business facing tests

27-Aug-12

© Robert Sabourin, 2012

Slide 155

AmiBug.Com, Inc.

Thank You

• Questions?

27-Aug-12

© Robert Sabourin, 2012

Slide 156

AmiBug.Com, Inc.

78

Más contenido relacionado

La actualidad más candente

Agile vs. DevOps for Continuous Testing: How to Optimize Your Pipeline
Agile vs. DevOps for Continuous Testing: How to Optimize Your PipelineAgile vs. DevOps for Continuous Testing: How to Optimize Your Pipeline
Agile vs. DevOps for Continuous Testing: How to Optimize Your PipelinePerfecto by Perforce
 
How to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsHow to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsPerfecto by Perforce
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonQA or the Highway
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectTechWell
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Varun Sharma
 
The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyTechWell
 
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...Sauce Labs
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarQASymphony
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation ArchitectureErdem YILDIRIM
 
Continuous Testing in Vegas
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegasjaredrrichardson
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practicesDr Ganesh Iyer
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project reportKapil Rajpurohit
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013TEST Huddle
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...ChithraCegon
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New NormalTechWell
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestDenim Group
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsKMS Technology
 

La actualidad más candente (20)

Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Agile vs. DevOps for Continuous Testing: How to Optimize Your Pipeline
Agile vs. DevOps for Continuous Testing: How to Optimize Your PipelineAgile vs. DevOps for Continuous Testing: How to Optimize Your Pipeline
Agile vs. DevOps for Continuous Testing: How to Optimize Your Pipeline
 
How to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsHow to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOps
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave Sadlon
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
 
The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing Strategy
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
 
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Continuous Testing in Vegas
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegas
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and Tools
 

Destacado

Building Hyperproductive Agile Teams: Leveraging What Science Knows
Building Hyperproductive Agile Teams: Leveraging What Science KnowsBuilding Hyperproductive Agile Teams: Leveraging What Science Knows
Building Hyperproductive Agile Teams: Leveraging What Science KnowsTechWell
 
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and MoreThe Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and MoreTechWell
 
The Agile Tester’s Mindset
The Agile Tester’s MindsetThe Agile Tester’s Mindset
The Agile Tester’s MindsetTechWell
 
Reports of the Death of Testing Have Been Greatly Exaggerated
Reports of the Death of Testing Have Been Greatly ExaggeratedReports of the Death of Testing Have Been Greatly Exaggerated
Reports of the Death of Testing Have Been Greatly ExaggeratedTechWell
 
Distributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You CanDistributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You CanTechWell
 
Building Quality In
Building Quality InBuilding Quality In
Building Quality InTechWell
 
Building a Team Backlog: The Power of Retrospectives
Building a Team Backlog: The Power of RetrospectivesBuilding a Team Backlog: The Power of Retrospectives
Building a Team Backlog: The Power of RetrospectivesTechWell
 
Seven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software ManagersSeven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software ManagersTechWell
 
Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In
Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-InHybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In
Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-InTechWell
 
Cutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce WebsitesCutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce WebsitesTechWell
 
Creative Techniques for Discovering Test Ideas
Creative Techniques for Discovering Test IdeasCreative Techniques for Discovering Test Ideas
Creative Techniques for Discovering Test IdeasTechWell
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing ProfessionalsTechWell
 
Team Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTeam Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTechWell
 

Destacado (14)

Building Hyperproductive Agile Teams: Leveraging What Science Knows
Building Hyperproductive Agile Teams: Leveraging What Science KnowsBuilding Hyperproductive Agile Teams: Leveraging What Science Knows
Building Hyperproductive Agile Teams: Leveraging What Science Knows
 
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and MoreThe Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
 
The Agile Tester’s Mindset
The Agile Tester’s MindsetThe Agile Tester’s Mindset
The Agile Tester’s Mindset
 
Reports of the Death of Testing Have Been Greatly Exaggerated
Reports of the Death of Testing Have Been Greatly ExaggeratedReports of the Death of Testing Have Been Greatly Exaggerated
Reports of the Death of Testing Have Been Greatly Exaggerated
 
Distributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You CanDistributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You Can
 
Building Quality In
Building Quality InBuilding Quality In
Building Quality In
 
Building a Team Backlog: The Power of Retrospectives
Building a Team Backlog: The Power of RetrospectivesBuilding a Team Backlog: The Power of Retrospectives
Building a Team Backlog: The Power of Retrospectives
 
Seven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software ManagersSeven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software Managers
 
Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In
Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-InHybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In
Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In
 
Cutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce WebsitesCutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce Websites
 
Creative Techniques for Discovering Test Ideas
Creative Techniques for Discovering Test IdeasCreative Techniques for Discovering Test Ideas
Creative Techniques for Discovering Test Ideas
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing Professionals
 
W18
W18W18
W18
 
Team Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTeam Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing Stories
 

Similar a Rob Sabourin: On Testing

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...XBOSoft
 
The Tester's Role in Agile Planning
The Tester's Role in Agile PlanningThe Tester's Role in Agile Planning
The Tester's Role in Agile PlanningTechWell
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"GoIT
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testingsankalpkumarsahoo174
 
An Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessAn Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessTechWell
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams Synerzip
 
The Tester’s Role in Agile Planning
The Tester’s Role in Agile PlanningThe Tester’s Role in Agile Planning
The Tester’s Role in Agile PlanningTechWell
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAnuraj S.L
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwarePerforce
 

Similar a Rob Sabourin: On Testing (20)

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Course Slides.pdf
Course Slides.pdfCourse Slides.pdf
Course Slides.pdf
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
 
Software testing
Software testingSoftware testing
Software testing
 
The Tester's Role in Agile Planning
The Tester's Role in Agile PlanningThe Tester's Role in Agile Planning
The Tester's Role in Agile Planning
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Software testing
Software testingSoftware testing
Software testing
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
Automate you Appium test like a pro!
Automate you Appium test like a pro!Automate you Appium test like a pro!
Automate you Appium test like a pro!
 
An Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessAn Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile Success
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Tabara testare adrian matei
Tabara testare adrian mateiTabara testare adrian matei
Tabara testare adrian matei
 
The Tester’s Role in Agile Planning
The Tester’s Role in Agile PlanningThe Tester’s Role in Agile Planning
The Tester’s Role in Agile Planning
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty Software
 

Más de TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

Más de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Último

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Rob Sabourin: On Testing

  • 1. TF AM Tutorial 4/30/13 8:30AM Rob Sabourin: On Testing Presented by: Rob Sabourin AmiBug.com Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Rob Sabourin Rob Sabourin, P. Eng., has more than thirty years of management experience leading teams of software development professionals. A well-respected member of the software engineering community, Rob has managed, trained, mentored, and coached hundreds of top professionals in the field. He frequently speaks at conferences and writes on software engineering, SQA, testing, management, and internationalization. Rob wrote I am a Bug!, the popular software testing children's book; works as an adjunct professor of software engineering at McGill University; and serves as the principle consultant (and president/janitor) of AmiBug.Com, Inc. Contact Rob at rsabourin@amibug.com.
  • 3. On Testing Robert Sabourin President AmiBug.Com, Inc. Montreal, Canada rsabourin@amibug.com 27-Aug-12 © Robert Sabourin, 2012 Slide 1 AmiBug.Com, Inc. On Testing • Robert Sabourin , Software Evangelist • President • AmiBug.Com Inc. • Montreal, Quebec, Canada • rsabourin@amibug.com 27-Aug-12 © Robert Sabourin, 2012 Slide 2 AmiBug.Com, Inc. 1
  • 4. Testing in Development Process • Testing activities take place in all parts of software development • From requirement eliciting to final shipment • Testing is part of the development process • Testing is part of the company business process 27-Aug-12 © Robert Sabourin, 2012 Slide 3 AmiBug.Com, Inc. Types of testing and definitions • Validation and Verification – Validate • correctness or suitability • vertical experts to confirm master results – Verification • confirm software operates as it is required to • double check to ensure results match those previously validated and if not then re-validate them 27-Aug-12 © Robert Sabourin, 2012 Slide 4 AmiBug.Com, Inc. 2
  • 5. Phase Rational Unified Process (RUP) Inception Elaboration Construction Transition Requirements Testing can take place as part of each phase of development . Core Workflow Analysis Design Development Testing Maintenance 27-Aug-12 © Robert Sabourin, 2012 Slide 5 AmiBug.Com, Inc. Phase Requirements Core Workflow Analysis Design Development Testing Maintenance 27-Aug-12 Inception Elaboration Testing can take place as part of each core workflow involved in development organization. Rational Unified Process (RUP) © Robert Sabourin, 2012 Construction Transition Slide 6 AmiBug.Com, Inc. 3
  • 6. Testimonial Black Box Testing Beta Testing Acceptance Testing Localization Testing Load Testing Formal Inspections Sanity Testing Bottom Up Testing Ad-hoc Testing Bug Bashing Exploratory Testing Event Driven Testing Data Driven Testing Soap Opera Testing Robustness Testing Negative Testing RAT Testing Real World User Testing Documentation Testing Uninstall Testing Link Testing Milestone Testing Dynamic Testing Error-Handling Testing Parallel Testing Banana Testing Incemental Testing Storage Testing String Testing Defect Testing Confirmation Testing Distributed Spot Check Testing Interoperability 27-Aug-12 Testiing Reliability Testing Cluster Fail Over Testing White Box Testing Unit Testing Clean Room Testing Internationalization Testing Stress Testing Integrity Testing Compliance Testing End to End Testing Heuristic Testing Web Box Testing Gorilla Testing In Context Testing Monkey Testing Use Case Testing Readiness Testing Preventative Testing TOFT Testing Volume Testing On-Line Help Testing GUI Testing Conversion Testing Platform Specific Testing Static Testing Manual-Support Testing Structural Testing Defect Density Testing Non-Incremental Testing Analytic Testing Live Testing Object Oriented Testing Component Testing Behavioral Testing e-Commerce Testing Brow ser Testing © Robert Availability Testing Bug Forensics Grey Box Testing Integration Testing Platform/Configuration Testing Usability Testing Benchmark Testing Regression Testing Certification/Branding Testing Back to Back Testing User Testing Protection Testing Non-Intrusive Testing Pilot Testing Guerilla Testing Forced-Error Tests Destructive Testing Class/Method Testing Boundary Testing Assertion Testing Collateral Testing Y2K Testing DLL Testing Penetration Testing Life Cycle Testing Intersystem Testing Statistical Testing Module Testing Big Bang Testing Risk Based Testing Hardw are Testing Environmental Testing Bug Isolation Railroading Bug Filtering HTML Sabourin, 2012 Testing Maintainability Testing Alpha Testing System Testing Extreme Testing Performance Testing Function Testing Smoke Testing Top Dow n Testing Automated Testing President Testing Improvisational Testing Intrusive Testing Sandw ich Testing Data Verification Testing Database Testing Positive Testing FAST Testing DAT Testing Compatibility Testing Install Testing Security Testing Manual Testing Recoverability Testing Requirement Phase Testing Control Testing Fault-Based Testing Basis Path Testing Facility Testing Exhaustive Testing Softw are Testing Production Testing Contract Testing Shotgunning Snag Indentification Server Testing Slide 7 Spagetti Tests AmiBug.Com, Inc. Black Box Testing • Tester views the program as a black box • Test is not concerned about the internal behavior and structure of the program • Test is designed to observe and confirm outcome of program in response to input and system state 27-Aug-12 © Robert Sabourin, 2012 Slide 8 AmiBug.Com, Inc. 4
  • 7. White Box Testing • Tester reviews the programs behavior, internal structure and data flow • Test design is based on examination of code • Used by developers as code is written • Assumes code required • Does not confirm requirements are met 27-Aug-12 © Robert Sabourin, 2012 Slide 9 AmiBug.Com, Inc. Grey Box Testing • “Looking Under Hood” • Internals knowledge is used in test design – Effectiveness leads to productive new ideas for tests. – Efficiency allows tester to eliminate redundant tests. 27-Aug-12 © Robert Sabourin, 2012 Slide 10 AmiBug.Com, Inc. 5
  • 8. Unit Testing • Testing of a unit of software as soon as this is available • Unit is exercised against its detailed design • Ensuring that developed logic is tested • Often uses white box methods • Done by developers at completion of task 27-Aug-12 © Robert Sabourin, 2012 Slide 11 AmiBug.Com, Inc. Module Testing • Myers “The Art of Software Testing” defines Module Testing as: – A process of testing individual subprograms, subroutines and procedures in a program – Test a program in small blocks as they are built – Type of Unit Testing 27-Aug-12 © Robert Sabourin, 2012 Slide 12 AmiBug.Com, Inc. 6
  • 9. Component Testing • Organize testing around components or subsystem – confirm operation of each component, as they become available, independently of other components – test interoperability of different system components 27-Aug-12 © Robert Sabourin, 2012 Slide 13 AmiBug.Com, Inc. Integration Testing • Testing of combination of two or more units of software • May involve black or white box methods • Testing done as soon as integration takes place • Testing typically done by independent testers working closely with developers 27-Aug-12 © Robert Sabourin, 2012 Slide 14 AmiBug.Com, Inc. 7
  • 10. System Testing • Confirm that the total software system satisfies all of its requirements • Often mainly black-box methods • Done when all code and integration is complete • Simulates target operational environment 27-Aug-12 © Robert Sabourin, 2012 Slide 15 AmiBug.Com, Inc. Acceptance Testing • Testing done by the customer to confirm that the software meets their requirements • Generally very well defined in a contract • Generally software must pass this acceptance testing before final payment is made! 27-Aug-12 © Robert Sabourin, 2012 Slide 16 AmiBug.Com, Inc. 8
  • 11. Alpha Testing • Testing is performed “in-house” • After an intermediate project milestone • A build of the program is delivered to Integration or System Testers • First testing done by someone other that the software developers 27-Aug-12 © Robert Sabourin, 2012 Slide 17 AmiBug.Com, Inc. Beta Testing • Testing is performed by target customers or end users • All, or a usable subset, of the functionality has been implemented • Can be done after or in parallel with system testing • Danger - Sometimes used for a sales demo 27-Aug-12 © Robert Sabourin, 2012 Slide 18 AmiBug.Com, Inc. 9
  • 12. Live Testing • System being tested is operational – used by the customer – it has been paid for! • Testing does not to interfere with the system • Measure – performance – resources 27-Aug-12 © Robert Sabourin, 2012 Slide 19 AmiBug.Com, Inc. Usability Testing • Testing done to help design effective user interfaces • Part of software design process • Generally done by human factors and ergonomic experts • Checklist approaches used in system testing 27-Aug-12 © Robert Sabourin, 2012 Slide 20 AmiBug.Com, Inc. 10
  • 13. • • • • • Platform / Configuration Testing Ensure functionality operates as required on different hardware and software configurations Different versions of operating systems Different locales Different versions of www browsers, plug-ins Different versions of any co-dependent software 27-Aug-12 © Robert Sabourin, 2012 Slide 21 AmiBug.Com, Inc. Platform Specific Testing • Testing included in the test plan related to the specific application target platform! 27-Aug-12 © Robert Sabourin, 2012 Slide 22 AmiBug.Com, Inc. 11
  • 14. Browser Testing • Common term in Web Application Development for GUI (Graphical User Interface) testing – Test objects which operate within the browser – What happens when transactions are interrupted by browser functionality • backward, forward, refresh, go to URL 27-Aug-12 © Robert Sabourin, 2012 Slide 23 AmiBug.Com, Inc. Performance Testing • Measure applications performance, verify • Response time from input event to outcome • Throughput or volume (transactions/time) • Operational characteristics • Often automated! 27-Aug-12 © Robert Sabourin, 2012 Slide 24 AmiBug.Com, Inc. 12
  • 15. Function Testing • Verify that application under test functions as intended 27-Aug-12 © Robert Sabourin, 2012 Slide 25 AmiBug.Com, Inc. User Testing • for each category of user exercise the system with real - or very close to real data using real usage scenarios 27-Aug-12 © Robert Sabourin, 2012 Slide 26 AmiBug.Com, Inc. 13
  • 16. Facility Testing • Often forgotten but very relevant type of testing (especially in Internet Era!) – Confirm that each Facility (or function or feature) of the product has been implemented – Can be done manually – Cross check against objectives of project and requirements (did we skip one?) 27-Aug-12 © Robert Sabourin, 2012 Slide 27 AmiBug.Com, Inc. Integrity Testing • compliance to standards (software, API, operational) • data integrity 27-Aug-12 © Robert Sabourin, 2012 Slide 28 AmiBug.Com, Inc. 14
  • 17. Stress Testing • Testing operational characteristics of application within a harshly constrained environment – Limit processor speed – Limit memory – Limit disk space – Diminish access to shared resources 27-Aug-12 © Robert Sabourin, 2012 Slide 29 AmiBug.Com, Inc. Load Testing • Vary work loads of the system and study operational characteristics • How much traffic can the server handle? • How is performance affected by varying load? • What about reliability and availability? 27-Aug-12 © Robert Sabourin, 2012 Slide 30 AmiBug.Com, Inc. 15
  • 18. Volume Testing • Type of load testing in which large amounts of data are processed through the system • Study behavior of system under test when experiencing extreme processing demands • Generally automated! 27-Aug-12 © Robert Sabourin, 2012 Slide 31 AmiBug.Com, Inc. Extreme Testing • Testing done as part of an extreme software development process • Testing is against story board scenarios • Tightly coupled with development (one iteration at a time) • Interact with customer of project for acceptance testing 27-Aug-12 © Robert Sabourin, 2012 Slide 32 AmiBug.Com, Inc. 16
  • 19. Localization Testing • Testing to ensure localization did not immediate normal operation of the application • Confirm translations, linguistic locale differences • Currency, sorting • Cultural concerns 27-Aug-12 © Robert Sabourin, 2012 Slide 33 AmiBug.Com, Inc. In Context Testing • Part of localization testing • Testing of translation in real application context • Make sure localization is correct taken in real context • Example would be incorrect translation of a word depending on use as verb or noun 27-Aug-12 © Robert Sabourin, 2012 Slide 34 AmiBug.Com, Inc. 17
  • 20. Internationalization Testing • An internationalized program is able to be localized to operate with many different languages and data representations including those using multi-byte character sets • Does internationalized software still behave as it did originally? 27-Aug-12 © Robert Sabourin, 2012 Slide 35 AmiBug.Com, Inc. Regression Testing • previously executed tests are reexecuted against a new version of the application – have code changes broken something that used to work – have we introduced new defects – typically first part of a testing iteration – often automated 27-Aug-12 © Robert Sabourin, 2012 Slide 36 AmiBug.Com, Inc. 18
  • 21. Smoke Testing • a smoke test is run on a new build of software to make sure all functions operate well enough to continue testing • usually run on a build before it is given to testers for integration or system testing • “turn on a new appliance at the store” 27-Aug-12 © Robert Sabourin, 2012 Slide 37 AmiBug.Com, Inc. RAT Testing • Release Acceptance Tests – Smoke Tests or Build Acceptance Tests – Sample of important functions tested with rational data on a sane typical configuration – Used to determine if build from development is stable enough to start testing – Developers run the test before release 27-Aug-12 © Robert Sabourin, 2012 Slide 38 AmiBug.Com, Inc. 19
  • 22. Sanity Testing • • a final test before a release can be shipped all normal operations and scenarios are run once with normal valid data – install on typical platform – run basic data – is the release sane! – are all components there? do they work? 27-Aug-12 © Robert Sabourin, 2012 Slide 39 AmiBug.Com, Inc. FAST Testing • Functional Acceptance Simple Tests – Wide in breadth, low in depth – Exercise every low level function of the application at least once, no combinations with other functions – Do all controls exist, are default states correct, tab order, shortcuts, accelerator keys, links, 27-Aug-12images © Robert Sabourin, 2012 Slide 40 AmiBug.Com, Inc. 20
  • 23. TOFT Testing • Task Oriented Functional Testing – Can the application do useful tasks correctly? – Structured around product features – Detailed testing against specification and reasonable user expectations • at least one test case per feature or function! 27-Aug-12 © Robert Sabourin, 2012 Slide 41 AmiBug.Com, Inc. Readiness Testing • Readiness testing is similar to smoke testing – Is the build ready to be processed or used at the next process step? 27-Aug-12 © Robert Sabourin, 2012 Slide 42 AmiBug.Com, Inc. 21
  • 24. Compliance Testing • do we conform to an industry, national or international standard? • do we use a standard API? (Posix compliant, Win32, MFC) 27-Aug-12 © Robert Sabourin, 2012 Slide 43 AmiBug.Com, Inc. End to End Testing • the entire hardware/software chain involved in the execution of the function is available • all components, elements, processes are used and a transaction goes through the entire system 27-Aug-12 © Robert Sabourin, 2012 Slide 44 AmiBug.Com, Inc. 22
  • 25. Back to Back Testing • running the same test on similar implementations or versions and comparing the results. 27-Aug-12 © Robert Sabourin, 2012 Slide 45 AmiBug.Com, Inc. Benchmark Testing • Compare performance of system to a reference target • Various indices such as Norton SI • Compare against reference source for example comparing HP printers with HP compatible printers 27-Aug-12 © Robert Sabourin, 2012 Slide 46 AmiBug.Com, Inc. 23
  • 26. Certification/Branding Testing • third party testing done to confirm that the application conforms to criteria for certification or branding program – Microsoft Windows certification 27-Aug-12 © Robert Sabourin, 2012 Slide 47 AmiBug.Com, Inc. Top Down Testing • White box method starting with main program and working down through the software. • Stubs must be created for units not yet completed. 27-Aug-12 © Robert Sabourin, 2012 Slide 48 AmiBug.Com, Inc. 24
  • 27. Bottom Up Testing • White box method starting with lower level units. • Driver units must be created for units not yet completed, each time a new higher level unit is added to those already tested. 27-Aug-12 © Robert Sabourin, 2012 Slide 49 AmiBug.Com, Inc. Sandwich Testing • Combining Bottom Up and Top Down approaches. • Blend of stubs and drivers depending on part of software being exercised. 27-Aug-12 © Robert Sabourin, 2012 Slide 50 AmiBug.Com, Inc. 25
  • 28. Manual Testing • Manual test execution 27-Aug-12 © Robert Sabourin, 2012 Slide 51 AmiBug.Com, Inc. Automated Testing • Automated test execution 27-Aug-12 © Robert Sabourin, 2012 Slide 52 AmiBug.Com, Inc. 26
  • 29. Protection Testing • Testing to find, or rule out, the presence of faults which could result in corruption, denial of services, unauthorized access or other related side effects. – Information protection – Protection against attackers – Search for back doors – Break in 27-Aug-12 © Robert Sabourin, 2012 Slide 53 AmiBug.Com, Inc. Improvisational Testing • Similar to improv music – jazz • Themes which can be combined 27-Aug-12 © Robert Sabourin, 2012 Slide 54 AmiBug.Com, Inc. 27
  • 30. Clean Room Testing • Testing done as part of a clean room software engineering process • High reliability • Statistical analysis to determine test cases by sampling set of possible input data and conditions • Analytic technique 27-Aug-12 © Robert Sabourin, 2012 Slide 55 AmiBug.Com, Inc. Analytic Testing • Test planning based on a detailed analysis of all application functions and operations • Test cases derived from a detailed analysis of the technical specification 27-Aug-12 © Robert Sabourin, 2012 Slide 56 AmiBug.Com, Inc. 28
  • 31. Exploratory Testing • Concurrent – testing – test design – test planning 27-Aug-12 © Robert Sabourin, 2012 Slide 57 AmiBug.Com, Inc. Ad-hoc Testing • Random • Not systematic 27-Aug-12 © Robert Sabourin, 2012 Slide 58 AmiBug.Com, Inc. 29
  • 32. Heuristic Testing • • Testing using heuristic reasoning and taking advantage of the technical insight, critical thinking and experience of the tester Heuristic is defined as: – of or relating to exploratory problem solving techniques that use self-education 27-Aug-12 © Robert Sabourin, 2012 Slide 59 AmiBug.Com, Inc. Event Driven Testing • A type of automated testing • Test script execution is triggered by an external event or interrupt • Run test A when event B occurs – Web Site Monitors – Run consistency check if DBMS is 80% full 27-Aug-12 © Robert Sabourin, 2012 Slide 60 AmiBug.Com, Inc. 30
  • 33. Data Driven Testing • Test script or procedure in which test data is separated from test operations or actions – parameterized data – one set of data per test case – run the same test script with different data! – data is deliberate, not arbitrary – testing is repeatable – test can be automated 27-Aug-12 © Robert Sabourin, 2012 Slide 61 AmiBug.Com, Inc. Capture Playback Testing • Tool is used to record all input events of a simulated user • Test case is automated by replaying all input events • Difficult to maintain! • Can be used as a first step in designing a data driven test automation script! 27-Aug-12 © Robert Sabourin, 2012 Slide 62 AmiBug.Com, Inc. 31
  • 34. Data Verification Testing • Testing data storage and integrity in applications which store and manipulate data. – is data valid or legal and accurate – is data of the correct type – is data from the correct record – self verifying data concepts 27-Aug-12 © Robert Sabourin, 2012 Slide 63 AmiBug.Com, Inc. Forced-Error Tests • • FETS Intentionally drive software into each possible error condition – Is error detected? – Is error handled? – Does system recover gracefully? – Is error condition communicated? – Any other problems encountered? 27-Aug-12 © Robert Sabourin, 2012 Slide 64 AmiBug.Com, Inc. 32
  • 35. Database Testing • Identify database related errors • Errors in: – – – – database servers data warehouses data marts find bugs in SQL statements 27-Aug-12 © Robert Sabourin, 2012 Slide 65 AmiBug.Com, Inc. Positive Testing • Does the application perform what it is expected to do given known input and operating state? – The test result should be “A” 27-Aug-12 © Robert Sabourin, 2012 Slide 66 AmiBug.Com, Inc. 33
  • 36. Negative Testing • Does the application not perform what it is not expected to do given known input and operating state? – The test result should not be “A” – we are testing to ensure it is not “A” we do not care if it is “B” or “C”! 27-Aug-12 © Robert Sabourin, 2012 Slide 67 AmiBug.Com, Inc. Preventative Testing • Testing used to avoid introducing defects in software • We use preventative testing before we code! – Formal Inspections – Design Reviews – Walkthroughs – Peer Code Reviews 27-Aug-12 © Robert Sabourin, 2012 Slide 68 AmiBug.Com, Inc. 34
  • 37. Formal Inspections • Structured method to efficiently identify defects in any deliverable or artifact of the software development process • Artifact is review by a team and defects identified are logged • Tom Gilb - champions technique 27-Aug-12 © Robert Sabourin, 2012 Slide 69 AmiBug.Com, Inc. Object Oriented Testing • Testing Object Orient Software at the object level • Independent testing of each object • For each object • methods testing • class testing • Combinations of objects interoperating 27-Aug-12 © Robert Sabourin, 2012 Slide 70 AmiBug.Com, Inc. 35
  • 38. Class/Method Testing • OOP component testing – Testing classes of an object – Testing methods of a class – Independent of other objects in the system – White box method 27-Aug-12 © Robert Sabourin, 2012 Slide 71 AmiBug.Com, Inc. Boundary Testing • • • Test with extreme input values – Lower and upper boundaries – Any edge conditions – Above and below extreme values Test to generate extreme output values – May or may not require extreme input values – Zero divide, overflow Record Sizes 27-Aug-12 © Robert Sabourin, 2012 Slide 72 AmiBug.Com, Inc. 36
  • 39. DAT Testing • Deployment Acceptance Testing – Typical testing of web application on fully installed target hardware and software or on a staging site which is equivalent to the actual target or customer site. – Functional test suite is run to ensure operation is OK before we go live 27-Aug-12 © Robert Sabourin, 2012 Slide 73 AmiBug.Com, Inc. Compatibility Testing • Similar to platform of configuration testing – check that an application functions correctly on various hardware and software environments 27-Aug-12 © Robert Sabourin, 2012 Slide 74 AmiBug.Com, Inc. 37
  • 40. Documentation Testing • Test software against user and reference documentation – factual and accurate – screen images are correct – examples work – marketing collateral is correct 27-Aug-12 © Robert Sabourin, 2012 Slide 75 AmiBug.Com, Inc. On-Line Help Testing • Test functionality of Help System – is help factual and accurate – are we launching to correct page – does indexing work – are links correct – are tool tips correct – are images correct 27-Aug-12 © Robert Sabourin, 2012 Slide 76 AmiBug.Com, Inc. 38
  • 41. GUI Testing • Graphical User Interface Testing – How does GUI operate against specification • Navigation – Menus, Dialogues, Forms, Tables • Images • Conformance to Style guide - Look and Feel • Consistent to environment 27-Aug-12 © Robert Sabourin, 2012 Slide 77 AmiBug.Com, Inc. Security Testing • Concern about the unauthorized access to all or part of the system, are security policies and requirements implemented • Protect against internal and external threats – Servers, Databases, Clients 27-Aug-12 © Robert Sabourin, 2012 Slide 78 AmiBug.Com, Inc. 39
  • 42. Penetration Testing • Evaluate effectiveness of network defenses – External expertise – Conducted before system is live – Continue on live system – Work from outside perimeter – Simulate work of hackers 27-Aug-12 © Robert Sabourin, 2012 Slide 79 AmiBug.Com, Inc. Link Testing • Test all links between all pages of a web site – Point to the correct page? – Is page accessible? – Are references relative or absolute? • Several automated link testing tools 27-Aug-12 © Robert Sabourin, 2012 Slide 80 AmiBug.Com, Inc. 40
  • 43. Conversion Testing • Data conversion occurs when you movee from one version of an application to a subsequent version – Is all user data correctly converted? – Did we loose or any records? Any fields? – Initialized to correct values? 27-Aug-12 © Robert Sabourin, 2012 Slide 81 AmiBug.Com, Inc. DLL Testing • Dynamic Link Library Testing – Windows applications often use system DLLs. – Other applications can install different versions of DLLs for which the test application may be incompatible – Microsoft Dependency Walker (free!) • provide a list of DLLs 27-Aug-12 © Robert Sabourin, 2012 Slide 82 AmiBug.Com, Inc. 41
  • 44. Dynamic Testing • Testing running software – System is operating during testing • Code is compiled, linked, build, installed • Binary image of code is executing - running! – Measure operational performance 27-Aug-12 • Functionality • Impact on environment Sabourin, 2012 © Robert Slide 83 AmiBug.Com, Inc. Static Testing • Testing source code of software – – – – Reviews Walkthroughs Inspections Static analysis (automatic or manual) – Study code and development artifacts in order to gauge correctness 27-Aug-12and identify defects Sabourin, 2012 © Robert Slide 84 AmiBug.Com, Inc. 42
  • 45. Error-Handling Testing • Determine the ability of the software being tested to process incorrect transactions – Are error conditions recognized by the system? – How does program respond to unexpected conditions? – What about errors subsequently corrected by end users? 27-Aug-12 © Robert Sabourin, 2012 Slide 85 AmiBug.Com, Inc. Intersystem Testing • Test to confirm two systems or applications communicate together correctly – What is one is down? – Proper parameters passed? – Timing and synchronization – Error handling 27-Aug-12 © Robert Sabourin, 2012 Slide 86 AmiBug.Com, Inc. 43
  • 46. Control Testing • Part of system testing to ensure that controls on application are correct: – – – – accurate and complete data authorized transactions audit trail integrity of processing • Accounting systems as an example! – authentication, electronic authorization 27-Aug-12 © Robert Sabourin, 2012 Slide 87 AmiBug.Com, Inc. Big Bang Testing • Synonymous to Nonincremental Testing – Do not do Integration Testing until the entire system has been build – Attack all at once • Risky • No leverage! 27-Aug-12 © Robert Sabourin, 2012 Slide 88 AmiBug.Com, Inc. 44
  • 47. Production Testing • Testing as part of the production process – Was an item manufactured correctly – Often called quality control 27-Aug-12 © Robert Sabourin, 2012 Slide 89 AmiBug.Com, Inc. Bug Isolation • Critical testing activity – Determines minimal/ consistent way to reproduce a bug – Facilitates debugging – Provides valuable input to developers 27-Aug-12 © Robert Sabourin, 2012 Slide 90 AmiBug.Com, Inc. 45
  • 48. Confirmation Testing • Typically: – Tester finds the bug – Product/Development leads prioritize the bug – Developer fixes the bug – Tester confirms that the fixed bug is really fixed in the appropriate software build 27-Aug-12 © Robert Sabourin, 2012 Slide 91 AmiBug.Com, Inc. Behavioral Testing • Testing based on what a system is supposed to do • Tests based on how a system functions • Tests based on how a system is supposed to be used • Black box testing 27-Aug-12 © Robert Sabourin, 2012 Slide 92 AmiBug.Com, Inc. 46
  • 49. Interoperability Testing • Ensure that software under test interacts properly with target platforms – operating system – equipment – applications • Same as platform or configuration testing 27-Aug-12 © Robert Sabourin, 2012 Slide 93 AmiBug.Com, Inc. Web Box Testing • Commercial play on the word – White Box Testing • Testing using web based automated workflow management 27-Aug-12 © Robert Sabourin, 2012 Slide 94 AmiBug.Com, Inc. 47
  • 50. HTML Testing • Common term in Web Application Development for static analysis of Web page HTML source – – – – Is HTML constructed properly? Are any tags missing? Are links correct? Is Syntax OK? Is it standard compliant? 27-Aug-12 © Robert Sabourin, 2012 Slide 95 AmiBug.Com, Inc. Server Testing • Testing software objects which run on the server – – – – CGI components Business tier Data tier Active Server Pages 27-Aug-12 © Robert Sabourin, 2012 Slide 96 AmiBug.Com, Inc. 48
  • 51. Presidents Testing • • believe it or not, in many companies the boss or some senior executive takes pride in running software on their desk just before ship date to see if they can break it! Some SQA teams clone the Presidents PC and know his favorite commands and operations - this is run as a special test! 27-Aug-12 © Robert Sabourin, 2012 Slide 97 AmiBug.Com, Inc. Bug Bashing • Testing done in a blitz • A lot of testing in a very short period of time 27-Aug-12 © Robert Sabourin, 2012 Slide 98 AmiBug.Com, Inc. 49
  • 52. Gorilla Testing • Unstructured way to test • Try everything you can to crash or break the application 27-Aug-12 © Robert Sabourin, 2012 Slide 99 AmiBug.Com, Inc. Monkey Testing • “ six monkeys pounding on six typewriters at random for a million years will recreate all the works of Isaac Asimov ” Noel Nyman, Microsoft – random data entry – automated or manual – dumb monkeys, monkeys with savvy 27-Aug-12 © Robert Sabourin, 2012 Slide 100 AmiBug.Com, Inc. 50
  • 53. Guerrilla Testing • Wage a Guerrilla attack on the software being tested, observe behavior – Do evil things – Damage things – Intentionally corrupt data 27-Aug-12 © Robert Sabourin, 2012 Slide 101 AmiBug.Com, Inc. Non-Intrusive Testing • Black Box • Does not interfere with system under test • Leaves system in same state after test 27-Aug-12 © Robert Sabourin, 2012 Slide 102 AmiBug.Com, Inc. 51
  • 54. Intrusive Testing • Interferes with system under test to allow for probing for test data • Interferes with system under test to simulate fault • Leaves system in different state after test 27-Aug-12 © Robert Sabourin, 2012 Slide 103 AmiBug.Com, Inc. Pilot Testing • Similar to Beta testing • Usually a first project between two companies (Pilot project) • If Pilot Testing passes then larger scale deployment will take place, otherwise the business deal will be reworked! 27-Aug-12 © Robert Sabourin, 2012 Slide 104 AmiBug.Com, Inc. 52
  • 55. Hardware Testing • Complete solution is developed – confirm hardware delivered meets requirement – confirm hardware is compatible with software • In embedded systems – test hardware under development 27-Aug-12 © Robert Sabourin, 2012 Slide 105 AmiBug.Com, Inc. Software Testing • In systems development – Testing software deliverables of a system • In Software Quality Assurance – Work associated with verifying that software conforms to requirements – Checking to see if software actual does what someone expects it to do! 27-Aug-12 © Robert Sabourin, 2012 Slide 106 AmiBug.Com, Inc. 53
  • 56. Defect Testing • Testing with the express purpose of identifying defects in the software systems – As opposed to testing to confirm that a requirement is met! – Defects are the root cause of bugs! 27-Aug-12 © Robert Sabourin, 2012 Slide 107 AmiBug.Com, Inc. Environmental Testing • Testing to ensure system operates in the target environment – vary environmental characteristics • • • • • 27-Aug-12 humidity pressure temperature (oven) wind shock and vibration © Robert Sabourin, 2012 Slide 108 AmiBug.Com, Inc. 54
  • 57. Contract Testing • Use of third party contract testing organization – Must have reasonable specification for subsystem being tested – Excellent for heavy metal stress testing – Excellent for highly specialized expertise – Communication issues 27-Aug-12 © Robert Sabourin, 2012 Slide 109 AmiBug.Com, Inc. Distributed Testing • Testing staff is split into physically distributed teams • Center of excellence • Localization in-context testing • Merger between different companies • Pure Black Box • Outsourcing • Overnight across world parallelism 27-Aug-12 © Robert Sabourin, 2012 Slide 110 AmiBug.Com, Inc. 55
  • 58. Railroading • Testing continues in the original defined sequence of a test suite when a new build arrives • Testing a new build starts exactly where testing the previous build left off • Goal is to achieve acceptable levels of test coverage 27-Aug-12 © Robert Sabourin, 2012 Slide 111 AmiBug.Com, Inc. Shotgunning • Distribute test suites randomly across test cycles • Distribute test configurations randomly across test cycles • Goal is to achieve acceptable level of coverage 27-Aug-12 © Robert Sabourin, 2012 Slide 112 AmiBug.Com, Inc. 56
  • 59. Spot Check Testing • Spot Checking – Test a random sample of functions of an application – Sometimes used as a sanity test where random functions as selected and tested with sane data. – Sample randomly from a population to make a probabilistic statements about the population. 27-Aug-12 © Robert Sabourin, 2012 Slide 113 AmiBug.Com, Inc. e-Commerce Testing • Buzz word! – Software Testing activities associate with the development of a web based eCommerce system. – Popular title used for end to end transaction testing of an e-Commerce system. 27-Aug-12 © Robert Sabourin, 2012 Slide 114 AmiBug.Com, Inc. 57
  • 60. Bug Filtering Testing • Testing with a prior knowledge of which Prioritization decision will have been made about several broad classes of bugs – For example spelling mistakes or typos which do not impact meaning, and are not any user selectable dialogue window or control will be assigned a low priority. 27-Aug-12 © Robert Sabourin, 2012 Slide 115 AmiBug.Com, Inc. Snag Identification • A “snag” is a type of “bug” typically captured by a companies “IT” or “MIS” department • CAE of Montreal, identify snags in IT systems, logged, prioritized and corrected them • Results of testing an IT system are “snags” 27-Aug-12 © Robert Sabourin, 2012 Slide 116 AmiBug.Com, Inc. 58
  • 61. Reliability Testing • Testing to determine the reliability of software – Statistical samples – Accelerated life testing – Project MTBF • Mean Time Between Failures 27-Aug-12 © Robert Sabourin, 2012 Slide 117 AmiBug.Com, Inc. Availability Testing • Testing to determine the availability of software – Can users connect? – Does application respond to input? – How many failed attempts to load a page occur as the system is loaded? – Can the system run 24/7? 27-Aug-12 © Robert Sabourin, 2012 Slide 118 AmiBug.Com, Inc. 59
  • 62. Maintainability Testing • Testing to determine whether the software can be maintained after commercial deployment – Can field installations be upgraded? – What it the associated PITA factor? – Can code be modified by developers not familiar with code base? – Inspections/Reviews may be needed 27-Aug-12 © Robert Sabourin, 2012 Slide 119 AmiBug.Com, Inc. Spaghetti Tests • Term describing a disorganized collection of automated test scripts. – Similar to Spaghetti Code – Tests are hard to maintain – Get more complex when modified – Hard to understand – Lack design 27-Aug-12 © Robert Sabourin, 2012 Slide 120 AmiBug.Com, Inc. 60
  • 63. Cluster Fail Over Testing • Multiple server systems – Ensure that if, for any reason, one node of a system fails that work is distributed to other nodes – Common in horizontally scalable Web or e-Commerce applications 27-Aug-12 © Robert Sabourin, 2012 Slide 121 AmiBug.Com, Inc. Bug Forensics • When a computer system abnormally stops or unexpectedly fails, Bug Forensics are the actions taken to identify the exact time, place and cause of system death • Quincy TV metaphor 27-Aug-12 © Robert Sabourin, 2012 Slide 122 AmiBug.Com, Inc. 61
  • 64. Banana Testing • Fruit product distribution analogy. • Software ripens at the customer site! 27-Aug-12 © Robert Sabourin, 2012 Slide 123 AmiBug.Com, Inc. Basis Path Testing • Method introduced by McCabe – Create a flow graph – Identify all unique executable paths through the code being tested (called the Basis Set) – Derive one test case for each path in the Basis Set – White Box method 27-Aug-12 © Robert Sabourin, 2012 Slide 124 AmiBug.Com, Inc. 62
  • 65. Incremental Testing • Test modules as they are integrated into a system – Form of Integration Testing 27-Aug-12 © Robert Sabourin, 2012 Slide 125 AmiBug.Com, Inc. Non-incremental Testing • Test modules individually and then when they are all integrated together – Unit Testing is done on each Module – System Testing is done combining all Modules – No Integration Testing is done 27-Aug-12 © Robert Sabourin, 2012 Slide 126 AmiBug.Com, Inc. 63
  • 66. Storage Testing • Disk and memory resource consumption • Operation with insufficient resources • What if available memory diminishes due to consumption by other processes? • Memory leaks • Garbage collection? 27-Aug-12 © Robert Sabourin, 2012 Slide 127 AmiBug.Com, Inc. Risk Based Testing • Testing based on Risk Analysis – Spread resources across various testing objectives based on a function of commercial (business or market) and technical risk – More effort will be spent on areas of higher risk – Order of testing is based on risk • test higher risk areas first 27-Aug-12 © Robert Sabourin, 2012 Slide 128 AmiBug.Com, Inc. 64
  • 67. Exhaustive Testing • Test every possible input set – For any function identify, enumerate and list every possible input data set. – Try every single case! • Test every possible outcome – For every possible outcome test every possible input data set which is expected to generate it! 27-Aug-12 © Robert Sabourin, 2012 Slide 129 AmiBug.Com, Inc. String Testing • Focus testing on problems in typical user scenarios – Test a “string” of operations 27-Aug-12 © Robert Sabourin, 2012 Slide 130 AmiBug.Com, Inc. 65
  • 68. Recoverability Testing • If the system fails can it recover? – Does user loose data from active session at time of failure? – Does server restart? – Which type of failures do not recover? Should they? 27-Aug-12 © Robert Sabourin, 2012 Slide 131 AmiBug.Com, Inc. Life Cycle Testing • Continuous testing of the system or software through the entire development process – at predetermined milestones results of development process are inspected – identify defects early – required well defined process 27-Aug-12 © Robert Sabourin, 2012 Slide 132 AmiBug.Com, Inc. 66
  • 69. Requirement Phase Testing • Early in development process, confirm requirements are correctly collected and are accurately articulated in a manner consistent with the customers needs • Confirm requirements conform to internal standards • Confirm requirements are testable 27-Aug-12 © Robert Sabourin, 2012 Slide 133 AmiBug.Com, Inc. Manual-Support Testing • Manual operations complement automated operations in a system – Are all manual procedures documented correctly? For the right person? – Can manual procedures work when software is in an unexpected state? – How does software react to manual procedures run at the wrong time? 27-Aug-12 © Robert Sabourin, 2012 Slide 134 AmiBug.Com, Inc. 67
  • 70. Parallel Testing • Similar to “Back to Back” Testing – Two versions of application process same data or respond to same input – Example - Printer compatibility testing • Confirm same results based on same input – Can apply to all or part of an application • Compatible PCL but not Imaging 27-Aug-12 © Robert Sabourin, 2012 Slide 135 AmiBug.Com, Inc. Structural Testing • White Box technique • Structure of code used to determine test data and testing techniques – Complexity – Data Flow – Execution, Program Flow • statement, branch, conditional, expression, path 27-Aug-12 © Robert Sabourin, 2012 Slide 136 AmiBug.Com, Inc. 68
  • 71. Statistical Testing • Determine operational reliability of a system – How do faults effect the failure rate? – Statistical models are used to generate test data – Estimate failure rates 27-Aug-12 © Robert Sabourin, 2012 Slide 137 AmiBug.Com, Inc. Fault-Based Testing • Demonstrate that certain types of faults are not in the program. • Demonstrate that certain types of tests find faults which are injected into a system. 27-Aug-12 © Robert Sabourin, 2012 Slide 138 AmiBug.Com, Inc. 69
  • 72. Defect Density Testing • Testing use to estimate the number of defects remaining in software! – Density is number of defects per unit of code – Defect seeding methods can be used • seed 100 (intentionally insert bugs!) • if you find 10 seeded and 20 non-seeded then you can estimate the number of remaining defects to be about 200 27-Aug-12 © Robert Sabourin, 2012 Slide 139 AmiBug.Com, Inc. Soap Opera Testing • Used when testing applications which calculate pension or insurance benefits, or income tax – fictitious events regarding relationships and circumstances of individuals • marriage, remarriage, birth, death, divorce, sex change, hire, fire, quit, rehire, leaves – sequencing contrived but possible 27-Aug-12 © Robert Sabourin, 2012 Slide 140 AmiBug.Com, Inc. 70
  • 73. Use Case Testing • Test procedure is modeled after the Use Cases which were used to specify and design the system • Part of Rational Unified Process (RUP) 27-Aug-12 © Robert Sabourin, 2012 Slide 141 AmiBug.Com, Inc. Robustness Testing • Robustness testing attempts to measure the degree to which a system or component can function correctly in the presence of invalid inputs or stressful environmental conditions. 27-Aug-12 © Robert Sabourin, 2012 Slide 142 AmiBug.Com, Inc. 71
  • 74. Destructive Testing • Destructive testing involves stressing the application or it’s environment until the application fails and then performing a root-cause analysis – measure and improve reliability – “ failure after 12,000 operations with 1000 users active ” 27-Aug-12 © Robert Sabourin, 2012 Slide 143 AmiBug.Com, Inc. Real World User Testing • End user centric testing – Simulate how real customers use the software – This is not the same as a usage scenario • Test is based on your knowledge of the typical sequences of operations by end user • Study logs or customer support info if available • Uncovers some of the most useful bugs! 27-Aug-12 © Robert Sabourin, 2012 Slide 144 AmiBug.Com, Inc. 72
  • 75. Assertion Testing • “Asserts” – Added as in-line code – Ensure that software is operating in the correct state with correct values of certain variables, tables, parameters or other data – Assertions often implemented as MACROS – Generally disabled in commercial builds 27-Aug-12 © Robert Sabourin, 2012 Slide 145 AmiBug.Com, Inc. Collateral Testing • Any software collateral shipped to the end user - or available via www should be tested to ensure it operates with software – Examples, Tutorials – Macros – Sample data – Read me files 27-Aug-12 © Robert Sabourin, 2012 Slide 146 AmiBug.Com, Inc. 73
  • 76. Install Testing • Installation program can be very complex to test – different platforms – different options – over a previously installed version – not enough disk space available – missing or incorrect third party software 27-Aug-12 © Robert Sabourin, 2012 Slide 147 AmiBug.Com, Inc. Uninstall Testing • Most applications come with an Uninstall feature – Is Uninstall clean? – Is registry clean? – Are user data files left alone? – Can all different configurations and options of install be Uninstalled? 27-Aug-12 © Robert Sabourin, 2012 Slide 148 AmiBug.Com, Inc. 74
  • 77. Y2K Testing • Year 2000 testing is still needed! – Dominant software testing issue up to and including Year 2000 – Testing of any date aware aspect of the application to confirm handling of forward and backward time calculations, dates, leap years – Examples: age computation, expiry dates 27-Aug-12 © Robert Sabourin, 2012 Slide 149 AmiBug.Com, Inc. Milestone Testing • Testing which must be passed before software is considered to have completed a milestone – For all project milestones stakeholders agree on milestone passage criteria and suitable testing which confirms the achievement! – Decide this early to avoid conflict and politics! 27-Aug-12 © Robert Sabourin, 2012 Slide 150 AmiBug.Com, Inc. 75
  • 78. Agile Testing • Testing tasks which take place as part of an Agile development process 27-Aug-12 © Robert Sabourin, 2012 Slide 151 AmiBug.Com, Inc. Mobile Testing • Testing software integrated into handheld mobile computing devices 27-Aug-12 © Robert Sabourin, 2012 Slide 152 AmiBug.Com, Inc. 76
  • 79. Privacy Testing • Ensure user data is only used for authorized purposes • User data is kept secret • Ensure unauthorized access of data does not take place 27-Aug-12 © Robert Sabourin, 2012 Slide 153 AmiBug.Com, Inc. Checking • Confirmation • Automatable 27-Aug-12 © Robert Sabourin, 2012 Slide 154 AmiBug.Com, Inc. 77
  • 80. Story Testing • Acceptance tests of user stories • Fit criteria • Business facing tests 27-Aug-12 © Robert Sabourin, 2012 Slide 155 AmiBug.Com, Inc. Thank You • Questions? 27-Aug-12 © Robert Sabourin, 2012 Slide 156 AmiBug.Com, Inc. 78