Chap1 Istqb
Chap1 Istqb
Chap1 Istqb
Ananth Reddy
Defects
Defects occur because human beings are fallible and because there is time pressure, complex code, complexity of infrastructure, changed technologies, and/or many system interactions.
Failure
Failures can be caused by environmental conditions as well: radiation, magnetism, electronic fields, and pollution can cause faults in firmware or influence the execution of software by changing hardware conditions.
Role of testing
Rigorous testing of systems and documentation can help to reduce the risk of problems occurring during operation and contribute to the quality of the software system if defects found are corrected before the system is released for operational use.
Software testing may also be required to meet contractual or legal requirements, or industry-specific standards.
What is testing?
A common perception of testing is that it only consists of running tests, i.e. executing the software. This is part of testing, but not all of the testing activities.
What is testing?
Test activities exist before and after test execution: activities such as planning and control, choosing test conditions, designing test cases and checking results, evaluating exit criteria, reporting on the testing process and system under test, and finalizing or closure (e.g. after a test phase has been completed). Testing also includes reviewing of documents (including source code) and static analysis.
Testing objectives
Finding defects; Gaining confidence about the level of quality and providing information; Preventing defects.
Views on testing
Different viewpoints in testing take different objectives into account. For example, in development testing (e.g. component, integration and system testing), the main objective may be to cause as many failures as possible so that defects in the software are identified and can be fixed
Views on testing
In acceptance testing, the main objective may be to confirm that the system works as expected, to gain confidence that it has met the requirements. In some cases the main objective of testing may be to assess the quality of the software (with no intention of fixing defects), to give information to stakeholders of the risk of releasing the system at a given time.
Views on testing
Maintenance testing often includes testing that no new defects have been introduced during development of the changes During operational testing, the main objective may be to assess system characteristics such as reliability or availability
Debugging Vs Testing
Debugging and testing are different. Testing can show failures that are caused by defects. Debugging is the development activity that identifies the cause of a defect, repairs the code and checks that the defect has been fixed correctly. Subsequent confirmation testing by a tester ensures that the fix does indeed resolve the failure. The responsibility for each activity is very different, i.e. testers test and developers debug.
Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, risk analysis and priorities should be used to focus testing efforts.
Test planning
Test planning is the activity of verifying the mission of testing, defining the objectives of testing and the specification of test activities in order to meet the objectives and mission.
Test control
Test control is the ongoing activity of comparing actual progress against the plan, and reporting the status, including deviations from the plan. It involves taking actions necessary to meet the mission and objectives of the project. In order to control testing, it should be monitored throughout the project. Test planning takes into account the feedback from monitoring and control activities.
Test analysis
Test analysis and design is the activity where general testing objectives are transformed into tangible test conditions and test cases.
Testing independently
A certain degree of independence (avoiding the author bias) is often more effective at finding defects and failures Independence is not, however, a replacement for familiarity, and developers can efficiently find many defects in their own code.
Testing independently
Tests designed by the person(s) who wrote the software under test (low level of independence). Tests designed by another person(s) (e.g. from the development team). Tests designed by a person(s) from a different organizational group (e.g. an independent test team) or test specialists (e.g. usability or performance test specialists). Tests designed by a person(s) from a different organization or company (i.e. outsourcing or certification by an external body).
Skills of tester
If errors, defects or failures are communicated in a constructive way, bad feelings between the testers and the analysts, designers and developers can be avoided. This applies to reviewing as well as in testing.
Skills of tester
The tester and test leader need good interpersonal skills to communicate factual information about defects, progress and risks, in a constructive way. For the author of the software or document, defect information can help them improve their skills. Defects found and fixed during testing will save time and money later, and reduce risks.