teste de software

Causa e defeitos

Bug

Resultado de um erro de código, uma anomalia de instrução errada ou comando incorreto.

Erro

Decorrente da ação humana, resultado incorreto, como uma falha de escrita em um código-fonte.

Falha

Resultado da execução de um defeito gerado no código.

Ferramentas

qTest

ferramenta de teste de desempenho

Testlink

ferramenta de gerenciamento de teste, permite que a equipe trabalhe de forma sincronizada.

Loadrunner

Ferramenta utilizada para testar aplicativos e medir o comportamento do sistema e o desempenho de carga.

Tipos de testes realizados

caixa-branca

Teste estático e estrutural, realiza uma verificação se o código fonte foi implementado corretamente

perspectiva

interna, refere-se a uma análise ao código fonte.

caixa-preta

Teste dinâmico e funcional, realiza uma validação analisando se o sistema faz o que deveria fazer, se as principais funções do sistemas estão de acordo com os requisitos solicitados, ou seja, é baseado nos requisitos funcionais.

perspectiva

Interna é desconhecida, se preocupa com saída gerada , tempo de reposta, performance e comportamento funcional.

caixa-cinza

São testes funcionais ou estruturais, também chamados de testes de regressão, a medida se surge novas versões, novos bugs são incluídos.

perspectiva

É a junção do teste de caixa-branca e caixa-preta, é feita modelagem de teste conhecendo-se a estrutura interna do sistema.

Fatores de qualidade

Interno

Visão do desenvolvedor

características

São relacionados à visão do desenvolvedor e à qualidade do código-fonte.

incluem eficiência, manutenibilidade, modularidade, flexibilidade, entre outros.

Estão relacionados à estrutura interna do software e ao design do código.

Externo

Visão do usuário

características

São relacionados à visão do usuário e à experiência geral com o software.

Exemplos incluem usabilidade, confiabilidade, desempenho, segurança, entre outros.

Estão relacionados ao comportamento do software durante a execução e à forma como atende às necessidades e expectativas dos usuários.

Incluem também

modularidade

software construído por módulos.

portabilidade

usável em ambientes diferentes.

correção

Tarefas realizadas de acordo com as definidas nos requisitos.

Etapas de garantia da especificação do software

Na verificação, existe uma análise para entender se o software atende aos requisitos funcionais e não funcionais que foram definidos para ele.

Na validação consiste em verificar se o software atende às expectativas e necessidades do usuário final.

Quando a validação é feita utilizando padrões e ferramentas automatizadas, esse tipo de validação é chamado de estático.

Quando a validação é feita de forma diferente para cada funcionalidade ou sistema, esse tipo de validação é chamado de dinâmico.

O que é?

É a última fase do desenvolvimento, onde é possível resolver problemas e bugs.

Objetivo

Encontrar erros e produzir um software com maior qualidade possível, tornando-os seguros e confiáveis.

Implementação

Segundo Pressman e Maxim, deve ser implementada por meio de atividade que se concentram na gestão de qualidade, tais como os padrões IEEE, ISO, revisões e auditorias , testes, coleta, gerenciamento de mudança, segurança e administração dos riscos.

Realização dos testes

Utiliza-se um plano de teste, que seria um documento do planejamento dos testes.

Deve conter todas as etapas de validação e verificação dos testes.

Validação, compreende o processo de examinar se o software satisfaz ou não as necessidades do usuário.

Verificação, processo que confirma que o programa satisfaz todos os requisitos.

Classificação dos testes

Teste de componentes

Componentes do software são testados isoladamente

Teste de montagem

Componentes do software são testados em conjuntos

Teste de Produto

O software é testado para confirmar que os requisitos funcionais estão presentes

Teste de Integridade do sistema

Testa a robustez do software, ou seja, a resistência a falhas

Teste de aceitação

Usuários utilizam o software para provar que o sistemas adequa á sua qualidade

Teste de desempenho

Testa a velocidade, conforme definida nos requisitos não funcionais.

Teste performance

Verifica o comportamento do software em diversas condições, para avaliar sua carga de trabalho.

Teste de estresse

Sistema é testado até o ponto de ruptura para avaliar características de falhas.

Teste de integração

Verifica se os componentes combinados funcionam.

Teste de usabilidade

Verifica a usabilidade do sistema é feita de forma fácil e eficaz, pensando no usuário final.

Teste de configuração ou instalação

Verifica o comportamento do software em diferentes arquiteturas.

Teste de segurança

Verifica se os dados são acessados de forma segura.

Teste funcional

Verifica se todos os requisitos, funções e os casos de uso fazem o que deve ser feito.

teste de unidade/unitário

Testa componentes de forma isolada.

Teste de volume

Verifica o funcionamento do sistemas com diferentes volumes de dados durante a transação envolvendo o banco de dados durante um longo período.

As atividades de verificação e validação tem inicio antes mesmo que o projeto seja idealizado. Os gestores iram verificar se a equipe possui conhecimento habilidade e atitude para desenvolver um software que irá satisfazer o usuario, esse processo se chama estudo de viabilidade.

estudo de viabilidade

é a primeira atividade que deve ser realizada em um projeto de software, está atividade está aliada a verificação, validação e desenvolvimento.

Esses tipos de testes de software também são conhecidos como técnicas de verificação e validação, e também fazem parte da classificação dos testes.