Software Testing Career

More

Software Testing Jobs & Resume

More

Software Testing Skills

More
9
Apr
2015
0

Reporting Software Bugs

Bug identification is only half the job, more important is to get it fixed and in order to get it fixed you must report it.

How you choose to report it, will decide how well and quick it will be resolved.

It is no secret that to transfer the knowledge of existence of a bug, it is necessary that the bug should be reported in a way that is identifiable, clear and understandable that is specifically described and reproducible.

To identify a bug it must have an identification number clearly assigned for each specific case.

This may include the test suite number and test case number.

Also, the testing environment and other specific conditions must be mentioned. The reporter details also should be included for traceability and to avoid looking for the same bug repeatedly.

The type of reporting and severity of impact on the software under test needs to be mentioned.

The report types are typically:

  • Coding error
  • Design error
  • New suggestion
  • Documentation issue
  • Hardware problem

 

Also Read: Software Bugs Reporting Tools, Software Bugs and Bug Lifecycle

 

A good bug report will have following information:

    1. Unique Identification Number – It must have a unique identification number for communicating.
    2. Summary – One line summary capturing the essence of the problem with release number and module affected. This is important because when reviewing a long list of problem report, each record should tell the manager or whoever is checking about what the problem is, which functional area it belongs to and release/build it is seen in and uses the bug id to create further reports.
    3. Description – It should have details of the problem description, which explains the context in which the problem is seen. It should cover details of the documents being referred to for testing, feature or functionality being tested, pre-conditions, environment used, input values and actual results. Also, mention expected results.
    4. Steps to Reproduce – Clearly and precisely mention steps to reproduce the problem.
    5. Originator – Name and email contact of the person raising the defect.
    6. Product – Product Name being tested.
    7. Release Number – Usually work goes on in multiple releases in a company based on features. Hence, release number is important to be mentioned.
    8. Build Number – There is a concept of weekly and daily builds and the tester works on a particular release so this needs to be mentioned, in order to make it easy for the developers and others to refer to the exact version of code.
    9. Functional Area – Mention the module in which problem was first seen.
    10. Operating System – Mention the OS in which problem is reported.
    11. Priority – Urgency with which it should be handled.
    12. Severity – Impact of the bug on the system.
    13. Status – A defect starts from “new” state after being created and it is considered done only after it is “closed”. It goes through multiple state transitions in between known as the bug lifecycle. Every state must be captured
    14. Phase Detected – At which phase of SDLC and what type of testing exposed the bug.
    15. Phase Injected – At which phase it was introduced, knowing this is important to highlight what can we do to not let it pass on to next phase next time.
    16. Workaround – Steps followed to temporarily solve the problem in order to move ahead with test.
    17. Assigned To – Name and/or id of developer who works on it.
    18. Feedback – A developer should have an option to challenge the tester on the validity of the defect or request the tester for clarification. Hence, feedback is also an important section.
    19. Logs & Traces – Attach all the relevant logs and traces. If needed, attach screenshots. If size is high save it in some repository and provide the link in the defect.
    20. Regression (Yes/No) – It really is helpful if it is clearly mentioned with just a Yes or No on whether it is a regression or a new problem.
    21. Root Cause Analysis – A section covering root cause analysis is good idea along with defect details it helps everyone to understand the problem and get learning out of it for future.
Objective of reporting a bug should be to get it fixed.

Factors to consider while Bug Reporting:

  • Since we are talking about bugs reporting, it seems apt to point out that it is important for testers to not get carried away by raising every other bug with high priority and/or high severity.
  • Although the onus is on testers to set the priority/severity but it can and will be challenged if not in accordance with the quality standards followed by the organization and business requirements.
  • As a tester it is your responsibility to not unnecessarily increase the defect count, for e.g., if two issues are identified where one is dependent on the other then one defect should be raised explicitly highlighting two issues instead of two.
  • Another important criterion for bug reporting is quality of reproduction. If a tester reports a bug and the programmer cannot see the bug as reported it may not be fixed.
  • Bugs are required to be reported with inclusion of all the specific test conditions so that we have every to reproduce the problem.
  • It should be made sure that it is not an intermittent issue and after confirming clearly mention the steps to reproduce. If it is an intermittent issue, mention so, if there are sufficient logs developer might solve it but even if he won’t, at least everyone is aware of its existence and can add some debug trace to take care of it in future.
  • Tone should be polite and firm when reporting bugs.
  • Before submitting the bug report it should be checked rigorously for any ambiguity in description or improper wording.
  • Any screenshot or other relevant document may be attached to the bug report for better understanding.

We have tried to cover this topic using our experience working with real time problems faced while reporting bugs, try to learn from them if you are starting as software tester.

If you are already working as software tester share your experiences and help us improve this post .


Comments 0

  • HERE IS WHAT YOU’LL RECEIVE

    • Get Articles on Upcoming Training, Seminars and Workshops1
    • Get Tips and Tricks for Resume, Coverletter and Interview Prepration
    • Latest Industry Updates
    • Your Details are safe with us
  • Other Training Courses

    JMeter is an open source Java application designed to load test, functional behavior and effective performance testing tool for QA. This course is designed for QA to familiarize with JMeter load test tool. The main focus is to practically use of…

    More

    Software Testing Intensive(STI) is designed to assist newcomers to join the software testing field and gain intermediate to advanced level software testing skills. The candidates will be able to manage to perform testing throughout the test life cycle. This course also helps the intermediate testers to gain the absolute confidence in software testing field in web as well as mobile application.

    More

    This course include includes an intensive workshop where you are learning all the mental barriers you need to avoid and the game plan you should be creating. You will also be practically doing and updating all the necessary marketing collateral for your job applications with confidence by using world class material and resources this course provides to all its students.

    More

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Appium as a tool for mobile test automation is getting very popular in the market for mobile automation testing not only it is an open source but also is absolutely free for open discussions in communities to get quicker solutions.

    More

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    This course include includes an intensive workshop where you are learning all the mental barriers you need to avoid and the game plan you should be creating. You will also be practically doing and updating all the necessary marketing collateral for your job applications with confidence by using world class material and resources this course provides to all its students.

    More

    .Net Developer Advanced Training

    This course is about to gain understanding of advanced level knowledge of Microsoft .Net framework. It will cover advance development using ASP.NET, Data Binding and Web Configuration, C# Advance features, Web Service Implementation and many more advanced topics.

    More

    .Net Developer Training

    This course is about to gain understanding of current IT industry and prepare yourself for Microsoft .Net Developer Position. In this course, you will learn various Microsoft .Net tools and technologies. It will help you to build and deploy website from scratch using .Net framework. At the end of this course, you will be able to give web solutions using .Net technologies to the businesses, and able to attend interview for .Net developer position.

    More

    Advanced LinkedIn For Job Seekers

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    Agile Testing Intensive (AgTI)

    Understanding of Fundamentals Software Testing

    More

    AJS1: AngularJS Development Level 1

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    AJS2: AngularJS Development Level 2

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Automation Testing Intensive Level 2(ATI2)

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Blockchain Fundamentals 101 Training

    The Blockchain Fundamentals 101 training course provides and excellent platform to learn the basics of the blockchain. This course is for the professionals who want to understand background of the development of the blockchain, what are the major players and the full ecosystem around blockchain. You’ll also learn various business use cases for the Blockchain and the industries using it.

    More

    Oracle Training

    The Oracle well known, widely used Database is an object-relational database management system produced by Oracle Corporation. This is the ideal course for any tech savvy programmer, DBA, SQA…

    More

    Ruby Scripting Training

    Ruby is a scripting language designed by Yukihiro Matsumoto, also known as Matz. It runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX. Ruby Scripting language is dynamic and object oriented. In a sense, it’s a purist’s language for those who love object-oriented languages. Everything, without exception, is automatically an object, whereas in other programming languages this isn’t true. It is simple enough for beginning programmers to use while also powerful enough for experienced programmers to have all the tools they’d need.

    More

    SQL for Testers Training

    If you are new to software testing or looking for a career change to become a software tester Understanding the relational data model behind an application enables you to design additional tests…

    More

    SQL Training

    SQL (Structured Query Language) is a programming language intended for managing data held in relational database management systems (RDBMS). SQL expertise are advantageous in a number of professions such as database developers, report writers, business analysts, computer programmers, web developers, testers and data analysts. SQL has a shorter learning curve compared to other skills like business analysis or computer programming or testing.

    More

    VB Scripting Training

    VB Script is a subset of Visual Basic 4.0 language. It was developed by Microsoft to provide more processing power to Web pages. VB Script can be used to write both server side and client side scripting.

    More

    Front End Web Development

    Front End Web Development (FED) is a training which will allow candidates to understand about HTML5, CSS3 and JavaScript, Ajax along with a few key frameworks such as Bootstrap and jQuery. This course also helps you work on creating your own basic application throughout the course.

    More

    FWD2: Frontend Web Development Level 2

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Interview Like a Pro

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    ISTQB Certification Training

    ISTQB foundation course allows you to learn from the very core fundamentals to advance level software testing concepts. The course is intended for anyone who is new to testing or has been in the testing and wants to learn more in details…

    More

    Java Development

    Skiva is a leading IT consulting firm based in Sydney, Australia. Our team of dedicated developers and experienced IT professionals allows us to develop every kind of software application required for improving and max imising the functionality of both new and existing websites. Our sole aim is to help you grow your business, by developing an informative and dynamic website that produces effective and profitable conversion rates for website traffic.

    More

    Java Fundamentals Training

    Fundamentals of Java is a very comprehensive yet simple course on java programming which concentrates on basic concepts of Java. This course is great because it covers just the right amount of Java which is needed for automation, but this course does not cover Selenium WebDriver or any other type of automation tool. Java is one of the most and useful programming languages to learn. You will get the best in class support from the instructor for any question you have related to the course.

    More

    LoadRunner Training

    One of the most crucial test tool to load test the application and measure the performance. Why to load test application, Is application scalable to withstand concurrent number of users? All such answers and application performance…

    More

    Mobile App Testing

    Mobile App testing consists of several of the same processes as other software testing. Application software which has been created, or enhanced for any portable devices, is checked to ensure that it is consistent in results, usable, and functions as it was intended to. Mobile applications may be factory installed or installed from a software distribution platform, while the growth of the number of mobile devices has been matched by the opportunities for new smartphone and other apps.

    More

    Mobile Test Automation With Appium

    Appium as a tool for mobile test automation is getting very popular in the market for mobile automation testing not only it is an open source but also is absolutely free for open discussions in communities to get quicker solutions.

    More

    Psychology & Mindset For Job Seekers

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    QTP Test Automation Training

    QTP (Quick test professional) course series designed for beginner automation QA to advanced level QA for automation. This course covers all concepts and basics fundamental with complete in depth examples…

    More

    Rockstar Resume & Compelling Cover Letter That Sells

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    Salary Negotiation to Probation and Promotion

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    Software Testing Training Career Package

    Software Testing course allows you to learn from the very core fundamentals to advance level testing course which is intended for anyone who is new to testing or have been in the testing and want to learn more in details.

    More

    Ultimate Job Search Strategies To Find Hidden Job Market

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    User Acceptance Testing

    User Acceptance Testing is normally the pre-production testing that is done by Users or probably the Product Owners in Agile terms.

    More