9. mas o fato é que ainda estamos longe desse sonho, mesmo com bastante esforço
investido.
Mas como quantificar a quantidade de testes necessários? Segundo Capers Jones8, o
número de test cases recomendado é exponencialmente proporcional ao número de
pontos de função de um sistema, seguindo a fórmula: numTestCases = numPF ^1.2.
Exemplo:
Total de Pontos de Função Número de Test Cases (PFˆ1.2) Fator (test cases:PF)
1.000 3.981 3.9 : 1
5.000 27.464 5.49 : 1
15.000 102.638 6.84 : 1
50.000 435.275 8.7 : 1
Em outras palavras: a quantidade de test cases recomendada por PF cresce
exponencialmente (e não linearmente) com o tamanho do sistema, atingindo taxas
2X maiores em sistemas grandes quando comparado a sistemas menores (8.7 é
aproximadamente 2 X 3.9).
Para aumentar a taxa de detecção de erros de 95% para 99%, segundo Capers
Jones9 seria necessário inspecionar manualmente 100% dos itens e aumentar os test
cases em mais 20%.
É preciso frisar também que à medida que sistemas são disponibilizados a um maior
número de usuários – principalmente com a democratização do acesso a Internet e a
migração dos sistemas para tecnologias Web e Cloud em geral – esses ficam sob um
maior escrutínio de usuários. Aumenta a quantidade de problemas constatados, mas
não por um aumento de defeitos, e sim por uma maior probabilidade de executar
combinações de dados ou use cases nunca antes exercitados. A necessidade de
escalabilidade também traz a necessidade de mais tecnologias – mais complexidade
– para lidar com performance, tais como servidores de cache (Redis, memcache),
réplicas de bases de dados, sincronizações de bases federadas, servidores
redundantes e diversas práticas necessárias para alta disponibilidade e
escalabilidade, que abordaremos mais adiante. É inevitável: com a popularidade
vem a complexidade e aumento de custos. Um caso extremo sendo o Facebook, que
atualmente conta não apenas com diversas máquinas em Cloud, mas na verdade
com diversos datacenters espalhados pelo mundo10.
8 http://rbcs-us.com/site/assets/files/1337/measuring-defect-potentials-and-
defect-removal-efficiency.pdf
9 http://rbcs-us.com/site/assets/files/1337/measuring-defect-potentials-and-
defect-removal-efficiency.pdf
10 http://www.datacenterknowledge.com/the-facebook-data-center-faq/