Tuesday, November 20, 2012

An example of a simple defect life cycle

This blog post is providing a practical example of what I think is a minimal defect flow, accompanied with the roles and responsibilities

In general the flow has 3 end statuses.
  • Rejected - Closed: This will tell something about the quality of defects that are raised. Rejects occur most often when registering duplicates or when the desired functionality is not well understood.
  • Tolerated - Closed: Defects that end in this status are defects that are known. When going to production, these are the known issues that the product will be shipped with. We need to keep them separated from the rejected and fixed defects.
  • Fixed - Closed: Defects that end in this status are unambiguously fixed defects that have been found resolved.
 Some roles have been defined, regarding the defect flow
  • Issuer: Anyone who registers a defect. This is not necesarily a tester.
  • Tester: Someone who is trained in testing, knows the functionality of the product to be delivered and has a brief technical insight into development, infrastructure and architecture. The tester can challenge the not accepted defects and is able to retest defects in their context.
  • Defect manager: Someone who has development insight and decision power to accept, not accept and assign defects. This can role often maps on a development management role. 
  • Developer: A wide role for anyone who can fix defects in the code, infrastructure, parametrization or even in the design documentation. A defect does not necessarily reside only in code. A defect can also be an inconsistency in the design documentation.


On top of this it is advised to agree on SLA's on defect resolution times and agree on defect severity levels and/or priority levels. They can be combined and interrelated.
I mostly use the following basic levels:

  • Urgent -  Prio 1: Defect needs a patch - testers or users are blocked and no workaround can be put in place - Patch required within 2 working days
  • High - Prio 2: Defect might need a patch but a workaround can be put in place or a less substantial amount of functionality is blocked. - Update required in a week
  • Medium - Prio 3: Defect needs to be resolved, but there is a workaround possible. - All defects need to be resolved before go-live
  • Low - Prio 4: Cosmetic defects. - 70 percent of defects need to be resolved before go-live
Sometimes cosmetic defects increase in ranking, when for example they occur on documents that are sent out to customers.

The status flow and its description below depicts the minimum requirements for a defect flow to be implemented.



From status Responsible Description To status
- Anyone / Issuer Anyone who finds a defect, can register it in the system. A defect has an unambiguous title, a clear description of what is expected and what is observed and is evidenced. Open
Open Defect manager Assesses the opened defect and decides that the defect is valid. The defect is not yet in the pipeline of being resolved but it has been agreed with a developer to start working on, taking priorities and timelines into consideration Accepted
Open Defect manager Assesses the opened defect and decides that the defect is not valid. The defect is updated with the rationale behind the disagreement. Not accepted
Not accepted Tester The Tester assesses the non accepted defects and where they do not agree, they discuss with the defect manager and project manager. TOGETHER, they agree that the defect is valid and move the defect to the accepted status and directly assign it to a developer. Accepted
Not accepted Tester The tester assesses the  non accepted defects and where they agree, they consult with the issuer of the defect that it can be rejected. Closed Rejected
Accepted Developer The developer indicates that they start working on the defect assigned to them. In progress
In progress Developer The developer agrees with the project manager that other defects get priority over this particular defect under fix. The defect fix is put on hold. On hold
In progress Developer The developer indicates that the fix has been made and updates the defect with information on the fix that has been applied Fixed
On hold Defect manager The defect manager or development manager propose defects that can be tolerated in the release of the software to production. The defects that are accepted by all stakeholders, move to the status closed-tolerated so that they can be addressed in a later release. Closed Tolerated
Fixed Defect manager When a build or fix is released in a test environment, the defects that were fixed, will be re-testable. The defect manager updates those defects to the retest status. Retest
Retest Tester/issuer Any defect to be retested is taken up by a tester to verify if the defect has been really fixed in all instances. When the defect has been partially fixed or not fixed (not when another regression defect occurs) the defect is set to the status Open with the according evidence and comments. Open
Retest Issuer Any defect to be retested needs ultimately retesting of the issuer of the defect. When the fix is confirmed, the issuer brings the defect to the final status of Closed-Fixed Closed-Fixed




61 comments:

  1. What if a defect issued by a non-tester is 'not accepted'? Who gets to challenge the defect manager's decision to not accept it?

    I like that you uncouple defect registration from pure testing. Anyone involved in the project can register a defect. In many ways a defect raised by a business user can be more valuable or insightful than one raised by someone who is solely focused on testing.

    So perhaps you should take extra care in handling these business raised defects.

    On the other hand, you don't want business raising defects for every little problem they think they've seen. Those may be perfectly acceptable at that particular stage of the project.

    Do you have any thoughts on this?

    ReplyDelete
  2. Thanks for your consideration Tom.
    I totally agree to always treat your business users with extra care and also think you are correct that they often need guidance on what to register and what not and even on how to register defects.
    I think it is a testers job to assess the not accepted defects in the first place. The tester takes the lead and consults. They also guide business users in their frustrations.
    Sometimes it can be very clear and then the tester can even decide, depending on the authority that is given to them. However the business user should be at least aware of rejected defects and give their consent of giving this authority to the tester.
    When in doubt, the business user should be consulted in the decision making process. The tester than has a mediating role.
    In my opinion, the final decision of defects under discussion lies most of the time with the project manager as they own the budget for fixing.
    Sometimes even, for example, small change requests can be treated as defects if there is a budget foreseen for that. These occurrences however, don't belong in a basic defect flow.

    ReplyDelete
  3. Hey Mike, I have to say that I really learned a lot from your statuses, roles and the flow chart. It's great to have a difference between closed-rejected an closed-tolerated as well as an on hold status.

    I think your flow chart is really great and should be on a wall in every company. When the time comes, I too might print out a copy and put it into a number of offices :)

    Thanks,

    Sam

    ReplyDelete
  4. You're welcome.
    And thanks for the feedback!
    It is much appreciated.

    ReplyDelete
  5. Your blog is really awesome. I gathered some valuable information from this blog. Thanks for sharing this blog. If anyone want to get PHP Course in Chennai, please visit Fita academy located at Chennai, Velachery.

    ReplyDelete
  6. These examples are very useful to find out the defect in the product.These exaples also helped for my project.
    QTP Training in Chennai | Selenium Training in Chennai | Software Testing Training in Chennai | Software Testing Training in Chennai

    ReplyDelete
  7. Thanks for sharing this excellent post. Its really very informative and interesting. Keep update your blog. For a best Android training in Chennai please refer this site.
    Regards....
    Android Training in Chennai

    ReplyDelete
  8. I have read your blog and i got a very useful and knowledgeable information from your blog. its really a very nice article.You have done a great job .

    Regards......

    Cloud Computing Training Centers in Chennai

    ReplyDelete
  9. Testing is the only way to deliver reliable products in the Information Technology market(Software testing training in chennai). Articles like this are vital in improvising one's ability as a software testing professional(Software testing course chennai). Thank you so much for sharing this information in here(Software testing training chennai). Keep blogging.

    ReplyDelete
  10. Manual testing is the process of testing the software manually in order to detect the software defects. It requires the role of tester to deliver the product efficiently to the customer and use all of its application to ensure that it works correctly
    manual testing training institute in chennai | manual testing training





    ReplyDelete
  11. I've a web application to test with selenium webdriver tutorials automation. That is a lot of Java Script working on page-load.
    This JavaScript code is not so well-written but I can't alter something. So awaiting a feature to appear in the DOM with findElement() method isn't an option.
    I'd like to create a common function in Java to await a full page to fill, a potential remedy might be :

    Operate a JavaScript script from WebDriver and keep the result of document.body.innerHTML in a string variable physique.
    Evaluate the human body variant to the previous edition of a physique. if they can be the same then establish increment a counter-top notChangedCount otherwise establish notChangedCount to no.

    ReplyDelete

  12. Selenium supports an easy range of browsers, systems and platforms.

    Selenium Pieces

    Selenium isn't just a simple resource or a utility, instead a deal of numerous tests methods as well as for precisely the same motive it's referred to as a Selection. All these instruments was created to cater unique assessment and check environment specifications

    . For more info on this visit here

    ReplyDelete
  13. Resizing a website factor applying movebyoffset
    Normally when ever we should adjust the size of an element we do with the assist of mouse personally. Now we will have to resize OR adjust how big a feature applying webdriver steps course with moveByOffset which techniques the mouse place from its current place by the presented offset . For more info on this go here

    ReplyDelete
  14. simple defects of the life cycles in blog..
    SAS online training in hyderabad

    ReplyDelete

  15. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
    digital marketing course in Chennai | digital marketing training in Chennai

    ReplyDelete
  16. This comment has been removed by the author.

    ReplyDelete
  17. The blog gave me idea about simple defect life cycle My sincere thanks for sharing this post and please continue to share this kind post
    Software Testing Training in Chennai

    ReplyDelete
  18. I’ve read some good stuff here. Definitely worth bookmarking for revisiting. I surprise how much effort you put to create such a great informative website.
    ccna courses london

    ReplyDelete
  19. really you have posted an informative blog. it will be really helpful to me to get some knowledge about software testing. so keep on sharing such kind if an interesting blogs.
    software testing training in chennai

    ReplyDelete
  20. This comment has been removed by the author.

    ReplyDelete
  21. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
    Hadoop Training Institute In chennai

    amazon-web-services-training-institute-in-chennai

    ReplyDelete

  22. Thank you for sharing valuable information https://www.credosystemz.com/training-in-chennai/best-software-testing-training-in-chennai/

    ReplyDelete
  23. I am really happy with your blog because your article is very unique and powerful for new reader.
    Click here:
    Selenium Training in Chennai | Selenium Training in Bangalore | Selenium Training in Pune | Selenium Training in Chennai

    ReplyDelete
  24. Interesting blog post. This blog shows that you have a great future as a content writer. Waiting for more updates... Java Training in Chennai | Blue prism Training in Chennai

    ReplyDelete
  25. Hmm, it seems like your site ate my first comment (it was extremely long) so I guess I’ll just sum it up what I had written and say
    nebosh course in chennai

    ReplyDelete
  26. Really you have enclosed very good information's. it will educates lot of young students and please furnish more information's in future.
    Angularjs course in Bangalore
    Angularjs Training institute in Bangalore
    AngularJS Training in Anna Nagar
    AngularJS Training in T nagar

    ReplyDelete
  27. The way of you expressing your ideas is really good.you gave more useful ideas for us and please update more ideas for the learners.
    AngularJS Certification Training in T nagar
    AngularJS courses in Anna Nagar
    Angularjs course in Bangalore
    Angularjs Training institute in Bangalore

    ReplyDelete
  28. In the beginning, I would like to thank you much about this great post. Its very useful and helpful for anyone looking for tips. I like your writing style and I hope you will keep doing this good working.
    aws training in bangalore
    AWS Training
    Aws Certification in Chennai
    best aws training in bangalore
    Best AWS Training in Chennai
    AWS Training in Chennai

    ReplyDelete
  29. Great Blog thanks for sharing. The digital marketing company in chennai providing a Best digital Marketing Service in Chennai.

    ReplyDelete

  30. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
    RPA using UI PATH Training in Electronic City

    ReplyDelete
  31. This post is really nice and informative. The explanation given is really comprehensive and informative.... software testing training online

    ReplyDelete
  32. Nice article i was really impressed by seeing this article, it was very interesting and it is very useful for me.I get a lot of great information from this blog. Thank you for your sharing this informative blog..
    Salesforce Training in Chennai

    Salesforce Online Training in Chennai

    Salesforce Training in Bangalore

    Salesforce Training in Hyderabad

    Salesforce training in ameerpet

    Salesforce Training in Pune

    Salesforce Online Training

    Salesforce Training

    ReplyDelete
  33. Thanks mate. I am really impressed with your writing talents and also with the layout on your weblog. Appreciate, Is this a paid subject matter or did you customize it yourself? Either way keep up the nice quality writing, it is rare to peer a nice weblog like this one nowadays. Thank you, check also event marketing and Monetization: Find Your Sweet Spot

    ReplyDelete
  34. Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging. After seeing your article I want to say that also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.

    Saleforce Training in Gurgaon
    Saleforce Developer Training in Gurgaon
    Salesforce lightning training in Gurgaon

    ReplyDelete
  35. Acquire the Trending Software Courses from Infycle Technologies, get DevOps Training in Chennai the best software training Institute in Chennai. And we also come up with other technical courses like Cyber Security, Graphic Design and Animation, Block Security, Java, Cyber Security, Oracle, Python, Big data, Azure, Python, Manual and Automation Testing, DevOps, Medical Coding etc., and we also provide excellent technical trainers with best training 100+ Live Practical Sessions with Real-Time scenarios at the end of the course the freshers, experienced, and Tech professionals will be able to obtain more knowledge of the course and be able to get through the interviews on top MNC’s with an amazing package. For more details approach us on 7504633633, 7502633633.

    ReplyDelete