1/29 Teste de Integração, Sistema e Aceitação Alexandre Vasconcelos

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Engenharia de Software
Metodologia de testes Nome: Gustavo G. Quintão
Estratégias de Teste de Software
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
Engenharia de Software
Participantes do Processo de Desenvolvimento de Software
Identificando requisitos
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
Teste de software Professor: Sílder Lamas Vecchi.
FACULDADE DOS GUARARAPES
Processos de Desenvolvimento de Software
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
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.
Rational Unified Process
REDUNDÂNCIA POR SOFTWARE
Fundamentos de Engenharia de SW
Introdução a Computação Trabalho Final PUC Minas – São gabriel
Processos de Desenvolvimento de Software – Parte 2
Análise e Projeto de Sistemas
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)
Gerência de Configuração - GC
Teste de Software Técnicas para a validação de sistemas de software
Teste de Software Conceitos iniciais.
Engenharia de Software
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
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Técnicas e Projeto de Sistemas
Teste de Integração, Sistema e Aceitação
Teste de Sistemas de Software
1 Teste de Software Aula 2 Teresa Maciel DEINFO/UFRPE.
Desenvolvimento de Software Dirigido a Modelos
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Testes de SW Aula 24.
Engenharia de Software
Distribuição de Software Alexandre Vasconcelos © Centro de Informática Universidade Federal de Pernambuco.
Engenharia de Software
Objetos Distribuídos Frameworks Orientados a Objetos.
Engenharia de Software
Qualidade de Produtos de Software
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
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
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
Catalysis Engenharia de Software Douglas Gabriel Bernardes Matheus Zure Pablo.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
Teste de Software 04: Que parte devo testar? Marcelo d’Amorim
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:

1/29 Teste de Integração, Sistema e Aceitação Alexandre Vasconcelos

2/29 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

3/29 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)

4/29 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

5/29 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 BCD EFGHI JKL

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

7/29 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

8/29 Top-down A B EF JKL C G D HI

9/29 Top-down A B stub driver

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

11/29 Top-down A B EF JKL C G D HI driver

12/29 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 as abordagens ‘‘breadth first’’ e ‘‘depth first’’

13/29 Top-down: desvantagens Retarda verificação de comportamento de baixo nível Stubs são necessários para suprir elementos ainda inexistentes

14/29 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.

15/29 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

16/29 Bottom-up A B EF JKL C G D HI

17/29 Bottom-up F J driver

18/29 Bottom-up J driver EF E assim por diante. Até que...

19/29 Bottom-up A B EF JKL C G D HI driver

20/29 Bottom-up: vantagens Permite verificação antecipada de comportamento de baixo nível Stubs nem sempre são necessários

21/29 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

22/29 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

23/29 Teste por Pares

24/29 Teste por Vizinhança

25/29 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

26/29 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)

27/29 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

28/29 Teste de aceitação Os testes podem ser de duas categorias: Alfa 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

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