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.

 

Testes de Software: Importância

O comportamento de maneira inesperada do software pode causar danos e perdas a empresas. Conforme mencionado por Müller et al (2007) estas perdas e danos podem ser financeiros, de reputação, tempo e até mesmo colocar em risco a integridade física das pessoas envolvidas no processo ao qual ele faz parte.

Testar um software é extremamente importante, pois desta maneira podemos reduzir os riscos de uma falha ocorrer no ambiente de produção, bem como os custos caso esta falha ocorra. Conforme mencionado anteriormente, falhas de software podem ocasionar perdas tangíveis e intangíveis para uma organização.

Testes de software: Objetivos

Os testes de software visam encontrar o maior número de defeitos em uma aplicação, para que os mesmos possam ser corrigidos o quanto antes contribuindo assim para um software com maior qualidade e minimizando os riscos oferecidos por tais defeitos. O intuito desta atividade é executar o software com o objetivo de fazê-lo falhar ou apresentar um resultado diferente do esperado.

Quando os testes são executados dentro do processo de desenvolvimento, pelos desenvolvedores e usuários do software, visam apenas certificar que as especificações ou regras de negócios foram implementadas,de acordo com Bastos et al (2007) . Ao tratar-se de um modelo de qualidade, esta prática torna-se insuficiente.

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.