Bug Box

Qualidade e Testes de software

Posts por tag

Testes exploratórios – Parte 2

.

Finalmente, o segundo post sobre Testes exploratórios….

Neste serão tratadas estratégias utilizadas para potencializar os seus benefícios, e realizar esta atividade de maneira mais assertiva, sendo elas: Estratégia de questionamento, Heurística, Fontes e Oráculos.

 

Custo dos testes de Software x Custo do Defeito de Software

Com o intuito de demonstrar a relação entre os custos e benefícios no âmbito financeiro dos testes de software, foi utilizado com referência o artigo Investing in Software Testing: The Cost of Software Quality (Investir em Teste de Software: O Custo da Qualidade de Software), publicado por Rex Black em 2000.

A evolução dos custos dos testes de software, durante o processo de desenvolvimento foi definida de forma mais detalhada por Black (2000). Em seu artigo, ele propõe uma comparação entre o custo da qualidade de um software, em três situações diferentes:

• Quando não são realizados testes formais: Neste caso, os testes são feitos apenas testes pelos desenvolvedores no momento da codificação.

• Quando são realizados testes formais, mas de forma manual: Estes testes se referem aqueles que são realizados por profissionais capacitados, utilizando técnicas e processos bem definidos.

• Quando são realizados testes formais, porém de forma automatizada: Neste caso, além do profissional capacitado, os testes contam com ferramentas de automatização.

Custo dos Testes de software

Um dos problemas constantemente citados quando se discute teste de software é o alto custo, já que do ponto de vista de execução, a atividade de testes é difícil e custosa de ser realizada, pois, o domínio de entradas e saídas de um sistema é extenso. Isso faz com que exista uma elevada quantidade de caminhos possíveis e, portanto, vários cenários a serem testados.

Contudo, o mercado atual tem cobrado o aumento da qualidade dos softwares e aplicações, fazendo com que o medo dos altos custos seja menor que a necessidade de garantia de qualidade.

A atividade de teste é um elemento crítico da garantia de qualidade de software, e pode assumir até 40% do esforço despendido no processo de desenvolvimento, segundo Pressman (1995). Por este motivo, o teste de software tornou-se, pouco a pouco, um tema de grande importância com a necessidade de adaptação de métodos práticos que assegurem a qualidade dos produtos finais, a fim de torná-los confiáveis e de fácil manutenção.

REFERÊNCIAS

BASTOS, Anderson et al. Base de conhecimento em teste de software. 2ª Ed. Niterói. Martins Fontes, 2007. 263p.

PRESSMAN, R. S. Engenharia de Software. São Paulo: Makron Books do Brasil, 1995. p.786.

 

Custo dos defeitos de software

 

No processo de desenvolvimento, testar o software torna-se uma atividade cara, pois necessita de investimento em mão de obra qualificada e especializada, ferramentas e ambientes apropriados para a execução de tal atividade, além do tempo do projeto que deve ser destinado a elaboração, execução e avaliação dos resultados.

 

O que é “Teste de Software”?

No processo de desenvolvimento de um software, a equipe está exposta a inúmeras situações, onde dentre elas, é possível citar:

• Ambiente de trabalho;
• Ferramentas utilizadas;
• Complexidade de código;
• Tamanho do projeto;
• Prazo de entrega;
• Pressão exercida sobre os membros da equipe.

Testes de Software: Surgimento

Bom, vamos começar do início!
Neste post vou compartilhar um pouco do que aprendi sobre a história do surgimento dos testes de software!  Boa leitura!

A constante evolução de metodologias de desenvolvimento de software, e a busca por produtos e serviços com maior qualidade e confiabilidade, além de baixo custo são as principais motivações  de se testar um software.

No decorrer das décadas de 70, 80 e 90 os testes de software eram executados basicamente pelos desenvolvedores, e feita no fim do processo de desenvolvimento, conforme descrito por Bastos et al (2007). Estes executavam testes que, hoje, são definidos como “Testes Unitários” e “Testes de Integração”, os quais visam respectivamente testar cada unidade lógica de um sistema (no caso de um sistema orientado a objetos, podemos citar os métodos, classes ou objetos) e testar a integração destas unidades, a fim de identificar se o comportamento em conjunto das mesmas corresponde ao que foi especificado.