How to report a Bug
this section describe the importance and describe how to report a bug to the "Product team"
Last updated
this section describe the importance and describe how to report a bug to the "Product team"
Last updated
Know how to report a bug is essential for the development and improvement of any software. It allow us to identify, test and fix any error, allow us to obtain a better and more stable tool. Some important reason on how to report a bug are:
Issue resolution: Clear and accurate bug reports provide developers with the necessary information to understand the problem and reproduce it. This enables them to identify the root cause and implement appropriate fixes, leading to prompt issue resolution.
Quality improvement: Bug reports help software teams identify patterns and trends in the reported issues. By analyzing the data, developers can identify common problems and make informed decisions to improve the overall quality and user experience of the software.
Efficient communication: Well-documented bug reports with detailed steps to reproduce, expected and actual behavior, and relevant system information help developers understand the problem quickly. This reduces the need for back-and-forth communication, saving time for both users and developers.
User satisfaction: When users take the time to report bugs, it demonstrates their engagement and commitment to improving the software. By addressing reported issues promptly, developers can enhance user satisfaction, build trust, and retain a loyal user base.
System stability: Reporting bugs helps identify critical issues that can cause system crashes, security vulnerabilities, or data loss. By addressing these problems, developers can ensure the stability and integrity of the software, minimizing potential risks for users.
Keeping this reasons in mind, we can proceed with the considerations while reporting a bug:
Title of the bug: a good title will give us 2 things, 1)identify easily the bug from a large list of bugs and gives a first description, having this in mind we need to enter a short and specific description. Below we will present a bad and good example of titles.
Environment/system information: this information is important because it allow us to allocate the version where the bug was first fined, some common information shared in this section is the OS, app platform, software version. in the case of the "Product team" requires also the DCPs and components versions from the different products (WinForms, Janus or C1)
Steps to reproduce the bug: It is essential to include detailed steps for reproducing the error. The report should outline the process of discovering the bug and describe the actions that can show it to end-users. When writing these steps, testers or bug reporters should assume that developers have no prior knowledge of the bug. Therefore, precise instructions are necessary to reproduce it accurately, it is crucial to write them in a simple and clear manner. Other important aspect to discuss are the pre-requisites that the developers may need to reproduce the bug.
For instance, consider the following steps to recreate a bug that hinders the checkout process for users: Pre-requisites
Clean Database.
Run Database backup file.
Validate the database was loaded correctly. Steps
Log in using a personal account.
Click on the "Buy Now" button for any product.
Proceed by clicking the "Checkout" button.
When explaining how to reproduce the bug, it is vital to include all the necessary steps. Omitting even a minor step may prevent developers from encountering or fixing the bug effectively.
Acceptance criteria/Expected result: In addition to providing reproduction steps, a bug report should contain information about the expected results of the tested function or feature. The expected result represents the desired outcome that would occur if there were no bug affecting the functionality being tested. It defines how the software or feature is intended to work. When describing the expected results, testers and bug reporters can refer to three sources:
Customer expectations: The primary consideration should be the expectations of the customers whose user experience we aim to enhance. Understanding their desired outcomes is crucial.
Established standards: If customer expectations are not available, established standards for software appearance and functionality can be used as a reference. These standards provide guidance on how software should ideally behave.
Personal analysis: Developers can use their common sense and logical reasoning to make predictions about how the application should function in specific scenarios.
It's important to indicate whenever is possible to add any visual reference to use as a expected result whether the reference may be a video or image, this might reduce wrong or uncomplete fixes of any issues reported.
When developers have a clear understanding of the expected results, they can assess the extent to which the bug disrupts the intended outcome. This understanding helps them devise appropriate solutions to fix the problem.
Description: When we talk about the description of a bug, we're referring to the specific outcome or behavior that we observe when the bug happens in a software application or system. It's all about what actually takes place when we're using the affected functionality.
When we're writing down the actual result of a bug, it's crucial to be detailed and specific. We need to describe exactly what we see happening. This could include things like unexpected outputs, error messages that pop up, the program crashing or freezing, or any other weird things that occur and don't match what we expected. The description is super important for developers, testers, and anyone else involved, as it helps us understand the bug better. It gives solid evidence of the issue and makes it easier to reproduce, diagnose, and fix the bug. When we accurately describe what we're seeing, it helps the whole team work together more efficiently. Developers can analyze the problem more effectively and come up with the right solutions or workarounds. Plus, it helps us keep track of progress and ensure that the bug gets successfully resolved during testing and quality assurance.