A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estratégias de Teste de Software Uma estratégia de teste de software integra métodos de projeto de casos de teste numa série bem planejada de passos, que.

Apresentações semelhantes


Apresentação em tema: "Estratégias de Teste de Software Uma estratégia de teste de software integra métodos de projeto de casos de teste numa série bem planejada de passos, que."— Transcrição da apresentação:

1 Estratégias de Teste de Software Uma estratégia de teste de software integra métodos de projeto de casos de teste numa série bem planejada de passos, que resultam na construção de um software bem Uma estratégia de teste de software integra métodos de projeto de casos de teste numa série bem planejada de passos, que resultam na construção de um software bem sucedido sucedido A estratégia de teste fornece um roteiro que descreve os passos a serem conduzidos como parte do teste A estratégia de teste fornece um roteiro que descreve os passos a serem conduzidos como parte do teste

2 Estratégias de Teste de Software Planejamento de teste Planejamento de teste Passos a serem executados Passos a serem executados Esforço Esforço Tempo Tempo Recursos necessários Recursos necessários Projeto de casos de teste Projeto de casos de teste Execução de teste Execução de teste Coleta e avaliação de dados Coleta e avaliação de dados

3 Estratégias de Teste de Software Quem faz? Quem faz? Gerente de projeto Gerente de projeto Analistas de software Analistas de software Especialistas em teste Especialistas em teste Porque é importante? Porque é importante? Se é conduzido ao acaso, tempo é desperdiçado, esforço desnecessário é despendido e erros se infiltram sem serem descobertos. Se é conduzido ao acaso, tempo é desperdiçado, esforço desnecessário é despendido e erros se infiltram sem serem descobertos.

4 Estratégias de Teste de Software Qual é o produto do trabalho? Qual é o produto do trabalho? Uma especificação de teste que documenta abordagem da equipe de software para o teste, definindo um plano que define estratégias e passos específicos de testes e os testes que serão conduzidos Uma especificação de teste que documenta abordagem da equipe de software para o teste, definindo um plano que define estratégias e passos específicos de testes e os testes que serão conduzidos Como garanto que fiz corretamente? Como garanto que fiz corretamente? Revisando a especificação de teste antes do mesmo, avaliando a completeza dos casos e das tarefas de teste Revisando a especificação de teste antes do mesmo, avaliando a completeza dos casos e das tarefas de teste

5 Características Genéricas de uma Estratégia de Teste O teste começa em um nível de componente e prossegue para fora, em direção à integração de todo o sistema baseado em computador. O teste começa em um nível de componente e prossegue para fora, em direção à integração de todo o sistema baseado em computador. Diferentes técnicas de testes são adequadas em diferentes momentos. Diferentes técnicas de testes são adequadas em diferentes momentos. O teste é conduzido pelo desenvolvedor do software e, para grandes projetos, por um grupo independente. O teste é conduzido pelo desenvolvedor do software e, para grandes projetos, por um grupo independente. O teste e a depuração são atividades diferentes, mas a depuração deve ser acomodada em qualquer estratégia de teste. O teste e a depuração são atividades diferentes, mas a depuração deve ser acomodada em qualquer estratégia de teste.

6 Verificação e Validação (V&V) Verificação Verificação Conjunto de atividades que garante que o software implementa corretamente uma função específica. Conjunto de atividades que garante que o software implementa corretamente uma função específica. Estamos construindo o produto corretamente? Validação Validação Conjunto de atividades diferente que garante que o software construído corresponde aos requisitos do cliente. Conjunto de atividades diferente que garante que o software construído corresponde aos requisitos do cliente. Estamos construindo o produto certo?

7 Verificação e Validação (V&V) verificação e validação abrangem um amplo conjunto verificação e validação abrangem um amplo conjunto de atividades SQA( garantia da qualidade de SW), de atividades SQA( garantia da qualidade de SW), que inclui: Revisões técnicas formais; que inclui: Revisões técnicas formais; Auditoria de qualidade; Auditoria de qualidade; Monitoramento de desempenho, Monitoramento de desempenho, Simulação, Simulação, Estudo de viabilidade, Estudo de viabilidade, Revisões, Revisões, Análises e Análises e Testes. Testes.

8 Estágios do Teste Teste de Unidade: É aplicado para validar os menores elementos testáveis do software, as classes básicas e os componentes, no modelo de implementação. Verifica se os fluxos de dados e de controle estão funcionando como esperado. Teste de Unidade: É aplicado para validar os menores elementos testáveis do software, as classes básicas e os componentes, no modelo de implementação. Verifica se os fluxos de dados e de controle estão funcionando como esperado.

9 Estágios do Teste Teste de Integração: É executado para garantir que os componentes do modelo de implementação funcionam apropriadamente quando combinados. O teste de integração revela partes incompletas ou erros na interface entre os pacotes. Teste de Integração: É executado para garantir que os componentes do modelo de implementação funcionam apropriadamente quando combinados. O teste de integração revela partes incompletas ou erros na interface entre os pacotes.

10 Estágios do Teste Teste de validação:Os requisitos estabelecidos como parte da análise de requisitos são validados em contraste com o software que acabou de ser construído. Teste de validação:Os requisitos estabelecidos como parte da análise de requisitos são validados em contraste com o software que acabou de ser construído.

11 Estágios do Teste Teste de sistema: O software os outros elementos do sistema são testados como um todo. Teste de sistema: O software os outros elementos do sistema são testados como um todo.

12 Teste de Unidade São testadas : Interfaces Interfaces Estruturas lógicas de dados Estruturas lógicas de dados Condições limite Condições limite Caminhos independentes Caminhos independentes Caminhos de manipulação de erros Caminhos de manipulação de erros

13 Teste de Unidade Erros mais comuns: Precedência aritmética incorreta Precedência aritmética incorreta Operações em modo misto Operações em modo misto Inicialização incorreta Inicialização incorreta Falta de precisão Falta de precisão Representação incorreta de uma expressão simbólica Representação incorreta de uma expressão simbólica

14 Teste de Unidade Problemas quanto a manipulação de erros: 1- a descrição do erro é ininteligível 2- o erro mencionado não corresponde ao erro encontrado. encontrado. 3- a condição de erro provoca a intervenção do sistema antes da manipulação do erro. 4- o processamento da condição de exceção está incorreto. 5- a descrição do erro não fornece informação suficiente para ajudar na localização da causa do erro.

15 Procedimentos de Teste de Unidade Elaborar um componente pseudocontrolador, ou pseudocontrolador, ou Pseudocontrolado PseudocontroladoPseudocontrolador Programa que aceita dados do caso de teste e passa tais dados ao componente (a ser testado) e imprime resultados relevantes. Programa que aceita dados do caso de teste e passa tais dados ao componente (a ser testado) e imprime resultados relevantes.Pseudocontrolado Substituem módulos que são subordinados (chamados pelo) componente a ser testado. Substituem módulos que são subordinados (chamados pelo) componente a ser testado.

16 Teste de Integração Teste de Integração Se todos os módulos funcionam individualmente,Se todos os módulos funcionam individualmente, porque você duvida que vão funcionar, quando colocados em conjunto? porque você duvida que vão funcionar, quando colocados em conjunto? O problema é exatamente esta interface entre os módulos pois: O problema é exatamente esta interface entre os módulos pois: Um módulo pode ter um efeito imprevisto ou adverso sobre o outro; Um módulo pode ter um efeito imprevisto ou adverso sobre o outro; Subfunções quando combinadas podem não produzir a função principal desejada; Subfunções quando combinadas podem não produzir a função principal desejada; Teste de integração é necessário pois conduz testes para descobrir erros associados a esta interface. Teste de integração é necessário pois conduz testes para descobrir erros associados a esta interface.

17 Abordagens do Teste de Integração Big-Bang Big-Bang Integração descendente ( top_down) Integração descendente ( top_down) Integração ascendente (botom_up) Integração ascendente (botom_up)

18 Big-Bang: O programa inteiro é testado de uma só vez. O programa inteiro é testado de uma só vez. Normalmente resulta em caos! Normalmente resulta em caos!

19 Integração descendente ( top_down) É uma abordagem incremental para a construção da estrutura de um programa. É uma abordagem incremental para a construção da estrutura de um programa. Os módulos são integrados movendo- se descendentemente pela hierarquia de controle, começando com o módulo principal. Os módulos são integrados movendo- se descendentemente pela hierarquia de controle, começando com o módulo principal. Os módulos subordinados podem ser incorporados à estrutura primeiro-em- profundidade ou primeiro-em-largura. Os módulos subordinados podem ser incorporados à estrutura primeiro-em- profundidade ou primeiro-em-largura.

20 Integração ascendente (botom_up) Começa a construção e testes com módulos atômicos. Começa a construção e testes com módulos atômicos. Os componentes são integrados de baixo para cima. Os componentes são integrados de baixo para cima. A necessidade de pseudocontrolados é eliminada A necessidade de pseudocontrolados é eliminada

21 Teste de regressão Cada vez que um módulo novo é adicionado como parte do teste de integração, o software se modifica. Estas modificações podem causar problemas em funções que antes funcionavam sem problemas. Cada vez que um módulo novo é adicionado como parte do teste de integração, o software se modifica. Estas modificações podem causar problemas em funções que antes funcionavam sem problemas. O teste de regressão é a re-execução de um subconjunto de testes que já foram conduzidos para garantir que as modificações não produzam efeitos indesejáveis O teste de regressão é a re-execução de um subconjunto de testes que já foram conduzidos para garantir que as modificações não produzam efeitos indesejáveis

22 Teste de Validação Verifica se o software funciona como esperado pelo cliente. Formas de se validar: Teste da caixa-preta: demonstra conformidade com os requisitos ( definir classes de testes, casos de teste) Revisão da configuração: certificar-se de que todos os elementos da configuração do software tenham sido adequadamente desenvolvidos e catalogados e tenham detalhes que permitam apoiar a fase de suporte ao ciclo de vida. Revisão da configuração: certificar-se de que todos os elementos da configuração do software tenham sido adequadamente desenvolvidos e catalogados e tenham detalhes que permitam apoiar a fase de suporte ao ciclo de vida. Teste Alfa e Beta: conduzidos pelo cliente. - No teste alfa o desenvolver está presente. - No teste alfa o desenvolver está presente. - O teste Beta é conduzido pelo cliente em seu ambiente, - O teste Beta é conduzido pelo cliente em seu ambiente, sem o desenvolvedor estar presente. sem o desenvolvedor estar presente.

23 Teste de Sistema É um série de diferentes testes cuja finalidade principal é exercitar por completo o sistema baseado em computador. Teste de recuperação Força o software a falhar e verifica se a recuperação é adequadamente realizada. Força o software a falhar e verifica se a recuperação é adequadamente realizada. Teste de segurança Verifica se os mecanismos de proteção incorporados a um sistema vão protegê-lo de invasão imprópria. Verifica se os mecanismos de proteção incorporados a um sistema vão protegê-lo de invasão imprópria. Teste de estresse Executa um sistema de modo que demanda recursos em quantidade, freqüência e volumes anormais. Executa um sistema de modo que demanda recursos em quantidade, freqüência e volumes anormais. Teste de desempenho Testa o desempenho do software durante a execução, no contexto de um sistema integrado. Testa o desempenho do software durante a execução, no contexto de um sistema integrado.

24 Outras categorias de Teste

25 Tipos de Teste Teste de Funcionalidade: Enfatiza a validação das funcionalidades requeridas nos serviços, métodos e use cases. Teste de Funcionalidade: Enfatiza a validação das funcionalidades requeridas nos serviços, métodos e use cases. Teste de Integridade: Avalia a robustez (resistência à falhas) do sistema, a flexibilidade da linguagem, a sintaxe e a usabilidade do código. Teste de Integridade: Avalia a robustez (resistência à falhas) do sistema, a flexibilidade da linguagem, a sintaxe e a usabilidade do código.

26 Tipos de Teste Teste de Carga: Avalia a resposta do sistema em condições extremas de carga de informações. Um teste de carga é, na verdade, um teste de performance voltado para a avaliação do sistema em condições extremas ou de limite. Teste de Carga: Avalia a resposta do sistema em condições extremas de carga de informações. Um teste de carga é, na verdade, um teste de performance voltado para a avaliação do sistema em condições extremas ou de limite. Teste de Performance: Monitora o perfil do tempo, incluindo execução de fluxo, acesso a dados, funcionalidade e chamadas ao sistema para identificar o gargalo e processos ineficazes. Teste de Performance: Monitora o perfil do tempo, incluindo execução de fluxo, acesso a dados, funcionalidade e chamadas ao sistema para identificar o gargalo e processos ineficazes.

27 Tipos de Teste Teste de Configuração: Assegura as funcionalidades pretendidas dos diferentes hardwares e/ou softwares de configuração. Teste de Configuração: Assegura as funcionalidades pretendidas dos diferentes hardwares e/ou softwares de configuração.

28 Tipos de Teste Teste de Ciclo de Negócios - Garante que o sistema funciona apropriadamente durante um ciclo de atividades relativas ao negócio e que ao final desse ciclo todos os resultados esperados foram obtidos. Teste de Ciclo de Negócios - Garante que o sistema funciona apropriadamente durante um ciclo de atividades relativas ao negócio e que ao final desse ciclo todos os resultados esperados foram obtidos. Teste de Interfaces do Usuário - Assegura que o comportamento, requisitos, projeto gráfico e navegacional definidos Teste de Interfaces do Usuário - Assegura que o comportamento, requisitos, projeto gráfico e navegacional definidos

29 Teste de Recuperação de Falhas - Garante que o sistema atende aos requisitos definidos para recuperação de falhas. Normalmente as seguintes situações são abordadas: Teste de Recuperação de Falhas - Garante que o sistema atende aos requisitos definidos para recuperação de falhas. Normalmente as seguintes situações são abordadas: Falta de energia no cliente; Falta de energia no cliente; Falta de energia no servidor; Falta de energia no servidor; Perda da comunicação cliente-servidor; Perda da comunicação cliente-servidor; Problemas no sistema operacional; Problemas no sistema operacional; Problemas de endereçamento de memória; Problemas de endereçamento de memória; Ou qualquer outro erro que faça com que o sistema aborte de forma abrupta sua execução. Ou qualquer outro erro que faça com que o sistema aborte de forma abrupta sua execução.

30 Tipos de Teste Teste de Instalação: Assegura a instalação, como desejada, nos diferentes hardwares e/ou softwares de configuração e sob diferentes condições como, por exemplo, espaço em disco insuficiente. Teste de Instalação: Assegura a instalação, como desejada, nos diferentes hardwares e/ou softwares de configuração e sob diferentes condições como, por exemplo, espaço em disco insuficiente. Teste de Estrutura: Focaliza a avaliação do design. Normalmente é realizado para aplicações voltadas para a Web, garantindo que todos os links estejam conectados. Teste de Estrutura: Focaliza a avaliação do design. Normalmente é realizado para aplicações voltadas para a Web, garantindo que todos os links estejam conectados.

31 Tipos de Teste Teste de Concorrência: Valida a capacidade do sistema de lidar com múltiplos atores requisitando recursos (dados, memória) ao mesmo tempo Teste de Concorrência: Valida a capacidade do sistema de lidar com múltiplos atores requisitando recursos (dados, memória) ao mesmo tempo Teste de Usabilidade: Focaliza nos fatores humanos, estética, consistência da interface com o usuário, help on-line e agentes, manual e material de treinamento Teste de Usabilidade: Focaliza nos fatores humanos, estética, consistência da interface com o usuário, help on-line e agentes, manual e material de treinamento


Carregar ppt "Estratégias de Teste de Software Uma estratégia de teste de software integra métodos de projeto de casos de teste numa série bem planejada de passos, que."

Apresentações semelhantes


Anúncios Google