Engenharia de Software

Documentos relacionados
INTRODUÇÃO A ENGENHARIA DE SOFTWARE

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

Teste de software. Engenharia de software Profª karine sato da silva

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

DESCOBERTO. (Glen Myers)

Introdução a Teste de Software

Introdução aos Testes de Software

Engenharia de Software

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana

Engenharia de Software

Verificação e Validação

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

TS02. Teste de Software INTRODUÇÃO AO PROCESSO DE TESTE DE SOFTWARE. COTI Informática Escola de Nerds

TESTES DE SOFTWARE Lista de Exercício 02. Luiz Leão

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo

Visão prática do BDD (Behavior Driven Design) para agilizar o processo de desenvolvimento

Teste de Software. Karen Frigo Busolin Novembro / 2010

Verificação e Validação

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana

Programação Orientada a Objetos

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

- 8ª Lista de Exercícios -

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

ENGENHARIA DE SOFTWARE

Desconstruindo Monolitos. Como construir micro serviços Delphi com agilidade e qualidade

Engenharia de Software

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

SSC 0721 Teste e Validação de Software

Teste de Software. Professor Maurício Archanjo Nunes Coelho

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Testes Ágeis com BDD. Por que o BDD pode salvar o agile? Paloma Costa

Teste de Software. Roberta Coelho

Engenharia de Software

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Teste de Software Intermediário

Teste como Serviço (TaaS) na Computação em Nuvem

1. A principal razão de dividir o processo de teste em tarefas distintas é:

Introdução à Engenharia de Software

Padrões de Testes Automatizados. Exame de Defesa de Mestrado Paulo Cheque Bernardo Orientador: Fabio Kon DCC IME/USP 4 de julho de 2011

Engenharia de Software

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Fundamentos de Teste de Software

Engenharia de Software I

3. Engenharia dos requisitos de software

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Teste de Software: conceitos, técnicas e benefícios

Práticas Ágeis de Teste

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Qualidade de software. Prof. Emiliano Monteiro

Verificação e Validação (V & V)

Introdução ao Teste de Software

Guia do Processo de Teste Metodologia Celepar

Como escolher um BPMS que trará resultados reais para seu negócio?

Manutenção Leitura: Sommerville; Pressman

Testes de Software. Prof. Edjandir C. Costa

Desenvolvimento Ágil de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Requisitos de Sistemas

Engenharia de Software

Princípios da Engenharia de Software aula 03

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Análise e Projeto de Sistemas

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

2

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Dificuldades na implantação de Métodos Ágeis

Curso online de Aplicações. Híbridas. Plano de Estudo

Engenharia de Requisitos

Organização para Realização de Teste de Software

Transcrição:

Engenharia de Software

2 Prof. Luís Fernando GARCIA luis@garcia.pro.br www.garcia.pro.br

Parte 6 Testes

Enfoque Enfoque de TESTES na disciplina

5 Enfoque Enfoque GERENCIAL... Não (apenas) técnico...

ERRO FATAL!

7

Necessidade

9 Dependência Software cada vez mais complexo Software cada vez mais disseminado Software essencial

10 Dependência

Histórico Não Oficial

12 Histórico Não Oficial Anos 70-90 pouca importância Anos 90-00 importância crescente Anos 00-10 Auge da importância Anos 10-18 Complicações?

13 Histórico Não Oficial Anos 10-18 Complicações? Desenvolvimento de APPs Startups Desenvolvimento Ágil Crise em empresas de desenvolvimento

Teste x Qualidade Uma relação complicada...

15

Cases Exemplos e números

17 Dados Clássicos 2002 USA 60 bilhões de prejuízo 2002 USA 22 bilhões de economia com um pouco mais de testes! Normal 40% do custo do projeto Especiais 5x mais que outras fases

18 Cases Clássicos Estação Climática de Marte U$165mi Airbus A320 290 mortes Máquinas de radiação/câncer SAMU Londres 1992 Airbus A300 1994 264 mortes Guerra das Malvinas Trem Míssil SCUD Guerra do Golfo

19 #Medo 5 7 10 erros a cada KLOC!

Definições

21 Definições Processo de executar um programa com o objetivo de revelar a presença de erros...

22 Definições Teste consiste na verificação dinâmica do funcionamento de um programa em um conjunto finito de casos de teste, cuidadosamente selecionado dentro de um domínio infinito de entradas, contra seu funcionamento esperado.

23 Definições

Terminologia Não é tudo a mesma coisa...

25

26

Subdivisões Nomes Oficiais

28 Termos Verificação Validação

Questões Para discussão

30 Questões Origem Humana Inicia nos requisitos Gerados na comunicação Partes raramente usadas Custo crescente

Princípios Da área de teste de software

32 Princípios Não planeje o teste assumindo que o programa está correto Um bom caso de teste é aquele que tem alta probabilidade de encontrar erro ainda não descoberto/caso de teste bem sucedido é aquele que detecta erro ainda não descoberto A probabilidade de existência de mais erros numa parte do programa é proporcional ao número de erros já descoberto na mesma

33 Princípios Teste deve ser feito por outra pessoa que não o autor do programa Dados de teste devem ser definidos para dados inválidos e não-esperados Determinar SEMPRE os resultados esperados Verificar cuidadosamente os resultados de cada teste Nunca jogue fora casos de teste, a não ser que esteja jogando fora também seu programa

Estratégias

35

36 Níveis de Teste

37 Níveis de Teste

38 Técnicas de Teste CAIXA BRANCA

39 Técnicas de Teste CAIXA PRETA

Modelo em V Famoso modelo em V...

41

Planejamento Planejamento de Testes

43

44

45

46

Documentos

48 Caso de Teste

49 Caso de Teste - EXEMPLO

50 Plano de Teste

51 Plano de Teste EXEMPLO

52 Plano de Teste EXEMPLO

53 Plano de Teste EXEMPLOS

Processo Modelo 3Px3E

55 Metodologia 3P x 3E 1 - Procedimentos 2 - Planejamento 3 - Preparação 4 - Especificação 5 - Execução 6 - Entrega

56

57

58

59

Parte 2

Automação

62 Automação de Testes aplicação de estratégias e ferramentas tendo em vista a redução do envolvimento humano em atividades manuais repetitivas (Cen Kaner) FOCO na amplitude/escopo, não na velocidade dos testes

63 Automação de Testes Boas Práticas Automatizar testes críticos primeiro... Nem todos os testes valem a pena serem automatizados... Incorpore testabilidade à aplicação... Ferramentas de testes também são software... Criar infra-estrutura adequada, ambiente isolado e controlado e Massa de dados consistente... Crie um projeto de automação de testes... Alinhe e motive envolvidos... Investimento de longo prazo... Teste manual é insubstituível...

64 Automação de Testes Principal aplicação: Testes Regressão (re-testes de funcionalidades mediante inclusão de novas funcionalidades ou correção de defeitos)

65 Mais Aplicações Testes funcionais Testes unitários Testes de performance Outros...

Paradigmas Da automação de testes de sw

67 Paradigmas

68 Paradigmas Capture/Playback Captura a utilização da aplicação pelo usuário.. Geram um script... Reproduzem posteriormente... Não requerem alterações na aplicação... Dependem fortemente da interface gráfica...

69 Paradigmas Data Driven Executam a mesma ação repetidamente porém com dados diferentes...

70 Paradigmas Keyword Driven Foco em testes de aceitação Foco em metodologias ágeis Permite a escrita de testes baseados em palavraschave que representam ações do usuário (PASSOS) como abrir um browser web, digitar a URL, cliques em botões etc

71 Paradigmas Selenium IDE

72 Paradigmas Linha de Comando Não dependente da Interface Gráfica Criação de Scripts

73 Paradigmas Baseados em API Não dependente da Interface Gráfica Maior profundidade/poder Evolução dos baseados em linha de comando

74 Paradigmas Test Harness Baseado na lógica de negócio Composto de: API ou gancho no programa original Programa testador

75 Paradigmas

76

Ferramentas

Ferramentas Para EXECUÇÃO de testes

79

Ferramentas Para GERÊNCIA de testes

81

82

Testes Ágeis Testes em Ambiente Ágil

84

85 Diferenças entre testes

86 Diferenças entre testes

87 Diferenças entre testes

Nuvem Testes e Nuvens...

89 Nuvens e Testes Teste usando a nuvem: Nesta categoria, o teste de software migra para a nuvem e os recursos computacionais da nuvem são utilizados para potencializar a profundidade, amplitude e a escala do teste de software. Teste da nuvem: Nesta categoria são tratados os desafios da implementação de uma estratégia para a realização de testes em aplicações residentes nas nuvens.

90 Nuvens e Testes Teste usando a nuvem: Potencializa a Profundidade, Amplitude e Escala do teste... Economia Dinamicidade / Adaptabilidade Diversidade de combinações

91 Nuvens e Testes Teste da nuvem: Ambiente distribuído Multiusuário Escalável Alta disponibilidade Infraestrutura compartilhada Alto volume de usuários Usuários sem treinamento

MPT.BR

93

94

95 MPT.BR

Equipe Profissionais de Teste

97 Coordenador de Testes Automatizador de Testes Arquitetos de Testes Definição das técnicas de testes... Analistas de Testes Criação de casos de testes... Testadores Executam os testes...

Competências Dos(as) Profissionais

99 Competências do(a) Profissional de Testes

100 Competências do(a) Profissional de Testes

101 Competências do(a) Profissional de Testes

102 Competências do(a) Profissional de Testes

103 Competências do(a) Profissional de Testes

104 Competências do(a) Profissional de Testes

Profissionais de Testes

The baby is ugly!

107 O testador deve ser diplomático, ou seja, utilizar bons modos e delicadeza para conduzir uma questão, pois, querendo ou não, na maioria das vezes, é portador de más notícias. Conforme [LOVELAND], terá que dizer ao desenvolvedor The baby is ugly!.

Próximo Assunto

109 Próximos Assuntos Evolução Sistemas Legados