Lecture1-Intro to software testing Flashcards
Why do we do software testing?
Software failures are costly and testing can help prevent these failures.
What is the process of testing(4)?
Test Planning –> Test development–>Running test cases–>Evaluating test results
Failure vs fault vs error
Error:
-A mistake usually made by PEOPLE.cause of a fault
Fault:
-The result of an error(BUG)
Failure:
-Occurs when the code corresponding to a fault executes. Observable incorrect behaviour of a program.
ERROR –>CAN LEAD TO –>FAULT –>CAN LEAD TO –>FAILURE
What are the 3 levels of software testing?
1.Unit testing
2.Integration testing
3.System testing
What is unit testing?
-Individual units(a function) are tested in isolation.
-Determine whether each unit functions as designed.
What is integration testing?
-Test a group of related units together(testing database access)
-Find interface issues between units
What is system testing?
-Test the complete software system
-Evaluate the system’s compliance with the specified requirements.
What are the 2 basic approaches to identify test cases?
1.Black-box testing
2.White-box testing
What is black-box testing?
-based on software description(specification)
-covers as much SPECIFIED behaviour as possible
-cannot reveal errors due to implementation details.
What is white-box testing?
-based on the code
-covers as much CODED behaviour as possible
-cannot reveal errors due to missing paths
What are the 4 QA approaches?
-Testing
-Static verification
-Inspection /review
-Formal proof
Which QA approach has the most subjective bias?
Inspection/ review
What does the testing approach consist of and what are its pros and cons (1 of each) ?
Exercising software to try and generate failures.
Pros: no false positives
Cons: incomplete
What does the static verification approach consist of and what are its pros(1) and cons (2) ?
Identify specific problems statically considering all possible executions.
Pros: complete
Cons: false positive(main issue),expensive
What does the inspection/review approach consist of and what are its pros(2) and cons (2) ?
Systematic group review of program text to detect faults.
Pros: systematic, thorough
Cons: informal, subjective