Teste de Integração, Sistema e Aceitação

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Engenharia de Software
Metodologia de testes Nome: Gustavo G. Quintão
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como.
UML Visões – Parte 2.
Fundamentos de Engenharia de SW
Especificação de Requisitos
Participantes do Processo de Desenvolvimento de Software
Identificando requisitos
Definição de Casos de Teste Funcionais a partir de Casos de Uso
Engenharia de Software
Engenharia de Software
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Tópicos Motivação para teste Por que algumas empresas não testam
Engenharia de Software Professor Sandro de Paiva Carvalho.
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
Abordagem Estratégica ao Teste de Software
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
REDUNDÂNCIA POR SOFTWARE
Introdução a Computação Trabalho Final PUC Minas – São gabriel
O Fluxo de Implementação
Processos de Desenvolvimento de Software – Parte 2
Carlos Oberdan Rolim Ciência da Computação
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Engenharia de Software
Oficina Mecânica TADS 2011.
Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Engenharia de Software com o RUP - Workflow de Testes Parte I
Teste de Sistemas de Software
Desenvolvimento Rápido de Aplicação (RAD)
Requisitos de Software
Teste de Software Técnicas para a validação de sistemas de software
Teste de Software Conceitos iniciais.
Engenharia de Software
Sistemas Operacionais
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software II
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
REDES DE COMPUTADORES II
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Processos de Software.
Requisitos de Software
Teste de Sistemas de Software
1 Teste de Software Aula 2 Teresa Maciel DEINFO/UFRPE.
Prof.: Bruno Rafael de Oliveira Rodrigues ENGENHARIA DE SOFTWARE.
Desenvolvimento de Software Dirigido a Modelos
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
1/29 Teste de Integração, Sistema e Aceitação Alexandre Vasconcelos
Desenvolvimento de Sistemas - Fluxo de Testes
Testes de SW Aula 24.
Engenharia de Software
Engenharia de Software
Objetos Distribuídos Frameworks Orientados a Objetos.
Engenharia de Software
Qualidade de Produtos de Software
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Influencias sobre o Projeto da Linguagem
Estimativa, Teste e Inspeção de Software
CENTRO UNVERSÁTARIO PADRE ANCHIETA AULA 6 CURSO ENGENHARIA DE PRODUÇÃO DISCIPLINA: SISTEMAS DE INFORMAÇÕES GERENCIAIS (SIG) PROF: CÉSAR ANTONIO SOLDERA.
Catalysis Engenharia de Software Douglas Gabriel Bernardes Matheus Zure Pablo.
Análise do Sistema Alexandre Mota
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Elicitar Requisitos Documentar Requisitos Validar Requisitos Estrutura Implementação Implementar Componentes Testar de Unidades Corrigir Defeitos Testar.
Transcrição da apresentação:

Teste de Integração, Sistema e Aceitação Alexandre Monteiro

Teste de integração Unidades ou aplicações que foram testadas em separado são testadas de forma integrada A interface entre as unidades integradas é testada

Teste de integração O teste de integração deve ser feito de forma incremental, ou seja, as unidades devem ser integradas em pequenos segmentos Este teste é executado por um testador de integração (geralmente um programador)

Stubs e Drivers No contexto de teste de integração, usamos os elementos stubs e drivers Stubs são pseudo-implementações de determinadas especificações (Casos básicos/triviais/esperados) Drivers são operações que automatizam testes de acordo com casos de teste

Teste de Integração Suponha a integração de um grupo de módulos para formar um componente A estrutura de controle forma uma ‘‘hierarquia de chamadas’’ como segue A B C D E F G H I J K L

Teste de integração A integração dos módulos pode ser feita através das abordagens Top-down ou Bottom-up

Abordagem Top-down Os módulos são integrados de cima para baixo. O teste usa driver e stubs O driver é utilizado como módulo de controle principal, e os módulos reais são substituídos por stubs À medida que os testes vão sendo realizados os stubs são substituídos pelos módulos reais, um de cada vez

Top-down A B C D E F G H I J K L

Top-down driver A B stub stub stub stub

Top-down E assim por diante. Até que... driver A B C stub stub stub

Top-down driver A B C D E F G H I J K L

Top-down: vantagens Permite verificação antecipada de comportamento de alto nível Um único driver é necessário Módulos podem ser adicionados, um por vez, em cada passo, se desejado Suporta ambas as abordagens ‘‘breadth first’’ e ‘‘depth first’’

Top-down: desvantagens Retarda verificação de comportamento de baixo nível Stubs são necessários para suprir elementos ainda inexistentes Entradas de casos de teste podem ser difíceis de formular

Top-down: desvantagens Saídas de casos de teste podem ser difíceis de interpretar Oráculos podem ser necessários para inspecionar resultados esperados

Abordagem Bottom-up A integração é feita a partir do nível mais básico da hierarquia. Os stubs nem sempre são necessários Os módulos do nível inferior são combinados. Para cada combinação é criado um driver que coordena a entrada e a saída dos casos de teste.

Abordagem Bottom-up O módulo é testado O driver é substituído pela combinação de módulos correspondentes, que passam a interagir com os módulos do nível superior

Bottom-up A B C D E F G H I J K L

Bottom-up driver F J

Bottom-up driver E F J E assim por diante. Até que...

Bottom-up driver A B C D E F G H I J K L

Bottom-up: vantagens Permite verificação antecipada de comportamento de baixo nível Stubs não são necessários Mais fácil para formular dados de entrada para algumas sub-árvores Mais fácil para interpretar dados de saída para outras sub-árvores

Bottom-up: desvantagens Retarda verificação de comportamento de alto nível Drivers são necessários para elementos ainda não implementados Como sub-árvores são combinadas, um grande número de elementos deve ser integrado de uma só vez

Teste SandWich Combinação entre os testes top-down e bottom-up Geralmente aplicada a uma sub-árvore do sistema É semelhante a testar um sub-sistema completo

Teste baseado em Chamadas Os testes top-down e bottom-up são puramente funcionais Usando abordagem estrutural podemos identificar dependências entre unidades Duas técnicas: Por pares Por vizinhança Obtém-se melhoria ao reduzir stubs/drivers

Teste por Pares

Teste por Vizinhança

Teste de sistema Investiga o funcionamento da aplicação como um todo Integração dos componentes de software com o ambiente operacional (similar ao de produção) é realizada e testada

Teste de sistema Geralmente emprega teste funcional (Ideal: executado por membro de um grupo independente de testes) Pode-se usar o diagrama de casos de uso como fonte de funcionalidades Pode ser guiado pelos casos de uso (fluxos)

Teste de aceitação Testes funcionais, realizados pelo usuário, objetivando demonstrar a conformidade com os requisitos do software Envolve treinamento, documentação e empacotamento

Teste de aceitação Os testes podem ser de duas categorias: Alfa Beta Feitos por usuários, geralmente nas instalações do desenvolvedor. Observam e registram/problemas Beta Feitos por usuários, geralmente em suas próprias instalações, sem supervisão do desenvolvedor. Problemas detectados são então relatados ao desenvolvedor

Exercício Obrigatório Leitura completa dos capítulos 10 e 20 dos livros da Barbara Liskov e do Ian Sommerville, respectivamente.

Bibliografia Liskov, B. et al. Program Development in Java (Cap. 10) Sommerville, I. Software Engineering (Cap. 20)