0
7.5kviews
Bug classificaion based on Softwares Development Life Cycle(SDLC).

Mumbai University > Information Technology > Sem 8 > Software Testing and Quality Assurance

Marks: 10 Marks

Difficulty : Medium

1 Answer
-2
654views

Since bugs can appear in any phase of SDLC, they can be classified based on SDLC phases, which are described below:

  1. Requirements and specifications Bugs. The first type of bug appears in the requirement gathering and specification phase. It has been observed that most of the bugs appear in this phase only. If these bugs go undetected, they propagate into subsequent phases. It is a difficult phase in the sense that requirements gathered from the customer are to be converted into a requirement specifications, which will become the base of design. Then may be possibility that requirements specified are not what the customer want. Specification problems lead the wrong, missing or super flows features.

  2. Design bugs. Design bugs may be the bugs from the previous phase in addition, those errors that are introduced in the present phase. The following design errors may be there –

    a) Control flow bugs : Errors in the control flow of a program e.g. some paths are missing, unreachable paths, etc.

    b) Logic bugs : Any type of logical mistakes made in a design is a logical bug. Eg. Missing cases, improper layout.

    c) Processing bugs: Any type of computation mistakes results in processing bugs, e.g. arithmetic error, incorrect conversion from one data representation to another.

    d) Data flow bugs: There may be data flow anomaly errors, e.g. uninitiated data, initialized in wrong format, data used but not initialized, etc.

    e) Error handling bugs: Errors may arise because the system does not have a well-defined exception handling mechanism. If the system fails, then there must be an error message or the system should handle the error in an appropriate way.

    f) Race condition bugs: Race condition also leads to bugs sometimes these bugs are irreproducible.

    g) User interface bugs: This arise because of a lack of understanding about the user requirements. E.g. missing, misleading or confusion information.

  3. Coding bugs: There may be a long list of coding bugs. If you are a programmer, then you are aware of some common mistakes made. E.g. undeclared data, routines, typographical errors, documentation bugs, etc.

  4. Interface and integration bugs: External interface bugs include invalid timing or sequence assumptions related to external signals, misunderstanding external input and output formats and UI bugs. Internal interface bugs include input and output format bugs, inadequate protection against corrupted data, etc. integration bugs result from inconsistencies or incompatibilities between modules discussed in the form of interface bugs.

  5. System bugs: There may be bugs while testing the system as a whole, based on various parameters such as performance, stress, compatibility and usability. For e.g. in a real time system, stress testing is very important, as the system must work under maximum load. If the system is put under maximum load at every factor such as maximum number of users and maximum memory limit and if it fails, then there are system bugs.

  6. Testing bugs: One can question the presence of bugs in the testing phase. Because this phase is dedicated to finding bugs. However, the fact is that bugs are present in testing phase also. All testing is also performed by testers – humans. Some testing mistakes are: failure to notice/report a problem, failure to use the most promising test case, failure to verify fixes and failure to provide summary report, etc.

Please log in to add an answer.