GR Testers 11 March 2013 Defect Types: What are they, How and When to Test for them? Bug Taxonomies.. Taxonomy: the study of the general principles of scientific classification (Websters) Phil's opening gambit - Kaner's Testing Computer Software - 400 types of defects eCommerce - book w/ 60 types of defects Binder's approach - knowing in advance (or believing) the nature of the bugs one might find Bach's comment - If there's a bug in the system, how am I going to find it? * Memory leaks ? How do you find them? * Usability ? * Race Conditions - Deadlocks, on and on and on Phil is passing around Copeland's book on "Practitioners Guide to Software Test Design" Wade citing http://quality-assurance-software-testing.blogspot.com/2005/08/defect-taxonomies.html on defining defects & defect sources. (We're not sure if we as a group agree, but this is an interesting point for discussion.) Greg - Sometimes experience with past work can guide us in where to test and how. Pete - Past experience is our ideal place to begin - Aaron chiming in as well, and Greg makes the point that sometimes /sometimes/ the mere communication of the idea or learning what is needed is a challenge in itself learn how your souces communicate! Also need to remember that this is the starting point, not an exclusive list. Usability sometimes get short-shrft - some shops don't care about it - devs say "its just a usability thing" (variation on WAD?) others go the opposite - UI gets all the attention - COOL! - but the underlying framework is rubbish ** it helps if people have a clue how the app works in the wild. Sometimes, the installation/Customer Support folks have a better clue than we (tech/design/development) "What we have here is a failure to communicate." Customers using the s/w "wrong" "communicating" with reps - not actual users - and people "communicating" may not really get the main purpose What about the motivations of the people devolping/designing it - What is the reward model? === Why do we care about taxonomies? -- they show gaps in our knowledge -- -- ideas / applications - metrics (measurement) considerations == So, what makes a defect a defect? -- vulnerabilities - unexpected behavior -- Legal constraints - Kaner's view is that 'defect" implies a compulsion that they be corrected? Aaron's defintions -- Bugs ... unexpected behavior -- Defects -- more subjective How do we use these classifications? -- Phil - it opens your mind with "Oh Wow! I'd never have tested that..." -- Wade - understanding trends allows you to develop your own taxonomy (eg., dev x has a problem with code checked in after 3:00 on a Fridayt) to guide your future testing -- The question around this becomes understanding how these overlap === if you find a bug by one method of testing - how do you know which "taxonomy" a bug fits into? Bugs can exist in multiple... luck Dice Game - an excellent example of evaluating patterns