Home
Flashcards
Preview
Testing Overview
Home
Get App
Take Quiz
Create
What is software testing
Verification of the behavior of a program
Generally, how are test cases selected?
Against inspected behaviour
Number of possible test cases
Infinite
Software testing is ...
destructive
Properties of software testing
Uncover undiscovered defects
Not exhaustive for reasonably sized software
Main drawback of software testing
It's expensive
Goal of software testing
Uncover different classes of errors in a minimum amount of time with a minimum amount of effort
Uses of software testing
Uncover different classes of errors
Prove system works as stated/expected
Provide information about software's reliability and quality
Testing can show the __1__ of errors, but not their __2__.
1. Presence
2. Abscence
Causes of software bugs
1. Tasks not fully understood/defined
2. Not enough time
3. Third party errors (buggy tools, premade software)
4. Failure to use source control
Cause of 80% of programming errors
Bad requirements
Time constraints developers face
Bad schedules
Late design changes
Defects that are less of a problem
Typographical errors (effectively random)
Errors in logic/assumptions (usually prevent execution so are quickly discovered)
Dangerous assumptions
Assuming an odd or unlikely logical path will not be executed
Subconscious assumptions about control flow and data design
Relationship between failures and faults
Faults cause failures
Example of a failure
Some command performed multiplication instead of addition (expected)
Example of a failure
No condition for + in switch, causing the base case to occur unexpectedly
Types of fault
Algorithmic
Syntax
Computation/Precision
Documentation
Stress/Overload
Capacity/Boundary
Timing/Coordination
Throughput/Performance
Recovery
Hardware/System Software
Algorithmic faults
Algorithm produces incorrect result for given input
Syntax faults
Improper use of programming language constructs
Computation/Precision faults
Formula implementation is wrong or has incorrect accuracy
Documentation faults
Documentation doesn't match software
Stress/Overload faults
Going outside of program limits (exceed array size or overflow integer)
Timing/Coordination faults
Code handling coordination of event systems is inadequate (real-time systems)
Throughput/performance faults
System does not perform to the required speed
Recovery faults
When a failure occurs and the system no longer behaves correctly
Hardware/System Software faults
Supporting software/hardware does not behave as expected
Author
Ant
ID
353586
Card Set
Testing Overview
Description
Test
Updated
2020-10-24T05:29:00Z
Home
Flashcards
Preview