Testes de regressão, você está fazendo certo?

Em meu primeiro post no Nerds-On falarei sobre Testes de Regressão que é um tipo de teste de software. Dentre todos os tipos existentes eu o considero um dos mais importantes, acho que por isso venho percebendo que ele não está sendo utilizado adequadamente.

Em uma definição livre, entendo que os testes de regressão são executados para garantir que uma funcionalidade ou parte do software já testado, continue funcionando após o mesmo sofrer alguma implementação ou manutenção.
É neste ponto que o teste de regressão se mostra muito importante para a garantia da qualidade do software entregue, pois poderemos evitar que uma funcionalidade que o cliente já utiliza não deixe de funcionar uma vez que o software sofra uma atualização de versão, evitando transtornos e desgastes junto ao cliente.

Outra definição para testes de regressão retirada do glossário de termos do ISTQB diz o seguinte:

Teste realizado em um programa previamente testado após alguma modificação feita e com a finalidade de assegurar que defeitos não tenham sido introduzidos ou mascarados nas áreas não alteradas do software como resultado da referida modificação. Este teste é realizado quando o software ou seu ambiente é alterado.

Agora surgem algumas perguntas a você leitor do blog, a sua equipe de desenvolvimento está executando testes de regressão? Você está fazendo certo?

Continuar lendo

Automação de testes – 7 passos para o sucesso!

Hoje vou apresentar para você leitor um pouco sobre a minha vivência em automação de testes, mais especificamente os primeiros passos para automação de testes funcionais.

Posso dizer que automatizar os testes funcionais nos dias de hoje é essencial para o sucesso e a qualidade de um produto de software, mas para implantar a automação de testes funcionais em uma organização é necessário um estudo e um planejamento para que o mesmo ocorra com sucesso.

Nos parágrafos seguintes estarei apresentando os primeiros passos que você deve analisar e estudar antes de mergulhar no mundo da automação de testes.

1° Passo – Apoio da liderança

liderança

O apoio da liderança é o primeiro passo para que a automação de testes ocorra em uma organização, pois sem ela você não terá forças nem recursos para dar inicio a um projeto de automação de testes. A implantação de testes automatizados requer o investimento de recursos financeiros e humanos, sendo estes obtidos apenas com o consenso da liderança.

A grande dúvida neste passo é: como conseguir a confiança e o apoio da liderança? Para isso você precisa ter um embasamento teórico sobre automação muito forte para conseguir demonstrar com números e estatísticas que a automação trará benefícios suficientemente grandes para tal investimento.

– Onde devo procurar esse conhecimento para convencer meus líderes?

As empresas que vendem ferramentas de automação de testes tem muito material que pode ser estudado e apresentando como benefícios da automação de testes funcionais aos seus líderes. Um exemplo é a Smartbear que, como ajuda aos profissionais da área de teste que querem implantar automação de testes na organização onde trabalham, disponibilizam um material contendo uma lista de benefícios que a implantação de uma ferramenta de automação pode trazer.

Posso listar alguns desses benefícios:

  • Acelerar os testes de um roteiro em vários navegadores
  • Retorno rápido de resultados de falhas no sistema, agilizando o processo de correção
  • Encontrar bugs mais cedo e aumentar a cobertura de testes
  • Executar testes mais rápido que um ser humano
  • Reutilização de testes

Existem muitos outros benefícios que a implantação da automação de testes pode nos trazer, mas isso posso aprofundar em um artigo exclusivo para isso. Continuar lendo

Testes ágeis com mapas mentais

Vou falar hoje de Testes ágeis, um assunto que está muito em alta na área de desenvolvimento de software e que muitas pessoas estão estudando sobre o assunto para tornar os testes mais ágeis ou para acoplar os testes a um processo de desenvolvimento ágil.

agile

Processos de teste se tornaram comuns com tanta concorrência entre empresas e clientes cada vez mais exigentes. Estes processos normalmente acompanham processos de desenvolvimento baseados em modelos tradicionais e pesados, gerando assim um processo de testes tradicional e pesado também.

O que tem evoluído muito e que também tem ganhado espaço nas empresas de desenvolvimento de software são os processos e metodologias ágeis. Estes têm como princípio quebrar as atividades em partes menores com respostas mais rápidas e entregas em períodos mais curtos.

Para acompanhar essa onda de desenvolvimento em processos ágeis os profissionais da área de teste estão em busca de métodos para tornar os testes mais ágeis com respostas mais rápidas, porém que consigam manter a mesma qualidade dos processos de testes tradicionais.

Continuar lendo

Allpairs – Gerador de casos de testes

Pairwise é um método conhecido na comunidade de testes por diminuir consideravelmente a quantidade de testes quando se necessita testar a combinação de muitas variáveis. Basicamente é feita a combinação por pares das variáveis e removidas as situações que se repetem.

Fazer essas combinações quando se tem uma pequena quantidade de variáveis até é viável manualmente; porém conforme a quantidade de variáveis aumenta, a quantidade de testes necessários também aumenta geometricamente.

James Marcus Bach

Pensando em otimizar esse processo de levantamento de ideias      baseadas no método pairwise, a Satisfice Inc, empresa de James Marcus Bach (foto), desenvolveu uma ferramenta chamada AllPairs, a qual gera casos de teste utilizando o método pairwise baseado nas variáveis informadas pelo usuário.

Quando utilizado o método pairwise combinam-se os valores informados de cada variável, fazendo com que a quantidade de casos de teste seja o produto das quantidades de valores de cada variável, ou seja, se houver uma situação que tenha 10 variáveis com 2 valores possíveis cada, isso vai resultar em 1024 casos de teste diferentes.

Ao utilizar a ferramenta AllPairs, ela vai gerar uma tabela com todas as combinações pareadas possíveis e também outra tabela com as combinações de pares mais prováveis que possam ocorrer, diminuindo – neste caso – de 1024 para apenas 10 combinações de variáveis.

Continuar lendo