Why System has defects and what are the causes of Software Defects. It's because only people make mistakes or something else causing defects. Who is responsible for defect in System. Customer, Designer, Developer, Tester, BA or environmental conditions also. Well, Software is not just code, a complete system consist of documentation also. Defect can be introduced by any stakeholder and Quality is responsibility of every stakeholder.
Every stakeholder who is not doing his job good can cause defect. Even if they are doing job good environmental conditions can cause defect.
Fault, which is also called defect, internal error or bug. This is flaw in a component or system that may cause the system or component to fail to perform its intended function.
When user expectation is not met it is a failure. Our Software can fail not because of human error it also fail because of environmental conditions like radiation, magnetism, electronic fields or pollution etc. A failure is caused by a fault in our software.
A single fault can cause zero to many failures for any number of users. The cause of fault or defect is an error or mistake by a programmer or environmental conditions which are mentioned above.
There are several reason why defect occur in a software:
- Poor Requirement Understanding
- Lack of Designing and development experience
- Humans are not perfect they are overconfident, egoistic and they make mistake
- Issue with 3rd party integrated tools
- Software Complexity
- Environmental Factor: Radiations burst, pollution, strong magnetic field etc.
- Miscommunication or no communication
- Changing Requirement
- Time Pressure
- Poor Documentation
- Cheap Development Tools
- Lack of Skilled Testers