Testes em uma empresa de software

Ao se pensar em um aplicativo ou software a primeira coisa que as pessoas pensam é no projeto final, funcionando e sem problemas. Mas o que muitos esquecem é que para o projeto final chegar nas mãos do usuário houve todo um processo dividido em etapas, onde em cada uma delas houveram testes que validaram as informações.

Algumas empresas veem os testes como mero formalismo, e até alguns anos atrás poucas empresas se preocupavam em ter um setor de testes, os próprios programadores realizavam esta tarefa e muitas vezes deixavam certos detalhes passarem, afinal as pessoas por costume acham que seus projetos estão completamente funcionais e quem criou o sistema em si tende a usar os comportamentos conhecidos. É aí que entra o analista de testes, um membro da equipe que irá verificar além dos padrões, situações que passariam despercebidas pelos programadores por não serem tão comuns.

Por que testar softwares?

Ao se criar um projeto em um primeiro momento temos todas as especificações e regras, isso será enviado a uma equipe que irá programar o código que dará forma ao projeto. Muitas vezes por estarem familiarizados com os ambientes de desenvolvimento os programadores tendem a achar que seus códigos não contem erros e que basta seguir uma receita que tudo sempre dará certo. Isso acaba se tornando um problema em um cenário real pois, os usuários tendem a fugir dessa receita na hora de utilizarem os softwares no dia a dia.

Além disso se o projeto for um aplicativo por exemplo existem os diferentes dispositivos, com diferentes tamanhos de display, diferentes sistemas, cada um com suas características únicas, sendo assim testar é essencial em todos os projetos, mas aqueles ligados à área mobile tem que ter testes ainda mais criteriosos.

Para criação e execução de testes mais precisos e menos previsíveis é necessário alguém que não está familiarizado com o código testar, afim de encontrar possíveis problemas ou sugerir melhorias. Porém não se pode querer mudar todo o projeto por puro achismo ou gosto pessoal.

Lembrando que os testes não eliminam todos os problemas do projeto final, mas minimizam o máximo possível situações inesperadas e problemas que podem atrapalhar a experiencia final do usuário.

Como testar?

A ideia de testar pode parecer simples em um primeiro momento, afinal não seria apenas utilizar o aplicativo e ver se ele não apresentou nenhum problema?

Uma visão tão simples parece correta, mas se você utilizar o aplicativo sob uma perspectiva pessoal dificilmente conseguirá pegar todos os erros relevantes.

Para realizar testes eficientes as equipes de teste utilizam de tabelas de testes que são montadas levando em consideração todo o fluxo do aplicativo, além de experiencia que os analistas de teste já tiveram em outros projetos semelhantes. As tabelas são diferentes para cada parte do processo de desenvolvimento do aplicativo.

De uma forma pratica pode-se dizer que os testes são principalmente divididos em 3 fases, cada uma com suas tabelas:

1ª Fase:

O planejamento dos testes desta fase começam a ser feitos antes mesmo de se ter qualquer parte programada, as tabelas são feitas a partir das regras e metas do aplicativo, o teste é direcionado para focar de maneira separada em cada uma das telas do aplicativo, utilizando cenários simples em que o teste retorna como resposta apenas se obteve sucesso ou falha.

2ª Fase:

Os testes dessa fase tendem a ser direcionados buscando ver o aplicativo funcionando como um todo, explorando situações anormais, ou questões do dia a dia, como aparelhos com especificações de sistema muito diferentes, fatores como internet, recuperação de telas, além do fluxo de trabalho total do aplicativo.

3ª Fase:

A fase final de testes, precisa de que o analista refaça não só as duas fases anteriores caso pontos pendentes tenham aparecido, mas verificar relatos de outras pessoas que podem ter testado o aplicativo, apenas após o aplicativo passar pela aprovação do analista nesta fase é que pode-se dizer que ele estará disponível de forma aceitável para um ambiente real de uso.

Testes Manuais X Testes Automatizados

Todo o processo de testes parece ser longo e cansativo, no dia a dia de uma empresa muitas vezes tempo é algo essencial, mas também certos detalhes só seriam observados por uma pessoa. Sendo assim hoje em dia os testes pode ser feitos de duas maneiras distintas, manualmente ou de forma automatizada. É valido lembrar que nenhum dos dois tipos de teste garante que nenhum problema irá aparecer, além disso um ambiente ideal de testes utiliza ambos para verificar o máximo de variáveis possíveis.

Testes automatizados são mais comuns para ações repetidas, onde é necessário realizar um mesmo ato repetidas vezes, por exemplo preencher cadastros de usuários em um sistema, ou fazer cliques em determinados pontos da tela.

Testes manuais podem ser mais eficientes em ambientes dinâmicos, que precisam de decisões em tempo real, que se modificam de forma dinâmica a cada instante, onde seria muito custoso a nível computacional ficar calculando todos as possíveis variáveis de decisão ou observar menos detalhes em uma tela.

Características de um analista de testes

Para testar algo não se deve apenas saber mexer em algo, como toda área demanda tempo e conhecimentos prévios. Um analista de testes é alguém da área de TI que se especializou na área de testes. Além disso algumas características são indispensáveis para um bom testador de softwares.

1 – Ser detalhista

Softwares em geral tem detalhes que não aparecem em uma primeira visualização de tela, alguns detalhes são perceptíveis em alguns dispositivos seja pelo sistema operacional deles ou pela tamanho de sua tela, sendo assim um bom analista de testes tem que se apegar a detalhes para que em qualquer ambiente o software seja bonito para quem está utilizando.

2- Paciente

Alguns dizem que paciência é uma virtude não é mesmo? Para quem quer testar paciência é essencial, pois um bom teste demanda paciência para avaliar tudo de forma, muitas das vezes, repetitiva explorando o máximo de cenários possíveis em que problemas podem ocorrer.

3- Focado

Para um teste acontecer de forma satisfatória é necessário um foco grande do analista de teste, pois é necessário estar imerso no software pare perceber pequenos problemas ou mensagens de erros que muitas das vezes são apresentadas por segundos, quebras de layout durante carregamento de telas, entre outros problemas que uma pessoa distraída não perceberia. Sendo assim foco é uma das chaves para testes de sucesso.

4-  Motivado

Estar motivado é algo que o analista de testes sempre deve estar, tal característica depende do ambiente como um todo, da equipe que ele trabalha, do ambiente, ver os resultados dos testes, as correções acontecendo, pois nada motiva mais um analista do que ver a equipe está dando a devida importância ao que ele diz e tentando melhorar o projeto.

5  – Pessimista

Pessimismo parece ser algo estranho de ser visto como uma característica para alguém realizar algo, mas neste caso é bom ter uma visão pessimista sim, pois um analista de testes tende a pensar em todos os problemas possíveis, nas falhas que o sistema pode apresentar. Ser pessimista da ao analista de testes uma visão crítica sobre o sistema a ser testado e acaba por produzir ao final um projeto mais refinado uma vez que foi testado analisando não só o básico mas sim vários fatores que os desenvolvedores acreditavam que nunca poderiam dar problema.

Ficou alguma dúvida? Deseja saber mais sobre o processo de teste aqui da Usemobile envie-nos uma mensagem pela página.


  • Danilo Machado
  • Analista de Qualidade
  • Graduando em Ciência da Computação pela Universidade Federal de Ouro Preto. Interessado por novas tecnologias desde criança, encontrei na computação um meio de filtrar meus objetivos e achar meu lugar no mundo.

Deixe uma resposta

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