Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 1.2: Terminology & Taxonomy

Lesson 3 of 16 in the free Software Testing notes on Siksha Sarovar, written by Rohit Jangra.

Unit 1.2: Error, Fault, Failure & Incident

Understanding the difference between these terms is crucial in software engineering.

1. Definitions & Chain of Events

1. Error (Mistake):

  • A human action that produces an incorrect result.
  • Example: A programmer forgets a semicolon or misunderstands a formula.

2. Fault (Defect/Bug):

  • A manifestation of an error in the software. It is the incorrect code or logic.
  • Example: The line of code average = a + b / 2 instead of average = (a + b) / 2.

3. Failure:

  • Deviation of the specific module from its expected service. It occurs when the faulty code is executed.
  • Example: The program outputs "4.5" instead of "5.0".

4. Incident:

  • When a failure is observed and reported. It is the symptom visible to the user.

The Chain:

Person makes an ErrorCreates a Fault in codeExecution leads to FailureReported as an Incident.

2. Taxonomies (Classifying Faults)

Software faults can be classified into different categories to help understand their root cause.

TypeDescriptionExample
Requirement FaultsFailure to understand user needs or ambiguous requirements.Building a "Login" button when the user wanted "Sign Up".
Design FaultsErrors in architecture, logic flow, or database design.Choosing an inefficient sorting algorithm for big data.
Coding FaultsSyntax errors, logic errors, undefined variables.Infinite loops, division by zero.
Interface FaultsErrors in interaction between modules or external systems/APIs.Sending JSON data when XML was expected.
Performance FaultsSystem works but is too slow or consumes too much memory.Page load time > 10 seconds.

3. Test Cases

A Test Case is a set of conditions under which a tester determines whether a system is working as originally established or not.

Components of a Test Case:

  • Test Case ID: Unique identifier.
  • Test Description: What are we testing?
  • Pre-conditions: What must be true before starting (e.g., "User is logged in").
  • Test Steps: Step-by-step actions.
  • Test Data: Inputs (e.g., Username: "admin", Password: "123").
  • Expected Result: What should happen.
  • Actual Result: What actually happened.
  • Status: Pass/Fail.