SOFTWARE
TESTING
ANNE-MARIE CHARRETT
SKYPE: CHARRETTS
TWITTER: @CHARRETT

© Testing Times 2013
WHAT IS SOFTWARE
TESTING?

© Testing Times 2013
TESTING LEGACY
Documents/Code	

Test Strategy	

 Test Spec	

 Test Execution	

 Test Report	

Requires a
Activities	

tester to be able to: 	

Strategy	

•  Often has formalised methodology based on IEEE829	


AnalysisTest Scripts upfront against Requirements	

 Reporting	

Testing	

Design	

•  Design 	

Configuration	

Modelling	

•  Requires Experienced Test Analyst Configuration	

Vs Tester 	

Modelling	

Operation	

Operation	

•  Indicate Expected Result upfront	

Decision Making	

Observation	

Observation	

•  Complete when 100% Test Executed	

Evaluation	

Evaluation	

 Communication	


copyright ©TestingTimes 2013	


© Testing Times 2013
SOFTWARE TESTING IS
QUESTIONING A
PRODUCT IN ORDER TO
EVALUATE IT

James Bach	

© Testing Times 2013
WHY DO WE DEVELOP SOFTWARE?
Software is about
solving problems
for people	

	


Testing is about
asking the
question:	

“Is that problem
solved”?	

	


Cem Kaner (BBST)	


© Testing Times 2013
WHAT IS SOFTWARE TESTING?

© Testing Times 2013
SCIENTIFIC METHOD
Define a question
Gather information and resources (observe)
Form an explanatory hypothesis
Test the hypothesis by performing an experiment and collecting
data in a reproducible manner
Analyze the data
Interpret the data and draw conclusions that serve as a starting
point for new hypothesis
Publish results
Retest (frequently done by other scientists)

© Testing Times 2013
BIG TRAK
Two teams	

Each Team has at least one reporter	

Each Team has observers	

	


© Testing Times 2013
WHAT DOES X2 DO?
x2 is also known as the repeat key
x2 requires a numeric parameter (n).
x2 can only be used once in a program
x2 has no effect on instructions following
its location in the program

© Testing Times 2013
WHAT DOES X2 DO?

One repeat of the last n steps

© Testing Times 2013
EXPLORING SCIENCE
•  Tests can be easy to construct and easily observable,
but don’t offer much information.
•  Skill in
•  Knowing where to look (experimental design)
•  Understand what is seen (hypothesis formation)
•  Interaction between these two is required for
successful scientific discovery
•  Think of hypothesis upfront results in faster discovery
•  Hypothesis formation is critical to finding the x2 button
•  Confirmation Bias: “Tendency for people to seek
evidence to verify their hypothesis rather than refute
them”
SCIENCE & TESTING
•  Testing is more about acquiring information than pass/
fail
•  Testing like experiments requires good test design
•  Confirmation Bias leads us to check rather than test
•  Testing requires we ask useful questions,
•  Testing requires we challenge assumptions
•  Testing is about thinking critically

© Testing Times 2013
“SOFTWARE TESTING IS AN
EMPIRICAL TECHNICAL
INVESTIGATION CONDUCTED
TO PROVIDE STAKEHOLDERS
WITH INFORMATION ABOUT
THE QUALITY OF THE
PRODUCT OR SERVICE
UNDER TEST”
Cem Kaner 	

© Testing Times 2013
SOFTWARE TESTING
•  Modelling
•  Observation
•  Asking Useful
Questions
•  Logical
Reasoning
•  Process of
Discovery

© Testing Times 2013
CONCLUSION
Distinguish between checking & testing
Offer thoughtful test design in ANY testing
Automated Checking good for confirmation
Exploratory Testing allows us to investigate the
product
Don't plan all your tests upfront, you need to be able
to react to the information you find
Focus on Testability rather than large automated
regression suites
•  Testability in creating test data
•  Helping to recognise problems
© Testing Times 2013
CREDITS
Heavily influenced by the following people and
their work
• Cem Kaner and the BBST courses
• James Bach & Michael Bolton - Rapid Software
Testing
• Gerald Weinberg - Problem Solving Leadership

© Testing Times 2013
THANKS!
Exploring Science - David Klahr
Scientific Method & Testing - James Bach
James Bach – http://satisfice.com
Michael Bolton: - http://developsense.com
Cem Kaner: http://kaner.com
Email: amcharrett@testingtimes.com.au

© Testing Times 2013

Software testing

  • 1.
  • 2.
    WHAT IS SOFTWARE TESTING? ©Testing Times 2013
  • 3.
    TESTING LEGACY Documents/Code Test Strategy Test Spec Test Execution Test Report Requires a Activities tester to be able to: Strategy •  Often has formalised methodology based on IEEE829 AnalysisTest Scripts upfront against Requirements Reporting Testing Design •  Design Configuration Modelling •  Requires Experienced Test Analyst Configuration Vs Tester Modelling Operation Operation •  Indicate Expected Result upfront Decision Making Observation Observation •  Complete when 100% Test Executed Evaluation Evaluation Communication copyright ©TestingTimes 2013 © Testing Times 2013
  • 4.
    SOFTWARE TESTING IS QUESTIONINGA PRODUCT IN ORDER TO EVALUATE IT James Bach © Testing Times 2013
  • 5.
    WHY DO WEDEVELOP SOFTWARE? Software is about solving problems for people Testing is about asking the question: “Is that problem solved”? Cem Kaner (BBST) © Testing Times 2013
  • 6.
    WHAT IS SOFTWARETESTING? © Testing Times 2013
  • 7.
    SCIENTIFIC METHOD Define aquestion Gather information and resources (observe) Form an explanatory hypothesis Test the hypothesis by performing an experiment and collecting data in a reproducible manner Analyze the data Interpret the data and draw conclusions that serve as a starting point for new hypothesis Publish results Retest (frequently done by other scientists) © Testing Times 2013
  • 8.
    BIG TRAK Two teams EachTeam has at least one reporter Each Team has observers © Testing Times 2013
  • 9.
    WHAT DOES X2DO? x2 is also known as the repeat key x2 requires a numeric parameter (n). x2 can only be used once in a program x2 has no effect on instructions following its location in the program © Testing Times 2013
  • 10.
    WHAT DOES X2DO? One repeat of the last n steps © Testing Times 2013
  • 11.
    EXPLORING SCIENCE •  Testscan be easy to construct and easily observable, but don’t offer much information. •  Skill in •  Knowing where to look (experimental design) •  Understand what is seen (hypothesis formation) •  Interaction between these two is required for successful scientific discovery •  Think of hypothesis upfront results in faster discovery •  Hypothesis formation is critical to finding the x2 button •  Confirmation Bias: “Tendency for people to seek evidence to verify their hypothesis rather than refute them”
  • 12.
    SCIENCE & TESTING • Testing is more about acquiring information than pass/ fail •  Testing like experiments requires good test design •  Confirmation Bias leads us to check rather than test •  Testing requires we ask useful questions, •  Testing requires we challenge assumptions •  Testing is about thinking critically © Testing Times 2013
  • 13.
    “SOFTWARE TESTING ISAN EMPIRICAL TECHNICAL INVESTIGATION CONDUCTED TO PROVIDE STAKEHOLDERS WITH INFORMATION ABOUT THE QUALITY OF THE PRODUCT OR SERVICE UNDER TEST” Cem Kaner © Testing Times 2013
  • 14.
    SOFTWARE TESTING •  Modelling • Observation •  Asking Useful Questions •  Logical Reasoning •  Process of Discovery © Testing Times 2013
  • 15.
    CONCLUSION Distinguish between checking& testing Offer thoughtful test design in ANY testing Automated Checking good for confirmation Exploratory Testing allows us to investigate the product Don't plan all your tests upfront, you need to be able to react to the information you find Focus on Testability rather than large automated regression suites •  Testability in creating test data •  Helping to recognise problems © Testing Times 2013
  • 16.
    CREDITS Heavily influenced bythe following people and their work • Cem Kaner and the BBST courses • James Bach & Michael Bolton - Rapid Software Testing • Gerald Weinberg - Problem Solving Leadership © Testing Times 2013
  • 17.
    THANKS! Exploring Science -David Klahr Scientific Method & Testing - James Bach James Bach – http://satisfice.com Michael Bolton: - http://developsense.com Cem Kaner: http://kaner.com Email: amcharrett@testingtimes.com.au © Testing Times 2013