- Teacher: Dr. Khedri
- Winter 2015
- McMaster University
- Primary Author: Kemal Ahmed
##Challenges of Software Testing
- Budget pressure
- Project planner underestimates costs of a stage
- Estimated budget was never approved
- Safety is required before features
- Time pressure
- Lower time pressure with more developers
- Can happen if there are too many delaying factors
- Managing testing
- Those who do testing need to be qualified
- How to test?
- What?
- When?
- How much resources?
- Ambiguous Requirements, documentation, etc.
- More environments
- More languages
- More layers
##Measurement
Metric: a quantitative attribute
Measurement:
Benchmark: a standard unit of measurement
Measure: to determine the measurements of something
Symbol: a short representation of a unit of measurement
###What to measure?
Measure everything useful to achieving your goals.
Sometimes, it can be difficult to describe an attribute using a metric, e.g. colour in nanometres.
Sometimes you want to measure something that is a combination of attributes.
###Types of measurements
Deductive: directly measured
Inductive: determined by putting different deduced information together
##Models for testing
Often, it's not enough to simply say whether something is good or bad, so we define a model that scores it using a combination of metrics that give a quantitative score. That includes:
- Quality of Requirements
- Management issues
- Quality of work
- Productivity
- Cost
- Effort:
- Size: lines of codes & function points
- Productivity:
- etc.
Models demonstrate:
- Things whose effects are neglected
- Things that affect that model that you didn't consider.
- Things that you did consider
Gib's Fuzzy Testing:
Khedri's words of wisdom: when the company at your internship is doing stuff in a non-systematic way, do what you can to change it.
COnstructive COst MOdel (COCOMO):
A->B: h^{nf}
A->B: h
(S,F,R)
A structure is algebraic iff (S,F)
A structure is relational iff (S,R)
####e.g. Graphs
A = V
F = 0
####Bijection : A function + injective + subjective
Every definition is reached once
####Surjective : lala
- Not injective
- Could be a measurement mapping
####Injective : noonoo
Not surjective
###Evaluating software
####Likert Scale
: A reliability scale of software where someone selects agreement from a set of {strongly agree, agree, neither, disagree, strongly disagree}
####Forced Ranking : Rank the options from 1 (best) to n (worst).
####Verbal Frequency
: Select failure frequency from the set of {Always, Often, Sometimes, Seldom, Never}.
####Ordinal Software : brb
####Comparative Scale
: Pick integer from 1---n from Superior to Inferior
####Numerical Scale
: Pick integer from 1---n from Unimportant to Important
####Statement Type : blah
###More...
####Homomorphism
: A homomorphism or representation is a mapping from
i.e. a structure from
$A$ to$B$ that satisfies rule 2 (function) and 3 (relation).$$h: A \rightarrow B$$
: An application of this concept is described in a book called Calculus is Algebra by William Hatcher.
The connection between the real
####McCabe Threshold
- fault-prone
- maintainability
- Range: 0-10
####Direct Measurement
Direct Measurement: ga
Examples: *
####Reliability Model
###Measurement Scales
Scale =
Algebraic Difference Structure:
####Nominal : oogachacka
####Ordinal : transitivity
####Interval : comparing stuff on the same interval
- Obsolete system, but we should know it 😒
####Ratio : hee hee