Home » Defects
Defect Taxonomies !!!

Categories of Defects:

All software defects can be broadly categorized into the below mentioned types:

• Errors of commission: something wrong is done
• Errors of omission: something left out by accident
• Errors of clarity and ambiguity: different interpretations
• Errors of speed and capacity

However, the above is a broad categorization; below we have for you a host of varied types of defects that can be identified in different software applications:

1. Conceptual bugs / Design bugs
2. Coding bugs
3. Integration bugs
4. User Interface Errors
5. Functionality
6. Communication
7. Command Structure
8. Missing Commands
9. Performance
10. Output
11. Error Handling Errors
12. Boundary-Related Errors
13. Calculation Errors
14. Initial and Later States
15. Control Flow Errors
16. Errors in Handling Data
17. Race Conditions Errors
18. Load Conditions Errors
19. Hardware Errors
20. Source and Version Control Errors
21. Documentation Errors
22. Testing Errors

Defect !!!

Defect Management

Defects determine the effectiveness of the Testing what we do. If there are no defects, it directly implies that we don’t have our job. There are two points worth considering here, either the developer is so strong that there are no defects arising out, or the test engineer is weak. In many situations, the second is proving correct. This implies that we lack the knack. In this section, let us understand Defects.

What is a Defect?
For a test engineer, a defect is following: -
• Any deviation from specification
• Anything that causes user dissatisfaction
• Incorrect output
• Software does not do what it intended to do.

Bug / Defect / Error: -
• Software is said to have bug if it features deviates from specifications.
• Software is said to have defect if it has unwanted side effects.
• Software is said to have Error if it gives incorrect output.

But as for a test engineer all are same as the above definition is only for the purpose of documentation or indicative.

Basics of Software Testing !!!

CHAPTER 1

Basics of Software Testing
****************************

THE DEFINITION OF TESTINGTesting is a process designed to
• Prove that the program is error free
• Establish that the software performs its functions correctly
• Establish with confidence that the software does its job fully

Concepts - Testing is the task of locating errors.

GOALS OF TESTING1. Find cases where the program does not do what it is supposed to do.
2. Find cases where the program does things it is not supposed to do.
The first goal refers to specifications which were not satisfied by the program while the second goal refers to unwanted side-effects.
Defects:
  • Not satisfying the Customer’s requirements.
  • Variance from the desired product.
  • Expected result is not equal to actual result.
It is defined as the lack of something necessary or desirable for completion or perfection. In other words, An imperfection that causes inadequacy or failure,

Defect Status
New Defect - Defect detected recently.
Open - Defect open for rectification.
Fixed - Open for rectification but not yet rectified.
Reopen - Again open for rectification.
Closed - Defect is rectified.
Rejected - Defect cannot be rectified.

Defects severity
Critical - we cant proceed with the application.
Major - we can proceed with the application.
Minor - Defects are negligible.

Defects priority
High - If it is critical
Medium - If it is major
Low - If it is Minor
Software Testing:
* Process of evaluating defects in a software application.
* Software testing is a process of analyzing or operating software for the purpose of finding bugs.
* According to the definition, testing can involve either "analyzing" or "operating" software.
* Test activities that are associated with analyzing the products of software development are called static testing. Static testing includes code inspections, walkthroughs, and desk checks.
* In contrast, test activities that involve operating the software are called dynamic testing.
* It’s a process of evaluating the system by manual or automation means and verifies that it satisfies specified requests and identifies the difference between expected and actual results.
Why Software Testing?
  • Software Testing is important as it may cause mission failure, impact on operational performance and reliability if not done properly.
  • Effective Software Testing delivers quality products satisfying user’s requirements, needs and expectations.
  • To unearth and correct defects.
  • To detect defects early and to reduce cost of defect fixing.
  • To ensure that product works as user expected it to.
  • To avoid user detecting problems.
Participants of Software Testing:
  • Software Customer.
  • Software User.
  • Software Developer.
  • Software Tester.
  • Information service management. (Group of people who gathers information from customers)
  • Senior Organization management. (Team leader and project leaders)
Basic Testing Types:

Static - review of documents.

Dynamic
Types
Functionality : Testing Functionality of application
Performance : Testing performance of the application