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
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.