Software Testing Career

More

Software Testing Jobs & Resume

More

Software Testing Skills

More
7
Apr
2015
0

Damn Bugs and their Lifecycle

A bug or defect in a software system is an error, fault, flaw or failure of the system that can cause any deviation from the intended use resulting in unexpected conditions.

The bugs are mostly introduced because of human mistakes, wrong interpretations, incorrect assumptions, lack of technical and business clarity but some may be generated by compilers by producing incorrect codes.

These bugs start unwanted processes and may extend a wide variety of effects affecting other systems, resulting in many inconveniences.

Quality is a team responsibility and every defect identified and resolved should be celebrated as team achievement.

One important point related to bugs is that sooner we find them, easier to kill (fix) them. Finding the bugs early in the SDLC helps prevent what is known as defect multiplication.

Some bugs have relatively lesser effects and may avoid detection, but others are more serious in their effects and may cause a system to crash or freeze.

Some other bugs may cause breakage of security by allowing a malicious user to bypass access control system and interfere with the system and obtain unauthorized privileges.

Software Defects/ Bugs normally classified as per many criteria, most important ones are:

  • Severity – Impact of the bug on the system.
  • Priority – Urgency with which it should be handled.
  • Phase Detected – At which phase of SDLC and what type of testing exposed the bug.
  • 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.

 

Also Read: Software Bugs Reporting Tools, Reporting Bugs

 

Bug Life Cycle

Bug life cycle is the lifespan of a software defect from the time it is born(identified) till it’s death (i.e. fixed and closed).

It starts when defect is found and ends when a defect is closed, after ensuring it’s not reproduced.

Defect life cycle is related to the bug found during testing.

Bug transitions to different states in the Life Cycle which can be represented diagrammatically as follows:

 

bug_life_cycle_image

 [Figure: Bug Life Cycle]

New – Bug identified and raised on defect tracking tool then it takes the initial state as new.

Screened – After the defect is raised, an auto notification goes to the module lead then he screens the defect for validity and after reviewing all the available information he takes a decision to either assign it to self or any other developer. If he is not convinced of the validity, he would put it in feedback with appropriate reasons or he may ask for more information to understand the problem.

Feedback –  When in feedback, discussion takes place between tester and developer and they come to a conclusion whether to go ahead with the fix or close the defect directly. Possible states from Feedback are Screened and then assigned or Closed based on the final decision. There could be many reasons for putting a defect in feedback:

  • Need more data
  • Fix already available
  • Not reproducible
  • Operator error
  • Duplicate
  • Invalid

Assigned – After it is decided to be fixed, it is assigned to a developer, and he analyzes and fixes the problem, gets it reviewed, performs unit test.

Implemented – After developer is satisfied with the solution, he changes the state to implemented and control moves back to the tester. It is for him to cross check the solution and verify the fix.

Verified – After the re-testing is done, either the fixed would have worked or failed. If it works, it is marked as verified and putting all the information related to execute test cases. If verification fails, defect is reopened with appropriate information and logs.

Closed – After verification is passed and all information put in the tool, it is closed and task is assumed completed.

You are almost there. Now that you know all about bugs , it time to get a peak into some of the most popular bug management tools. Keep on learning and keep on improving !!

Don’t forget to drop-in your comments or suggestions on this post to help us improve.


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