1.1 Why is Testing Necessary?
1.1.1 Software Systems Context
Software systems are an integral part of life, from business applications(e.g. banking)to consumers(e.g. cars). Most people have had an experience with software that did not work as expected. Software that does not work correctly can lead to many problems, including loss of money, time or business reputation, and even cause injury or death.
1.1.2 Causes of software Defects
A human being can make an error(mistake), which produces a defect(fualt, bug) in the program code, or in a document. If a defect in code is executed, the system may fail to do what it should do (or do something it shouldn't),causing a failure. Defects in software, systems or documents may result in failures, but not all defects do so.
Defects occur because human beings are fallible and because there is time pressure,complex code, complexity of infrastruture, changing technologies, any/or many system interactions.
Failure can be caused by environmental conditions as well. For exsample,radiation, magnetism, electronic fields, and pollution can cause faults in firmware or influence the execution of sftware by changing the hardware conditions.
1.1.3 Role of Testing in Software Development, Maintenance and Operations
Rigorous testing in systems and documentation can help to reduce the risk of problems occuring during operation and contribute to the quality of the software system, if the 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.
1.1.4 Testing and Quality
With the help of testing, it is possible to measure the quality of software in terms of defects found, for both functional and non-functional software requirements and characteristics (e.g. reliability, usability, maintainability and portability).
Testing can give confidence in the quality of the software if it finds few or no defects. A properly designed system that passes reduces the level of risk in a system. When testing does find defects, the quality of the software system increases when those defects are fixed.
Lessons should be learned from previous projects. By understanding the root causes of defects found in other projects, processes can be improved, which in turn should prevent those defects from reoccuring and ,as a consequence, improve the quality of future systems. This is an aspect of quality insurance.
1.1.5 How Much Testing is Enough
Deciding how much testing is enough should take account of the level of risk, including technical, safety, and business risks, and project constraints such as time and budget.
Testing should provide sufficient information to stakeholder to make decisions about the release of the software or system being tested, for the next development step or handover to the customers.
0 comments:
Post a Comment