Chapter 1 Flashcards
What is testing and why is it necessary?
A set of activities to discover defects and evaluate software.
-Involves validation and verification and may be static or dynamic.
-Necessary because it increases quality of requirements and leads to fewer changes.
-a form of quality control, helping achieve goals within the set scope, time and budget.
- testing contribution not limited to test team- any stakeholder can use their testing skills to bring project closer to success.
What general skills does a tester need?
Specialised knowledge, analytical skills, critical thinking, systems thinking.
What is test objectives?
Clear concise statements that describe what a test aims to achieve. May start with “evaluate, reduce, provide, verifying, ensuring “ etc…
Eg- reduce the level of risk of inadequate software
OR
Verify specified requirements have been fulfilled.
Difference between testing and debugging?
Testing : evaluate quality of software to identify defects. Can trigger failures caused by defects (dynamic) or directly find them (static).
Debugging :fix defects found. Locating the root cause, analysing the cause, and eliminating them.
Typical debugging process?
- reproduction of a failure
- diagnosis
- fixing the cause
What is confirmation testing?
Checks whether the fixes in debugging resolved the problem.
Preferably done by the same Person who performed the initial test.
What is regression testing?
Checks whether fixes are causing failures in other parts of test object.
When static testing identifies defect, what happens?
Debugging removes it. No need for reproduction or diagnosis since static finds defect directly.
Testing contributions to success?
- cost effective means of detecting defects
-can be removed by debugging (non- testing activity)
-contributes to higher quality test objects
-directly evaluated quality of a test object at various stages in the SLDC.
-provide users with indirect rep on development plan.
-users needs considered throughout OR involve set of users which is not uslaly possible due to cost and availability.
-required to meet contractual/ legal requirements.
Quality control?
Testing is a form of quality control.
-product oriented
-corrective approach
Quality Assurance?
-process oriented
-preventative approach that focuses on implementation and improvement of processes
- applies to dev process and testing and is the responsibility of everyone on a project.
How are test results used in QA and QC?
Quality control- to fix defects
Quality assurance - to provide feedback on how week the dev and test processes are performing.
Error, defect, failures and root causes?
-humans make errors which cause defects
- these can cause failures
-defects can be found in documentation, or code or supporting artifact
- root cause- reason for occurrence.
-identified thru root cause analysis and similar defects can be prevented and removed at the same time here
What are the 7 testing principles?
- Testing shows the presence, not the absence of defects
- Exhaustive testing is impossible
3.early testing saves time and money
4.defects cluster together
5.tests wear out
6.testing is context dependant
- Absence of defects fallacy
7 test activities and tasks?
Implemented iteratively or in parallel.
- Test planning
- Test monitoring and control
- Test analysis
4.test design - Test implementation
- Test execution
- Test completion