10 Dec 2012 Why testing is necessary Increasing complexity of software Cost of software failures The internal software exception was caused during execution of a data conversion from 64bit floating point to 16bit signed integer value ID: 796941
Download The PPT/PDF document "ISQB Software Testing Section Meeting" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
ISQB Software Testing
Section Meeting
10 Dec 2012
Slide2Why testing is necessary
Increasing complexity of software
Cost of software failures
"The internal [...] software exception was caused during execution of a data
conversion from 64-bit floating point to 16-bit signed integer value.
The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. [...].“
ARIANE 5, Flight 501 Failure, Report by the Inquiry
Board
Slide3Test and Quality
Quality
:
the degree to which a component, system or process
meets specified requirements and/or user/customer needs and expectations.Software quality: the totality of functionality and features of a software product that bear on its ability to satisfy stated or implied needs.
Slide4ISO 9126 Software Quality
Software Quality Characteristics:
Functionality:
Specified
or expected functions (behavior): suitability, accuracy, interoperability, compliance, securityReliability: Maintenance of a certain level of performance: maturity, fault tolerance, recoverabilityUsability:Effort needed for use,
user-friendliness: understandability, learnability, operabilityEfficiency:Ratio of level of performance and used resources: time behaviour, resource behaviourMaintainability:Effort to perform defined
changes:
analysability
, changeability, stability, testability
Portability:
Ability to transfer to a different
environment
(SW, HW, etc
.):
adaptability
, installability, conformance, replaceability
Slide5Testing principles
Testing can show the presence of
defects but not their absence
Exhaustive testing is
impossibleEarly testingDefect clusteringPesticide paradoxTesting is context dependentAbsence-of-errors fallacy
Slide6Test Level Acceptance Testing
Test Level System Testing
Fundamental Test Process
Test Level Integration Testing
Test Level Component Testing
Planning
Analysis &
Design
Implementation & Execution
Testing Closure
Exiting criteria
Cont
ro
l
Test cycle 1...n
Slide7Test Cases Specification
Slide8Logical and Concrete Test Cases
Example: Logical test
case
Example
: Concrete test case
Slide9Test Oracle
After each executed test case it has to be decided
whether there
is a failure or not:
the observed result/outcome is compared to the expected result/outcometherefore the expected result/outcome has to be determined in advance for each test casethis expected outcome has to be gathered from an appropriate source: the test oracle
Slide10Testing in
Software Development Models
Slide11Overview of Test Types
Slide12Static Testing
Review
Inspection, walkthrough ...
Static Analysis
Control flow analysisData flow analysisMetricsCoding standards
Slide13Control Flow Analysis Example
Slide14https://security.web.cern.ch/security/recommendations/en/code_tools.shtml
CERN recommended
static analysis tools
Slide15Test design techniques
Slide16Equivalent Class Partitioning
Equivalent class
Set of Input values
Combinations of equivalence classes for building test cases:
All possible combinations of all valid equivalence classes
build valid
test cases. Even with a few parameters this can lead to
a high
number of test cases. For this reason, often only
frequent
combinations
are
considered
An
invalid input equivalence class should only be combined
with
valid
input equivalence
classes
Slide17Boundary Value Analysis: Example
A function calculates z, the sum of two integer numbers x and y
For the input the following ranges are defined:
x: [0 .. 50]
y: [20 .. 100]
Parameter
Valid classes
Invalid class
x
0,50
-1,51
y
20,100
19,101
Slide18Structures of Decision Tables
Slide19Statement Testing
Statement coverage
Every instruction (statement) is executed at least once
Decision
coverageEvery branch is executed at least once
Slide20Path Coverage
Path coverage
Each path is executed at least
once
Slide21Error guessing Testing
Examples of potential errors out practice
"pathological" situations:
Empty input fields, blanks in strings
Repeated access (many times) to the same dataNo more space available, limitsNegative numbers, etc.Situations that are explicitly forbiddenSituations that "never arise"Special characters (a, s, €, etc.)Abuse and misunderstandings by the userChange from and to daylight saving time, leap year
Slide22Exploratory Testing
Continuing learning process
Become acquainted with the product
Learn how errors in software arise and which effect those
errors haveDiscover the weaknesses of the softwareLearn how to test the softwareTest the softwareReport the problemsCreate new test cases on the basis of what you just have learned
Slide23Testing Organization Forms
Slide24Balance Between
Test
Cost and Failure
Cost
Slide25Early Failure Detection as a Goal
Slide26Testing Management Tasks
Test Management
Test Organization
Test Planning and
EstimationRisk Analysis Test Progress MonitoringFailure based metricsnumber of failures found, per release, per class, per failure status,etc.Test case based metricsnumber of blocked tests, number of successful tests, etc.Test object based metricscode-coverage, dialogue-coverage, etc.Test process based metricstest effort, on schedule milestones, etc
.Test ControlCorrective measures have to be taken:Requesting additional resourcesUpdating of the test scheduleRe-assigning prioritiesInitiation of additional test cyclesConfiguration
Management
Incident
Management
Norms and Standards
Slide27Thanks for attending!