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.
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.
teste de software
Classificação dos testes
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.
teste de unidade/unitário
Testa componentes de forma isolada.
Teste funcional
Verifica se todos os requisitos, funções e os casos de uso fazem o que deve ser feito.
Teste de segurança
Verifica se os dados são acessados de forma segura.
Teste de configuração ou instalação
Verifica o comportamento do software em diferentes arquiteturas.
Teste de usabilidade
Verifica a usabilidade do sistema é feita de forma fácil e eficaz, pensando no usuário final.
Teste de integração
Verifica se os componentes combinados funcionam.
Teste de estresse
Sistema é testado até o ponto de ruptura para avaliar características de falhas.
Teste performance
Verifica o comportamento do software em diversas condições, para avaliar sua carga de trabalho.
Teste de desempenho
Testa a velocidade, conforme definida nos requisitos não funcionais.
Teste de aceitação
Usuários utilizam o software para provar que o sistemas adequa á sua qualidade
Teste de Integridade do sistema
Testa a robustez do software, ou seja, a resistência a falhas
Teste de Produto
O software é testado para confirmar que os requisitos funcionais estão presentes
Teste de montagem
Componentes do software são testados em conjuntos
Teste de componentes
Componentes do software são testados isoladamente
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.
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.
Objetivo
Encontrar erros e produzir um software com maior qualidade possível, tornando-os seguros e confiáveis.
O que é?
É a última fase do desenvolvimento, onde é possível resolver problemas e bugs.
Etapas de garantia da especificação do software
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.
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.
Fatores de qualidade
Incluem também
correção
Tarefas realizadas de acordo com as definidas nos requisitos.
portabilidade
usável em ambientes diferentes.
modularidade
software construído por módulos.
Externo
Visão do usuário
Estão relacionados ao comportamento do software durante a execução e à forma como atende às necessidades e expectativas dos usuários.
Exemplos incluem usabilidade, confiabilidade, desempenho, segurança, entre outros.
São relacionados à visão do usuário e à experiência geral com o software.
Interno
Visão do desenvolvedor
características
Estão relacionados à estrutura interna do software e ao design do código.
incluem eficiência, manutenibilidade, modularidade, flexibilidade, entre outros.
São relacionados à visão do desenvolvedor e à qualidade do código-fonte.
Tipos de testes realizados
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.
É a junção do teste de caixa-branca e caixa-preta, é feita modelagem de teste conhecendo-se a estrutura interna do sistema.
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.
Interna é desconhecida, se preocupa com saída gerada , tempo de reposta, performance e comportamento funcional.
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.
Ferramentas
Loadrunner
Ferramenta utilizada para testar aplicativos e medir o comportamento do sistema e o desempenho de carga.
Testlink
ferramenta de gerenciamento de teste, permite que a equipe trabalhe de forma sincronizada.
qTest
ferramenta de teste de desempenho
Causa e defeitos
Falha
Resultado da execução de um defeito gerado no código.
Erro
Decorrente da ação humana, resultado incorreto, como uma falha de escrita em um código-fonte.
Bug
Resultado de um erro de código, uma anomalia de instrução errada ou comando incorreto.