290 likes | 586 Views
Introdução a Computação Trabalho Final PUC Minas – São gabriel. Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves. Introdução:.
E N D
Introdução a ComputaçãoTrabalho FinalPUC Minas – São gabriel Teste e Manutenção de Software Grupo: Matheus Souza Silva Thiago Gonçalves
Introdução: 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?
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. Conceito:
Técnicas 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!
Caixa Branca: 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.
Critérios de Teste Caixa Branca 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
Processos do Teste Caixa Branca 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;
Aplicabilidade 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;
Vantagens da técnica Caixa Branca É possível garantir que partes importantes do programa sejam executadas; Facilidade de encontrar valores de entradas úteis para o teste, otimizando o sistema;
Desvantagens da técnica Caixa Branca 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;
Caixa Preta ou “Black Box” 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.
Critérios de Teste Caixa Preta 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.
Processos do Teste Caixa Preta 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;
Aplicabilidade Pode ser aplicado em todas as fases de teste; A complexidade de aplicação aumenta de fase em faz
Vantagens do Teste Caixa Preta 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;
Desvantagens do Teste Caixa Preta 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;
Tipos de Teste 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.
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.
Clico de Vida dos Teste 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
Ferramenta para Teste de Software 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.
Conceito: Manutenção de Software é uma etapa da Engenharia de Software, que é responsável pelo melhoria e otimização de um software já desenvolvido.
Aplicabilidade: 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;
Tipos de Manutenção 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
Problemas da Manutenção 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;
Livros 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
Links 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
Site trabalhoictesteemanutencao.xpg.com.br