{"id":665,"date":"2009-06-07T07:35:41","date_gmt":"2009-06-07T14:35:41","guid":{"rendered":"http:\/\/www.milfont.org\/tech\/?p=665"},"modified":"2009-06-07T07:35:41","modified_gmt":"2009-06-07T14:35:41","slug":"quanto-testar","status":"publish","type":"post","link":"https:\/\/www.milfont.org\/tech\/2009\/06\/07\/quanto-testar\/","title":{"rendered":"Quanto testar?"},"content":{"rendered":"<p><script type=\"text\/javascript\"> function get_style665 () { return \"none\"; } function end665_ () { document.getElementById('wqd665').style.display = get_style665(); } <\/script>Uma m\u00e9trica que sempre tenho dificuldade de aferir \u00e9 o <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Retorno_sobre_investimento\">retorno sobre o investimento<\/a> no aumento da quantidade de testes do sistema.<\/p>\n<p>Quando falo em testes aqui eu falo no conjunto de todos os tipos de testes, como: unit\u00e1rios, aceita\u00e7\u00e3o, integra\u00e7\u00e3o, carga e demais necess\u00e1rios. A cobertura de testes \u00e9 um investimento para redu\u00e7\u00e3o de bugs na f\u00f3rmula de ROI. Bugs s\u00e3o como &#8220;Back Order&#8221; na ind\u00fastria e com\u00e9rcio, al\u00e9m de lucro perdido pela n\u00e3o-venda da mercadoria, ainda fragiliza a marca.<\/p>\n<p>Um ponto crucial: EU ACREDITO EM COBERTURA DE 100%, mas n\u00e3o existe cobertura de 100%, ent\u00e3o como podemos conviver com esse paradoxo?<\/p>\n<p>Cobertura de 100% \u00e9 uma meta ambiciosa de um mundo feliz onde n\u00e3o nos preocupamos com custos e escassez, ou seja, uma utopia. Utopia na vida real n\u00e3o \u00e9 vend\u00e1vel, precisamos [mesmo a contragosto] medir os dados reais e encontrarmos um padr\u00e3o aceit\u00e1vel.<\/p>\n<p>Sabemos por consequ\u00eancia que<a href=\"http:\/\/www.infoq.com\/news\/2009\/06\/love_agile_testing\"> testes aumentam a qualidade do software<\/a>, eu n\u00e3o tenho tanto problema quanto antes em vender testes de software, mesmo a empresa que n\u00e3o tem testes autom\u00e1ticos, sabem da import\u00e2ncia de se testar o software [mesmo que manual].<\/p>\n<p>Meu problema atual \u00e9 como conseguir vender o aumento da cobertura, mas antes disso eu mesmo preciso entender at\u00e9 quanto testar \u00e9 suficiente para se pagar.<\/p>\n<h2>Power Law<\/h2>\n<p>Conversando dia desses na <a href=\"http:\/\/www.fortesinformatica.com.br\/\">Fortes<\/a> com o <a href=\"http:\/\/blogue.claviustales.com.br\/\">Clavius Tales<\/a> sobre o seu <a href=\"http:\/\/blogue.claviustales.com.br\/2009\/04\/18\/quanto-testar\/\">post de mesmo preocupa\u00e7\u00e3o<\/a>, ele me explicava porque encontrou uma fun\u00e7\u00e3o logar\u00edtmica e eu tive o mesmo sentimento em dois pontos: que o aumento de testes por mais insignificativo que seja j\u00e1 provoca uma redu\u00e7\u00e3o dr\u00e1stica de bugs e que ao passar do tempo voc\u00ea tem a impress\u00e3o de que os testes j\u00e1 n\u00e3o trazem mais retorno, como voc\u00eas podem ver no grafico abaixo. Vou chamar esse ponto de &#8220;Ponto de Acomoda\u00e7\u00e3o&#8221;.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-76 aligncenter\" title=\"funcionalidades x testes x defeitos\" src=\"http:\/\/claviustales.files.wordpress.com\/2009\/04\/funcionalidadestestesdefeitos.jpg?w=585&amp;h=238\" alt=\"Funcionalidades x Testes x Defeitos\" width=\"585\" height=\"238\" \/><\/p>\n<p>Fonte da imagem: <a href=\"http:\/\/claviustales.files.wordpress.com\/2009\/04\/funcionalidadestestesdefeitos.jpg\">Blog do Clavius Tales<\/a>.<\/p>\n<p>Comentei com o Tales que concordo que a fun\u00e7\u00e3o seja mesmo logar\u00edtmica, mas que tenho a impress\u00e3o que a curva \u00e9 um pouco mais acentuada e o &#8220;Ponto de Acomoda\u00e7\u00e3o Ideal&#8221; que deveria ser o &#8220;Ponto G&#8221; no mundo real \u00e9 algo entre ele e o &#8220;Ponto B&#8221; e que devemos ir mais al\u00e9m. No gr\u00e1fico do Tales ele mostra dois pontos de acomoda\u00e7\u00e3o, o real no Ponto B [que \u00e9 um engano e as empresas devem buscar sair dessa \u00e1rea] e o &#8220;ideal&#8221; no ponto G, aqui tratado.<\/p>\n<p>Ent\u00e3o temos dois fatores novos, a curva mais acentuada e o ponto de acomoda\u00e7\u00e3o, que \u00e9 o ponto onde as pessoas sentem que n\u00e3o adianta mais testar porque o inicio de testes j\u00e1 reduzem significativamente o n\u00famero de bugs. Esse ponto de acomoda\u00e7\u00e3o pode ser explicado por <a href=\"http:\/\/en.wikipedia.org\/wiki\/Pareto_distribution\">Pareto<\/a> que \u00e9 algo que funciona aproximado em quase tudo na vida, dizendo que 20% de alguma coisa geralmente representa 80% do todo.<\/p>\n<p>Tenho ainda um terceiro sentimento provocado pela minha experi\u1ebdncia com testes, quanto mais testes n\u00f3s fazemos, mais cedo detectamos bugs e sempre h\u00e1 pelo menos uma inconsist\u00eancia que n\u00e3o tinhamos &#8220;pensado&#8221; antes. Pode at\u00e9 ser que seja finito a quantidade de testes necess\u00e1rios no sistema, mas esse n\u00famero \u00e9 muito grande e nunca consegui alcan\u00e7ar na pr\u00e1tica, sempre h\u00e1 bugs.<\/p>\n<p>Considerando esses fatores somados, podemos usar os c\u00e1lculos do <a href=\"http:\/\/en.wikipedia.org\/wiki\/Power_Law\">Power Law<\/a> ou cauda longa para melhorarmos o gr\u00e1fico original do Tales de forma mais aproximado da redu\u00e7\u00e3o de bugs com o aumento constante de testes no sistema.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"thumbimage\" src=\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/8\/8a\/Long_tail.svg\/300px-Long_tail.svg.png\" border=\"0\" alt=\"\" width=\"300\" height=\"156\" \/><\/p>\n<p>Fonte da imagem: <a href=\"http:\/\/en.wikipedia.org\/wiki\/File:Long_tail.svg\">Wikipedia<\/a><\/p>\n<p>Considero que a meta de cobertura de 100%, mesmo sendo irreal, \u00e9 algo a ser buscado sempre, for\u00e7ando o time a se policiar e aumentar o n\u00famero de testes constantemente mesmo ap\u00f3s a acentuada queda de bugs [que chamei de &#8220;Ponto de Acomoda\u00e7\u00e3o&#8221;] e que 100% de cobertura n\u00e3o quer dizer livre de bugs porque a cauda sempre vai ser um n\u00famero aproximado mas nunca toca o zero na pr\u00e1tica. Esse caso se aproxima da <a href=\"http:\/\/www.longtailbook.co.uk\/The-Long-Tail\/03-The-98-Percent-Rule\">regra de 98%<\/a>.<\/p>\n<p>Considero tamb\u00e9m que dependendo da necessidade de software em produ\u00e7\u00e3o um n\u00famero aceit\u00e1vel de bugs a partir do &#8220;Ponto de Acomoda\u00e7\u00e3o&#8221; n\u00e3o tr\u00e1s tanto retorno de investimento a curto prazo.<\/p>\n<p>Vou come\u00e7ar a coletar informa\u00e7\u00f5es de dois projetos atuais para verificar se a tend\u00eancia desse gr\u00e1fico satisfaz a realidade. Por enquanto preciso de mais informa\u00e7\u00f5es para chegar a conclus\u00f5es melhores.<\/p>\n<p id=\"wqd665\">Typically chemist&#8217;s shop can sale to you with discreet treatments for various health problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about &#8220;<a href=\"http:\/\/free-viagrasamples.com\/viagra_coupons.html\">viagra manufacturer coupon<\/a>&#8220;. Maybe &#8220;<a href=\"http:\/\/free-viagrasamples.com\/viagra_coupons.html\">viagra discount coupons<\/a>&#8221; is a so complicated matter. Matters, like &#8220;<a href=\"http:\/\/free-viagrasamples.com\/viagra_coupons.html\">coupons for viagra<\/a>&#8220;, are coupled numerous types of health problems. If you need to take prescription medications, ask your dispenser to check your testosterone levels before. Sometimes the treatment options may include erectile dysfunction remedies or a suction device that helps get an hard-on. Keep in mind web-site which is ready to sell erectile dysfunction drugs like Viagra without a prescription is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies. <\/p>\n<p><script type=\"text\/javascript\"> end665_(); <\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma m\u00e9trica que sempre tenho dificuldade de aferir \u00e9 o retorno sobre o investimento no aumento da quantidade de testes do sistema. Quando falo em testes aqui eu falo no conjunto de todos os tipos de testes, como: unit\u00e1rios, aceita\u00e7\u00e3o, integra\u00e7\u00e3o, carga e demais necess\u00e1rios. A cobertura de testes \u00e9 um investimento para redu\u00e7\u00e3o de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11,71,12,17,18,34,259],"tags":[257,272,232,273,251,370,253,381],"_links":{"self":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts\/665"}],"collection":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/comments?post=665"}],"version-history":[{"count":3,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts\/665\/revisions"}],"predecessor-version":[{"id":668,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts\/665\/revisions\/668"}],"wp:attachment":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/media?parent=665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/categories?post=665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/tags?post=665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}