Software testing Flashcards
testing enables us to
- find defects in the product
- verify the product is fit for purpose
- measure the quality of the product
- mitigate rish associated with the product
- build confidence in the product
why is a software testing methodology needed
To meet legal, contractual, industry specific needs etc.
- to find defects in the product
positive testing
- verifies correct operation, does it work, if error -> test fails
negative testing
- ensures application handles invalid or unexpected user behaviour
- try to break the code
- finding defects
- verify product fit for purpose
Project delivers to a set specification - must be correct - must meet the specification
Referred to as :
Validation (correct specification)
Verification (does it meet spec)
- Measuring quality of product
Degree a system meets:
- specified requirements
- user/customer needs and expectations
can be objectively and subjectively measured
How testing enhances quality short and long term
ST
- testing finds defects, fixes defects, confirms fixes, software has fewer defects
LT
- finds defects, defect analysis identifies causes, process improvement prevents reoccurence, future systems have fewer defects
- mitigating risk associated with product
categored by impact and probability and organised by risk
- Building confidence in the product
Test coverage
Rate of defect discovery
Number of known defects
Percentage of test cases passed
Remember
Testing does not change quality of system (detects defects which are repaired)
Tests should measure functional and non-functional characteristics
Provides a learning opportunity for future projects
Needs to be team wide incorporating different departments
Test basis to test case process
Text basis
- Requirements specification
- source for creation of test cases
Test condition:
- an item or event of a component or system that could be verified by one or more test cases (e.g. a function, feature, quality attribute, or structural element)
- test that is is possible to
Test Case:
- a set of input values, execution preconditions, expected results and execution post-conditions, developed for a particular test condition
example:
input - “The beatles, a day in the life”
expecte output: A list of websites relating to the beatles
Characteristics of a good requirement
- Unambiguous
- Testable
- Clear
- Correct
- Understandable
- Feasible
- Independent
- Atomic
- Necessary
- Implementation-free
write good requirement cardss
write cards
fundamental test process
- Test Planning and Control
- Test Analysis and Design
- Test Implementation and Execution
- Evaluating Exit Criteria and Reporting
- Test Closure
Test planning and control
- define testing objectives
- comparing planned progress and actual progress
- allows for comparison of test process, and compare against previous and future versions
Test analysis and design
- Reviewing test basis
- evaluate testability of test basis
- identifying and prioritising test conditions
- designing and prioritising high-level test cases
- identifying necessary test data
- designing test environment set up
- identifying any required testing infastructure and tools
- creating bi-directional traceability (from test basis to case and case to basis)