Software testing is all about uncovering and eliminating defects .A bug is a defect in the software that may cause it to behave in an incorrect manner. In fact any deviation from the specification is a defect or a bug. Many IT companies believe that it is not possible to have software without a defect but that is not true. It is possible to develop zero defect software by proper planning and usage of proper tools and many testing companies are aiming to achieve this level of quality. Quality of the software depends on how well it has been tested. Since testing is a process of uncovering defects and getting them fixed it is important to keep a track of a bug or defect life cycle.
In SDLC a defect has a life cycle which must be tracked. The life cycle begins when the defect is discovered and ends when the defect is fixed and tested to confirm that it does not exist any longer. A defect life cycle is a standardized procedure which helps in eliminating bugs from the system. During the life cycle the bug will go through various stages. The bug can goes from one phase to the other in the following manner:
New -> Open -> Assign -> Test -> Verified/ Deferred/ Reopen/ Duplicate/ Rejected -> Closed
“NEW” describes the defect that has been uncovered for the first time. Once the bug has been reported and it is confirmed that the bug is genuine then it gets the status of “OPEN”. After the bug is given to a developer for fixing it is enters the stage “ASSIGN” and in the reports it is mentioned along with the name of the developer who is working to fix it. The bug enters the “TEST” stage when the developer has fixed the defect and has sent it back to the tester to confirm that it has been fixed. If the bug is acceptable in the project and may be fixed in later releases then it is referred to as “DEFERRED”. A developer may feel that what the tester is suggesting is not correct and he can “REJECT” the defect. Repetition of a defect is termed as “DUPLICATE”. If the developer has fixed the bug and the tester has checked that the bug actually does not exist then the bug has entered the “VERIFIED” stage, however if the bug is still not fixed then the tester will give it a status of “REOPENED” and send it back to the developer. Once the bug has been completely eliminated from the system it is declared “CLOSED”.
Quality Assurance and Software testing professionals have defined various techniques to eliminate defects from a software. Defect life cycle is one such traditional technique that follows the process of uncovering defects and removing them. However, most organizations are now showing interest in defect prevention processes. The concept of finding bugs and removing them seems to be an expensive affair. Coming back to the defect life cycle, the impact of the bug on the software development can be indicated by the severity of the bug. It can be critical, meaning that the testing cannot be carried out further till the time the bug is not fixed. If a functionality is not implemented properly then the defect will have a HIGH severity. Defects caused due to deviation from company standards are called Medium defects. Cosmetic defects are of low severity.
For a good tester with a strong ability to uncover defects there is no shortage of testing jobs. Various software recruitment agencies in Ireland are on lookout for such professionals as there is a great demand for software testing in Ireland.