Upload
anne-marie-charrett
View
775
Download
1
Tags:
Embed Size (px)
DESCRIPTION
What is Software Testing? A lecture I gave at Maquarie University
Citation preview
SOFTWARE TESTING ANNE-MARIE CHARRETT SKYPE: CHARRETTS TWITTER: @CHARRETT
© Testing Times 2013
WHAT IS SOFTWARE TESTING?
© Testing Times 2013
Test Strategy Test Spec Test Execution
Analysis
Documents/Code
Design Testing
Activities
TESTING LEGACY
Test Report
Strategy
Modelling
Decision Making
Modelling Configuration
Operation Observation Evaluation
Configuration
Reporting
Operation Observation Evaluation Communication copyright ©TestingTimes 2013
Requires a tester to be able to:
• Often has formalised methodology based on IEEE829
• Design Test Scripts upfront against Requirements
• Requires Experienced Test Analyst Vs Tester
• Indicate Expected Result upfront
• Complete when 100% Test Executed
© Testing Times 2013
SOFTWARE TESTING IS QUESTIONING A PRODUCT IN ORDER TO EVALUATE IT
James Bach
© Testing Times 2013
WHY DO WE DEVELOP SOFTWARE?
Cem Kaner (BBST)
Software is about solving problems
for people
Testing is about asking the question:
“Is that problem solved”?
© 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
© Testing Times 2013
Two teams Each Team has at least one reporter Each Team has observers
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: [email protected]
© Testing Times 2013