Showing posts with label Bug. Show all posts
Showing posts with label Bug. Show all posts

Thursday, May 4, 2023

What is the difference between Mistake, Error, Bug, Defect, Fault and Failure?

Testing is the process of identifying defects, where a defect is any variance between actual and expected results. “A mistake in coding is called an Error, an error found by a tester is called a Defect, a defect accepted by the development team then is called Bug, build does not meet the requirements then it Is Failure.”

Although the terms "mistake," "error," "bug," "defect," "fault," and "failure" are often used interchangeably in everyday language, in the world of software development and quality assurance, they have distinct meanings. Here are some definitions to help differentiate between them:

1. Mistake: 

  • A mistake is a human action that produces an incorrect result. In software development, this could be a coding mistake, such as a typo or a logic error, made by a developer.

2. Error: 

  • An error is a deviation from the expected behaviour of a program, which can occur due to a mistake made by a developer or because of some other external factor, such as hardware malfunction or network failure.

3. Bug: 

  • A bug is a specific type of error that is caused by a fault in the code, which can be as simple as a missing semicolon or as complex as a race condition. Bugs are typically discovered during testing or after the software has been released.

4. Defect: 

  • A defect is a flaw in the software that causes it to deviate from its intended behaviour. This could be due to a design flaw, a coding mistake, or an error in the requirements specification.

5. Fault: 

  • A fault is a defect that exists in the software but has not yet been activated or triggered. For example, a race condition in the code may not cause a problem until the software is run on a specific hardware configuration.

6. Failure: 

  • A failure is an event in which the software does not behave as expected, resulting in a loss of service or data. Failures can be caused by errors, bugs, defects, or faults, and can occur at any stage of the software development process.

Thursday, April 27, 2023

How To Test Software - Get Functional Defects

1. User Interface Issues
  • Poorly designed user interfaces can cause several defects, such as non-responsive buttons, broken links, or incorrect field validations.
2. Data Integrity Issues
  • Defects in data integrity may occur when the system doesn't validate the data or doesn't store it correctly. An example of this is if a user enters an email address with an incorrect format, and the system accepts it.
3. Functionality Issues
  • Functionality defects occur when the system doesn't meet the business requirements. For example, if a banking application doesn't allow users to transfer funds between accounts or a social media platform doesn't enable users to create a new post.
4. Integration Issues
  • Integration defects arise when different modules or systems don't work well together. An example of this is if a CRM system doesn't synchronize data with a marketing automation system.
5. Boundary and Limits Issues
  • Boundary and limits issues may arise when the system doesn't handle inputs or outputs correctly that are at the boundaries or limits of the system. For instance, if a system doesn't allow negative values for certain inputs.
6. Business Logic Issues 
  • Business logic defects occur when the system doesn't correctly implement the business rules or logic. For example, if a discount code isn't applied correctly or if a system calculates taxes incorrectly.
7. Compatibility Issues
  • Compatibility defects may occur when the system doesn't work correctly with different browsers or operating systems. For example, if a website works fine on Google Chrome but doesn't display correctly on Mozilla Firefox.
8. Localization Issues
  • Localization defects occur when the system doesn't support various languages or regions. For instance, if a website's interface is not translated into Spanish, which is a required language for the user.
9. Accessibility Issues
  • Accessibility defects may arise when the system doesn't provide easy access to all users, such as people with disabilities. For example, if a website doesn't offer a screen reader or keyboard shortcuts.
10. Usability Issues
  • Usability defects occur when the system doesn't provide a user-friendly experience. For instance, if a user has difficulty finding the right button or menu item or if the user manual is hard to understand.
 Functional defects can impact the quality and performance of a system, leading to a negative user experience. As testers, it is crucial to identify these defects early in the software development lifecycle to prevent them from affecting the system's overall quality.

Saturday, April 22, 2023

The Most Famous Software Failures of All Time

 1. Memory Failure - Tesla Recalls 135,000 Vehicles
  •  Tesla will recall a maximum of 135,000 cars to fix computer memory issues in the touchscreen that could cause a loss of some features notified the electric car manufacturer to the U.S NHTSA (National Highway Traffic Safety Administration).
  •  The manufacturer said that the touchscreen’s flash memory reached the end of its lifespan. It can trigger failures of the software components of the centre monitor and can unintentionally lead to the loss of external turn signal lighting, rearview camera display, and defog/defrost control settings.
2. HSBC’s Significant IT Outages
  • One of the famous software failure examples. HSBC experienced a big IT outage in January 2016 and millions of bank customers were unable to access online accounts. The bank took almost two days to recover and get back to normal service. The Chief Operating Officer of HSBC (COO) claimed that this was the result of a ‘unique technological problem’ within internal systems.
3. Prison Break
  •  An error that happened in December 2015 resulted in more than 3,200 US prisoners being released before their announced date of release. The software was developed to track the actions of prisoners and was released in 2002. The problem has been around for about 13 years and an average inmate has been released almost 49 days in advance.
4. The Explosion of the Ariane 5
  •  On June 4, 1996, an Ariane 5 rocket launched by the ESA (European Space Agency) exploded just forty seconds after its launch from Kourou in French Guiana. The rocket was on its inaugural voyage, after a decade of development costing $8 billion and the result of this bug was the loss of $370 million.
  •  The reason behind its failure was an integer Overflow, which is a widespread bug in computer programming. In this case, an attempt was made to set a 64-bit number in 16-bit space.
5. PayPal accidentally credits man $92 quadrillion
  •  When Chris Reynolds opened his PayPal e-mail statement, the Pennsylvania PR executive’s account balance was $92,233,720,368,547,800.
  •  The amount is significant in the world of 64-bit numbers suggesting a programming error. The error was quickly recognized, and his account had returned to zero by the time he logged in.
  •  PayPal offered to give an unspecified amount of money to a cause of Reynolds’ choice.
6. Windows Calculator Bug
  •  This bug exists in most Windows versions(except in Windows 10), including Windows XP, Windows 7, Windows Vista, and Windows 8. You can check it in your OS if you have one of these versions.
  •  Steps: Open Windows Calculator, type 4 and take the square root, you will get two then subtract two from it. Instead of the result from zero, you will see different outputs on different versions of Windows.
  •  The cause for the bug is the way calculator manages sqrt operations. The results are saved as floating-point numbers instead of integers, and the precision errors when it comes to floating-point calculations are the result that you can see.
  •  Microsoft acknowledged this bug in the calculator app, and they fixed it in Windows 10 Build 17639.
7. Gangnam Style music video ‘broke’ YouTube
  •  YouTube’s counter before used a 32-bit integer, which is a unit used to represent data in computer architecture. This 32-bit integer determines the maximum number of possible views it can count was 2,147,483,647.
  •  The Gangnam Style video exceeded the maximum value, and we got the below famous Gangnam Style YouTube bug.
  •  Nowadays, YouTube uses a 64-bit integer for its video counter, which means videos have a maximum viewer count of 9.22 quintillion.

Thursday, April 20, 2023

How to Write a Good Bug Report: A Comprehensive Guide

1. Clear Summary:
  •  Summarize the bug clearly.
  •  The summary should give the bug's full picture in a single sentence.
2. One Issue = One Bug:
  •  Do not combine multiple issues in one bug.
  •  Because different bugs can be assigned to different developers to fix.
3. Clear & Detailed Description:
  •  Expand the summary in description-simple and precise.
  •  Provide as much information as possible.
4. Steps To Reproduce:
  •  How can you reproduce the bug - mention it in bullet points.
  •  Clear enough developers would reproduce and fix quickly.
5. Expected & Actual Results:
  •  What is the requirement & what is happening?
  •  The developer knows what is the issue by looking at it.
6. Additional Details As Notes:
  •  Write about your additional observations.
  •  Helps developers to analyze & hence fix bugs quickly.
7. Environment Details:
  •  Where have you tested - QA/PRD/CHROME ETC.
  •  Developer compares this with other environments.
8. Build Number:
  •  In which version of the application you found the bug.
9. PRIORITY:
  •  How soon the bug should be fixed.
  •  Can be HIGH/LOIW/MEDIUM.
10. SEVERITY:
  •  Impact on the product.
  •  Can be CRITICAL/MAJOR/MINOR/TRIVIAL.
11. Screenshot/Screen Recording:
  •  Evidence of the bug.
  •  Can be screenshots or screen recordings.
12. Link the related test case and or story:
  •  Link bug to story/test case you are testing.
  •  Can be 'Associated With' OR 'Blocked By'.
13. LOGS:
  •  Attach log file or snippet of log.
  •  This is a mine of data for developers.
14. Avoid Duplicates:
  •  Check if already bug is reported by someone.