Please enable JavaScript.
Coggle requires JavaScript to display documents.
AS ATIVIDADES DE TESTE NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE (TESTES…
AS ATIVIDADES DE TESTE NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
TESTES DE SOFTWARE
CONCEITO
É uma ação que faz
parte do processo de desenvolvimento
de software, e tem como principal objetivo o de
revelar falhas para que sejam corrigidas
até que o produto final atinja a qualidade desejada ou acordada.
ATIVIDADES DE TESTES
.
Avaliação da especificação de requisitos,
Avaliação de projeto técnico,
Verificações em outros documentos,
Testes de performance e capacidade,
Avaliação de interface,
“Quanto mais cedo, defeitos forem encontrados antes da implementação do sistema, o custo de correção é menor em relação ao encontrado na fase de produção”
CLASSIFICAÇÃO DE ACORDO
COM PADRÃO IEEE
Defeito
– passo, processo ou definição de dados incorreto, por exemplo, uma instrução ou comando incorreto.
Engano
– ação humana, por exemplo, tomada pelo programador, que produz um resultado incorreto
Erro
– diferença entre o valor obtido e o valor esperado. Qualquer resultado incorreto ou inesperado na execução do programa.
Falha
– produção de uma saída incorreta com relação à especificação.
CAUSA
- ENGANO , DEFEITO , ERRO.
CONSEQUÊNCIA
- FALHA
PROCESSO DE TESTE DE SOFTWARE
PLANEJAMENTO DOS TESTES
Garantir que os testes sejam preparados antes do fim da implementação do produto
EXECUÇÃO DOS TESTES
Executar os casos e procedimentos de teste especificados e comparar os resultados esperados e obtidos, registrando esses resultados
CONTROLE DOS TESTES
Garantir que os testes planejados sejam executados corretamente e seus resultados possam ser registrados através da sua monitoração constante
ALGUNS TIPOS DE TESTES
TESTE CAIXA PRETA
Neste teste o objetivo é testar todas as entradas e saídas desejadas, mediante uma determinada entrada definida de dados Aqui não se está preocupado com o código, cada saída indesejada é vista como um erro.
Os mecanismos internos do sistema não são levados em conta
TESTE CAIXA BRANCA
Neste caso o objetivo principal é testar o código dos componentes do sistema, quanto a sua estrutura e construção.
Os mecanismos internos do sistema serão analisados e suas representações lógicas também.
Este teste não exclui a necessidade do Teste Caixa Preta, uma vez que o funcionamento interno do sistema ou produto pode corresponder logicamente, podendo produzir uma saída diferente da esperada.
É comum se encontrar partes do código que nunca foram testadas.
CLASSIFICAÇÃO DOS TESTES
(Quanto a utilização do código)
TESTES ESTÁTICOS
São testes realizados pela análise estática e visual do código fonte, podendo haver um questionário ou alguma ferramenta para acompanhar os testes
são verificados sem que o produto seja executado.
principal objetivo dessa técnica é identificar erros de programação, tais como:
.
Prática ruins de programação
Práticas ruins;
Erros de sintaxe;
Falhas de segurança.
A análise estática auxilia gestores de TI a identificar todas as linhas de código que foram mal escritas durante a criação de um software. Todos os caminhos de execução, processamento e exibição de valores são examinados. Como consequência, erros mais comuns são descobertos mais rapidamente.
TESTES DINÂMICOS
São testes baseados na execução do código do programa, podendo ser encarado como de forma complementar a análise estática.
Trabalha, principalmente, com as informações que são inseridas nas rotinas de entrada e saída de dados.
são verificados itens como:
.
O tempo de resposta;
A performance da aplicação;
A capacidade do software se adaptar a diferentes ambientes;
O comportamento funcional.
A análise dinâmica permite que problemas mais sutis sejam identificados.
Sem considerarmos o grau de complexidade, as chances de um “bug” passar por uma análise estática e uma análise dinâmica, sem ser rastreado é consideravelmente baixa.
Dessa forma, o teste dinâmico consegue dar mais segurança e confiabilidade ao produto final.
CLASSIFICAÇÃO QUANTO AO NÍVEL DOS TESTES
TESTES DE UNIDADE
A documentação do projeto define a quantidade de módulos a serem testados.
Em geral, realizado pelo próprio programador, ou pelo seu par (em caso de ser usada nas metodologias ágeis)
Teste em nível de módulo, componente ou classe.
É o teste cujo objetivo é um “pedaço do código”, ou em alguns módulos definidos que representam uma única unidade.
TESTES DE INTEGRAÇÃO
Teste utilizado para garantir que um ou mais componentes combinados, ou unidades, não contenham erros
Podemos dizer que um teste de integração é composto por diversos testes de unidade.
A cada teste de unidade encerrado, a unidade é integrada ao sistema já pronto, formando um nova versão, que deve ser testado em conjunto.
Testa-se, em geral, as interfaces entre os componentes.
TESTE DE SISTEMAS
Teste do sistema como um todo ou de uma entrega parcial, contendo todos os elementos.
TESTES DE VALIDAÇÃO
Teste realizado após a integração de todos os módulos ou unidades do sistema.
DIFERENÇAS ENTRE , VERIFICAÇÃO , VALIDAÇÃO E TESTES .
VERIFICAÇÃO
: FIZEMOS O SOFTWARE CORRETAMENTE ?
VERIFICA SE OS REQUISITOS LEVANTADOS , FORAM DESENVOLVIDOS .
SE TODAS AS SOLICITAÇÕES FEITAS PELO CLIENTE , ESTÃO PRESENTES NO SOFTWARE
VALIDAÇÃO
: FIZEMOS O SOFTWARE CORRETO ?
VER SE A MANEIRA COMO FUNCIONA ESTÁ DE ACORDO COM A QUE O CLIENTE ESPERAVA.
EX: SOLICITAÇÃO DE UM ARMÁRIO .
ARMÁRIO OK , MAS SERÁ QUE ELE FUNCIONA COMO DESEJADO?
TESTES
: O SOFTWARE TEM DEFEITOS ?
ESPÉCIE DE MANUSEIO .
CONSTATAR SE A PORTA DO ARMÁRIO ABRE COMO SOLICITADO POR EX