Fundamentals Of Testing Flashcards

1
Q

Why testing is important

A

-costly if mistakes weren’t found
-7/10 it projects fail - can be because for poor testing
-testing can represent 40% of costs
-cost,time and quality benefits to software testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is testing under time pressure

A

As it’s normal one of the last tasks prior to customer delivery, appropriately planned tests are often subject to time pressure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Example of failure in software

A

Nasa Nara lander, crashed due to a fault, cost over 50mil 1999

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why does testing matter

A

Inadequate testing costs us 22-59 billion annually
Can cost lives - therac-25 radiation machine 3 dead
Testing shows if our programs are reliable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How is smaller scale testing done

A

Reported by users and clients. Issues prioritised examined and resolved . Some issues result of defects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Causes of software defects

A

Human error e.g. in code or system (bug or defect)
Environmental conditions e.g. radiation, pollution can cause faults in firmware
Developer error -> software defect -> software fails

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A failure is present…

A

A failure is present if a user expectation is not fulfilled adequately
E.g. products too hard to use, too slow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a failure

A

Deviation of the software from its expected delivery or surface
Happens when software does the wrong thing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What can a failure also be called

A

Problem, incident, issue

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a defect

A

A manifestation of human error in software
- can be caused by requirements, design or coding errors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How can defects be discovered

A

Inspecting code or from software failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What can a defect also be called

A

Bug or fault

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is an error

A

Human action producing an incorrect result
When humans make errors they introduce faults to program code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

An error is not

A

Just an accident or mistake
Not necessarily just incompetence

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Are errors inevitable

A

Errors are inevitable in a complex activity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Why is testing important

A

Reducing risk of problems in operatioanl environment
Contributes to quality
Contractual or legal requirements
Testing provides evidence it complies to standards

17
Q

Why is complete testing not feasible

A

Domain of possible inputs too large
Design issues may be too complex to test

18
Q

Where are bugs normally found

A

In clusters
Bug fixing and maintenance are error prone and may cause unintended faults

19
Q

What is testing

A

Exploration of a system to find defect
Repeated to ensure defect corrections have been effective

20
Q

What is debugging

A

Developers identify cause of defects in code and undertake corrections
Debugging is done before testing
Can be used to understand root cause of failures

21
Q

Name some test objectives

A

Finding defects
Gaining confidence about level of quality
Preventing defects

22
Q

What is static testing

A

Testing without executing the program
E.g. software inspections

23
Q

What is dynamic testing

A

Testing by executing program with real inputs

24
Q

What is maintenance/regression testing

A

Testing that no new errors have been introduced

25
Unit testing
Addresses quality of individual units
26
Integration testing
Checks if individual components operate together
27
System testing
Checks if system delivers desired functionality
28
Testing vs debugging
Testing shows failures caused by defects Debugging identifies cause if defect and repairs code and makes sure it’s fixed