{"id":1545,"date":"2018-11-16T15:49:01","date_gmt":"2018-11-16T15:49:01","guid":{"rendered":"http:\/\/demensdeum.com\/blog\/?p=1545"},"modified":"2024-12-16T22:32:41","modified_gmt":"2024-12-16T19:32:41","slug":"bugs-count-estimation","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/pt\/2018\/11\/16\/bugs-count-estimation\/","title":{"rendered":"Quantos erros voc\u00ea tem a\u00ed?"},"content":{"rendered":"<p>No <a href=\"https:\/\/news.ycombinator.com\/\" target=\"_blank\" rel=\"noopener\">Hacker News<\/a> encontrei um artigo muito interessante no qual o autor sugere o uso do M\u00e9todo Petersen-Lincoln , que \u00e9 usado por bi\u00f3logos para contar a popula\u00e7\u00e3o de p\u00e1ssaros, macacos e outros animais, para *rufar de tambores* <strong>contar bugs<\/strong> no aplicativo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1550\" src=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/bigfoot.jpg\" alt=\"\" width=\"554\" height=\"369\" srcset=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/bigfoot.jpg 1024w, https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/bigfoot-300x200.jpg 300w, https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/bigfoot-768x512.jpg 768w\" sizes=\"auto, (max-width: 554px) 100vw, 554px\" \/><\/p>\n<p>Erro em habitat natural &#8211; <a href=\"https:\/\/www.flickr.com\/photos\/loimere\/4667972182\/in\/photostream\/\" target=\"_blank\" rel=\"noopener\">Avistamento do P\u00e9 Grande<\/a> por <a href=\"https :\/\/www.flickr.com\/photos\/loimere\/\" target=\"_blank\" rel=\"noopener\">Derek Hatfield<\/a><\/p>\n<p>O m\u00e9todo \u00e9 muito simples, pegamos dois <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D1%80%D0%BD%D0%B8%D1%82% D0%BE %D0%BB%D0%BE%D0%B3%D0%B8%D1%8F\" target=\"_blank\" rel=\"noopener\">ornit\u00f3logos<\/a>, eles descobrem aves de uma determinada esp\u00e9cie, sua tarefa \u00e9 &#8211; determinar o tamanho da popula\u00e7\u00e3o dessas aves. As aves encontradas s\u00e3o marcadas por ambos os ornit\u00f3logos, ent\u00e3o o n\u00famero de aves comuns \u00e9 calculado, substitu\u00eddo na f\u00f3rmula do \u00edndice de Lincoln e obtemos o tamanho aproximado da popula\u00e7\u00e3o.<br \/>Agora, para aplicativos &#8211; o m\u00e9todo tamb\u00e9m \u00e9 muito simples, pegamos dois QAs e eles encontram bugs na aplica\u00e7\u00e3o. Digamos que um testador encontrou 10 bugs (<strong>E1<\/strong>) e o segundo testador encontrou 20 bugs (<strong>E2<\/strong>), agora pegamos o n\u00famero total de bugs &#8211; 3 (<strong>S<\/strong>), ent\u00e3o usando a f\u00f3rmula obtemos o <strong>\u00edndice Lincoln<\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1552\" src=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/Screenshot_20181116_191540.png\" alt=\"\" width=\"318\" height=\"79\" srcset=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/Screenshot_20181116_191540.png 318w, https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2018\/11\/Screenshot_20181116_191540-300x75.png 300w\" sizes=\"auto, (max-width: 318px) 100vw, 318px\" \/><\/p>\n<p>Esta \u00e9 uma previs\u00e3o do n\u00famero de bugs em todo o aplicativo. No exemplo dado, h\u00e1 aproximadamente 66 bugs.<\/p>\n<h3>Exemplo r\u00e1pido<\/h3>\n<p>Implementei um banco de testes para testar o m\u00e9todo, voc\u00ea pode v\u00ea-lo aqui:<br \/><a href=\"https:\/\/paiza.io\/projects\/AY_9T3oaN9a-xICAx_H4qw?language=swift\" target=\"_blank\" rel=\"noopener\">https:\/\/paiza.io\/projects\/AY_9T3oaN9a-xICAx_H4qw?language=swift<\/a><\/p>\n<p>Par\u00e2metros que podem ser alterados:<\/p>\n<p>deixe aliceErrorFindProbability = 20 &#8211; porcentagem de bugs encontrados pelo QA Alice (20%)<br \/>deixe bobErrorFindProbability = 60 &#8211; porcentagem de bugs encontrados pelo QA Bob (60%)<br \/>deixe actualBugsCount = 200 &#8211; quantos bugs existem realmente no aplicativo<\/p>\n<p>Na \u00faltima execu\u00e7\u00e3o recebi os seguintes dados:<br \/>Contagem de bugs estimados: 213<br \/>Contagem real de bugs: 200<\/p>\n<p>Ou seja, existem 200 bugs no aplicativo, o \u00cdndice Lincoln d\u00e1 uma previs\u00e3o &#8211; 213:<br \/>&#8220;Alice encontrou 36 bugs&#8221;<br \/>&#8220;Bob encontrou 89 bugs&#8221;<br \/>&#8220;Contagem de bugs comuns: 15&#8221;<br \/>&#8212;<br \/>Contagem de bugs estimados: 213<br \/>Contagem real de bugs: 200<\/p>\n<h3>Fraquezas<\/h3>\n<p>Este m\u00e9todo pode ser usado para avaliar o n\u00famero de erros na aplica\u00e7\u00e3o em todos os est\u00e1gios de desenvolvimento. <em>idealmente, o n\u00famero de bugs deve diminuir. <\/em>Os pontos fracos do m\u00e9todo incluem o fator humano, uma vez que o n\u00famero de bugs encontrados por dois testadores deveria ser diferente e <strong><em>bugs diferentes<\/em><\/strong> foram encontrados, no entanto <strong> <em >os mais comuns devem ser encontrados<\/em><\/strong>, caso contr\u00e1rio o m\u00e9todo n\u00e3o funcionar\u00e1 (zero bugs comuns &#8211; <em><strong>divis\u00e3o por zero<\/strong><\/em>)< br\/>Al\u00e9m disso, um conceito como <em><strong>bugs comuns<\/strong><\/em> requer a presen\u00e7a de um especialista para entender seus <em><strong>pontos em comum.<\/strong><\/em><\/p >\n<h3>Fontes<\/h3>\n<p><a href=\"https:\/\/www.johndcook.com\/blog\/2010\/07\/13\/lincoln-index\/\" target=\"_blank\" rel=\"noopener\">Quantos erros faltam encontrar? &#8211; John D. Cook, PhD, Presidente<\/a><br \/><a href=\"http:\/\/bit-player.org\/2010\/the-thrill-of-the-chase\" target=\"_blank\" rel=\"noopener\">The thrill of the chase &#8211; Brian Hayes<\/a><\/p>\n<h3>C\u00f3digo fonte<\/h3>\n<p><a href=\"https:\/\/paiza.io\/projects\/AY_9T3oaN9a-xICAx_H4qw?language=swift\" target=\"_blank\" rel=\"noopener\">https:\/\/paiza.io\/projects\/AY_9T3oaN9a-xICAx_H4qw ?idioma=r\u00e1pido<\/a><br \/><a href=\"https:\/\/gitlab.com\/demensdeum\/statistics\/tree\/master\/1_BugsCountEstimation\/src\" target=\"_blank\" rel=\"noopener\">https:\/\/gitlab.com\/demensdeum\/statistics\/tree\/master\/1_BugsCountEstimation\/src<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No Hacker News encontrei um artigo muito interessante no qual o autor sugere o uso do M\u00e9todo Petersen-Lincoln , que \u00e9 usado por bi\u00f3logos para contar a popula\u00e7\u00e3o de p\u00e1ssaros, macacos e outros animais, para *rufar de tambores* contar bugs no aplicativo. Erro em habitat natural &#8211; Avistamento do P\u00e9 Grande por Derek Hatfield O<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/pt\/2018\/11\/16\/bugs-count-estimation\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Quantos erros voc\u00ea tem a\u00ed?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[61],"tags":[],"class_list":["post-1545","post","type-post","status-publish","format-standard","hentry","category-techie","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"pt","enabled_languages":["en","ru","zh","de","fr","ja","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":false,"content":false,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1545"}],"version-history":[{"count":22,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1545\/revisions"}],"predecessor-version":[{"id":3969,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1545\/revisions\/3969"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}