Chegamos ao quinto e último post da série especial “Apps Mobile”, sobre as diferentes áreas envolvidas na criação de aplicativos, hoje vamos falar sobre Testes de Software, que é uma espécie de investigação por todo o aplicativo para encontrar possíveis bugs e corrigi-los para entregar ao cliente um produto de qualidade.

Objetivo

Nosso objetivo como time de teste é garantir que o usuário receba um produto de maior qualidade possível, revisamos a documentação, já procurando por falhas, pois até 70% dos bugs decorrentes podem ser evitados com isso.

lupa-procurando-bus-codes

Com documentação pronta e aprovada, pegamos a UX (documento com todos os uxos e funcionalidades) e escrevemos os casos de teste para cada funcionalidade, item e situação de acordo com seus respectivos requisitos.

teste-funcionalidade

Recebido as primeiras versões, fazemos o chamado Smoke test, que consiste em vericar se a função principal do produto está funcionando, se não, o teste é cancelado e este é devolvido para o time de desenvolvimento, caso esteja ok continuamos com os testes. Pegamos todos os casos de teste e comparamos o resultado obtido junto com a documentação (UI), se o resultado é positivo passamos para o próximo caso de teste, caso negativo este bug é registrado na ferramenta de bugtracking, cadastramos a falha com seu título, prioridade, severidade, passos para detectar, ambiente, log e registro em mídia (se possível), terminado essa etapa o time de desenvolvimento começa a corrigir esses erros.

Com uma grande massa de bugs já resolvidos, recebemos outra versão com suas respectivas correções e mudanças, nesta etapa a equipe trabalha em cima de várias técnicas:

Reteste

Testar novamente os casos de teste que falharam

Regressão

Testar requisitos que sofreram mudança no resultado esperado

Validação

Ver se o resultado esperado está de acordo com requisitos

Verificação

Ver se os itens testados funcionam adequadamente

Depois desse vai e vem de correções, mudanças e testes uma versão é enviada ao cliente, para que ele possa fazer o teste de aceite, que é ver se o produto está de acordo com o que foi pedido.

“Então, quando acabarem os bugs, o produto estará pronto !?!”

Para falar a verdade não, e não, os bugs não acabaram pois não existe no mundo nenhum software livre de erros, falhas e bugs, nem mesmo  Whatsapp, Facebook, Android, iOS, Windows, MAC etc. Todos eles têm bugs, por que é praticamente impossível fazer todos os caminhos de um software para achar todos os bugs, e também não há tempo suciente para isso, podemos ver no exemplo [Myers 79]:

Um pequeno programa com um uxo de controle simples será testado. O programa consiste em quatro conexões (Instruções – IF). O uxo é ilustrado na gura abaixo. Entre o ponto A e B há um loop, com um retorno do ponto B ao ponto A. Se o programa tivesse que ser testado totalmente, todas conexões possíveis devem ser executadas. Com o limite de no máximo 20 ciclos, o resultado segue o cálculo, 5^20 +5^19+…+5^1, onde 5 é o número de caminhos possíveis no loop. Glenford J. Myers, descreve que seriam gerados 100 quadrilhões de sequências diferentes, assumindo que a execução de 1 caso de teste manualmente levasse 5 minutos, o total seria de pelo menos 1 bilhão de anos para fechar todos os casos, e se ao invés de 5 minutos, levasse 5 microssegundos em um teste automatizado, seriam necessários 19 anos. 

fluxo-controle-post-blog

“E como termina?”

Existem várias abordagens para denir o término de um teste, as que usamos aqui são os critérios de saída (se a função entrega o que foi pedido), junto com o resultado do teste de aceite, até chegarmos no ponto aceitável, em que o usuário possa ter um produto que cumpre o que promete, com qualidade e risco mínimo (probabilidade/gravidade, do bug acontecer).

A área de Testes é responsável por uma etapa de suma importância no desenvolvimento de apps, pois é nela que todo o trabalho da equipe é posto em prova, responsáveis por assegurar que o produto final esteja de acordo com o que foi pedido pelos clientes e o que foi proposto pela empresa.

devices-para-teste-android-tablet-apple-motorola

Essa série de posts foi proposta para apresentar um pouco sobre todo o processo de criação de um app, desde a ideia inicial, as escolhas das funcionalidades e telas, a programação nos diferentes sistemas operacionais até os testes. E mostrar que por trás de um aplicativo de sucesso está uma equipe empenhada, cada um em sua função, mas trabalhando em conjunto para entregar um ótimo produto.

Gostou do post? Se interessa por tecnologia e quer estar por dentro deste e de outros assuntos? Então, fique ligado nos próximos posts e séries sobre Tecnologia e Negócios do blog da Tap4.

Apps Mobile – Testes

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Gostou do Post? Curtiu o Blog da Tap4. Conte aos seus amigos, compartilhe!