29
Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Embed Size (px)

Citation preview

Page 1: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Teste e Manutenção de Software

Grupo:

Matheus Souza Silva

Thiago Gonçalves

Page 2: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

O Software está cada vez mais presente na vida das pessoas, seja no celular, nos bancos, nos automóveis e entre outros. Com isso, ele estão se tornando cada vez mais complexos e exigem um grau mais elevado de responsabilidade na processo de produção. A maioria das pessoas já passaram por uma experiência ruim com algum software que não funciona corretamente e não inspiram confiança ao usuário. Para evitar esse tipo de problema, a empresa produtora do software deverá investir em Teste de Software, pois reduzem a ocorrência de erros no ambiente de produção. Mas o que é Teste de Software?

Page 3: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Teste de Software é um processo da Engenharia de Software que é realizado pelo testador a fim de fornecer informações sobre sua qualidade no contexto onde ele deve operar.

Page 4: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Existem várias técnicas que o testador pode utilizar para realizar o Teste de Software, as principais são:

Caixa Branca

Caixa Preto

Vamos Explicar cada uma delas!

Page 5: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

A técnica Caixa Branca testa a parte interna do software, ou seja, essa técnica trabalha diretamente com o código-fonte do componente de software. Essa técnica irá avaliar : teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos e os códigos nunca executados.

Page 6: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Critérios baseados em Fluxo de Controle

Fluxo de Controle é a ordem em que as instruções ou expressões de funções são executadas ou avaliadas em um software.

Critérios baseados em Fluxo de Dados

Fluxo de Dados é quando valor de todas as variáveis do software mudam decorrente da mudança de uma única variável

Page 7: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Os valores de entradas são selecionados de modo que os caminhos são selecionados sejam executados;

Os valores de saídas são determinados;

Os casos de testes são construídos;

As saídas obtidas são comparadas com as saídas esperadas;

Um relatório é gerado para avaliar o resultado do teste;

Page 8: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Os critérios da técnica Caixa Branca podem ser usados em qualquer fase do teste;

São comuns nos testes de unidade;

Diferentes caminhos dentro de um produto em teste;

Page 9: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

É possível garantir que partes importantes do programa sejam executadas;

Facilidade de encontrar valores de entradas úteis para o teste, otimizando o sistema;

Page 10: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

O número de caminhos a serem executados podem ser infinitos, tornando o teste exaustivo;

Caminhos não executáveis podem ser determinados;

Dificuldade de automatização;

Page 11: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

O nome Caixa Preta vem do sentido de que nesse teste, não exige conhecimento da estrutura interna do software. Esse teste é usado para verificar a saída dos dados usando de entrada vários valores, tais entradas não são escolhidas conforme estrutura do programa.

Page 12: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Particionamento de Equivalências

Procura definir um caso de teste que descubra classes de erros, reduzindo o número total de casos de teste que devem der resolvidos.

Teste de Paridade

É um teste que permite que você reduza um conjunto grande de entradas do casos de teste para um conjunto bem menor.

Page 13: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

A especificações de requisitos é analisada;

Entradas válidas são testadas para determinar se o software está funcionando dentro do contexto;

Os casos de teste são construídos;

O conjunto de testes são executados;

Os relatórios são gerados para avaliar os testes;

Page 14: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Pode ser aplicado em todas as fases de teste;

A complexidade de aplicação aumenta de fase em faz

Page 15: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Pode ser utilizado em todas as fases de testes;

Pode ser utilizado independente do paradigma de programação;

Eficaz em detectar determinados tipos de erro;

Page 16: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

O teste depende de uma boa especificação de requisitos, o que~, em geral, não é bem feito;

Não é possível garantir que partes essenciais dos software sejam executadas;

Para encontrar todos os defeitos utilizando o teste Caixa Preta é necessário o teste exaustivo;

Page 17: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Teste de Unidade:

Essa fase testa as menores unidades de software desenvolvidas. Esse teste encontra falhas de funcionamento dentro de uma pequena parte do sistema;

Teste de Integração:

O objetivo é encontrar falhas na integração interna dos componentes de um software.

Teste de Sistema:

No Teste de Sistema o objetivo é executar o software sob o ponto de vista do usuário final, fazendo os teste de interface, ambiente de software e massa de dados.

Page 18: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Teste de Aceitação:

O Teste de aceitação é realizado por um grupo de usuários finais, que simulam rotinas diárias que eles iram realizar, para verificar se o software está funcionando de acordo com o contexto.

Teste de Operação:

O Objetivo desse teste é realizar a entrada do software no ambiente produtivo, testando a instalação e a segurança dos banco de dados.

Teste Alfa:

É o uso do sistema no ambiente produtivo, mas com a supervisão do desenvolvedor, registrando erros e problemas no uso contínuo do software.

Teste Beta:

O Teste Beta é realizado sem a presença do desenvolvedor, fazendo com que o cliente analise os erros, e em intervalos regulares, passar esses erros para o desenvolvedor. Com os resultados, os engenheiro fazem as modificações e liberam o produto para seus clientes.

Page 19: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Planejamento:

Nesta faze é elaborada a maneira como o teste será realizados eé criado o Plano de Teste e a Estratégia de Teste.

Preparação:

O objetivo desta fase é preparar o ambiente de teste, ou seja, equipamentos, equipe, ferramentas e etc.

Especificação:

Revisar os casos de teste e elaborar roteiros de teste. Execução:

É nessa fase que os testes serão realizados e os relatórios serão gerados para analisar os resultados.

Entrega:

É nessa fase que o projeto é finalizado e a documentação é arquivada

Page 20: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

O JUnit é uma ferramenta open-source que facilita a criação de código para a automação de testes com apresentação dos resultados. Com ele, pode ser verificado se cada método de uma classe funciona da forma esperada, exibindo possíveis erros ou falhas podendo ser utilizado tanto para a execução de baterias de testes como para extensão.

Page 21: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves
Page 22: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Manutenção de Software é uma etapa da Engenharia de Software, que é responsável pelo melhoria e otimização de um software já desenvolvido.

Page 23: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Manutenção de Software envolve:

Mudança no software para corrigir problemas e deficiências que foram encontrados pelo usuário final;

Aprimoramento do software, adicionando novas funcionalidades para melhor a sua usabilidade;

Page 24: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Corretiva – Realiza a manutenção das deficiências do Software

Adaptativa – Ocorre quando há alguma mudança do ambiente

Aperfeiçoadora – Melhoria na qualidade do software

Page 25: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

A maioria dos problemas encontrados na fase da Manutenção, são causados por falta de planejamento e por seu mal desenvolvido;

Grande parte das alterações não são documentadas, dificultando a evolução do software;

Documentação inexistente ou desatualizada;

Grande parte dos softwares desenvolvidos, não foram projetados para receberem alterações;

Page 26: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves
Page 27: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

Teste de Software, Emerson Rios – Altas Book

http://www.submarino.com.br/produto/1/186943/teste+de+software

Teste e Análise de Software, Michael Young - Artmed

http://www.submarino.com.br/produto/1/21392919/teste+e+analise+de+software

Manutenção de Software, David Bellin – Makron Books

http://www.estantevirtual.com.br/seboprazeremler/David-Bellin-Manutencao-de-Software-30590289

Page 28: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

http://testesdesoftware.blogspot.com.br/

http://pt.wikipedia.org/wiki/Manuten%C3%A7%C3%A3o_de_software

http://www.devmedia.com.br/artigo-engenharia-de-software-introducao-a-teste-de-software/8035

http://pt.wikipedia.org/wiki/Teste_de_caixa-branca

http://www.ic.unicamp.br/~ranido/mc626/Manutencao.pdf

http://www.univasf.edu.br/~ricardo.aramos/disciplinas/ESI2009_2/Aula021_Manutencao.pdf

Page 29: Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves

trabalhoictesteemanutencao.xpg.com.br