Prévia do material em texto
Universidade Estácio de Sá Teste de Software Disciplina : Processo e desenvolvimento de Software. Professor: Antonio Junior. Aluno: Adriano Antonio Pagliarin. Matrícula: 2010 02 142271. Teste de Software Conceito: É uma investigação no software com a finalidade de fornecer informações sobre sua qualidade em relação a sua maneira de operação. Processo de executar um programa ou sistema com a intenção de encontrardefeitos (teste negativo) (Glen Myers — 1979); Em essência, teste desoftware é o processo que visa a sua execução de forma controlada, com o objetivo de avaliar o seu comportamento baseado no que foi especificado. O processo de teste O processo de teste deve basear-se em metodologia, processo de desenvolvimento, pessoal técnico qualificado, ambiente e ferramentas adequadas. Procedimentos iniciais: Etabelecer o objetivo do projeto de teste, o pessoal a ser envolvido, as responsabilidades de cada um, o plano preliminar de trabalho, a avaliação dos riscos, os níveis de serviço acordados e qualquer item considerado relevante pelo responsável das atividades de teste para garantir o sucesso do projeto. Planejamento: Elaboração e revisão da Estratégia de Testes e do Plano deTeste. Preparação: Preparação do ambiente de teste, equipamentos, rede, equipe, software e ferramentas. Especificação: Elaboração e revisão dos Casos de Teste, “scripts” ( no caso de uso de ferramentas de automação de testes) e dos Roteiros de Teste e execução dos testes de verificação da documentação do sistema (testes estáticos). Técnicas de teste Testes Caixa Preta (Black Box): visam verificar a funcionalidade e a aderência aos requisitos, em uma ótica externa ou do usuário, sem se basear em qualquer conhecimento do código e da lógica interna do componente testado. Testes Caixa Branca (White Box): visam avaliar as cláusulas de código, a lógica interna do componente codificado, as configurações e outros elementos técnicos. Estágios de teste Testes unitários: Verificam o funcionamento de um pedaço do sistema ou software isoladamente. Testes de integração: São executados em uma combinação de componentes para verificar se eles funcionam corretamente juntos, conforme as especificações. Testes de sistema: Visa a execução do sistema como um todo. Serve para validar a exatidão e perfeição na execução de suas funções. Testes de aceitação: são os testes realizados pelos usuários, visando verificar se a solução atende aos objetivos do negócio e a seus requisitos. Tipos de testes Testes de regressão: Visam a garantir que o software permaneça intacto depois de novos testes serem realizados. Testes de carga: Visam a avaliar a resposta de um software sob uma pesada carga de dados ou uma grande quantidade de usuários simultâneos. Mostra quando o software começa degradar ou a aplicação começa a falhar. Testes de Configuração: Verificam se o software está apto a rodar em diferentes versões ou configurações (hardware e software). Testes de Usabilidade: Verificam o nível de facilidade de uso do software pelos usuários. Testes de Instalação: Verificam o processo de instalação parcial, total ou a atualização do aplicativo. Testes de Segurança: Validam a capacidade de proteção do software contra acesso interno ou externo não autorizado. Testes de Recuperação: Validam a capacidade e qualidade da recuperação do software após “crashes”, falhas de hardware ou outros problemas catastróficos. Testes de Compatibilidade: Validam a capacidade do software de executar em um particular ambiente de hardware/software/sistema operacional/rede etc. Testes de Desempenho: Visam garantir que o sistema atende aos níveis de desempenho e tempo de resposta acordados com os usuários e definidos nos requisitos. Testes de Qualidade de Código: Grupos de testes com o intuito de verificar o código fonte dos programas em consonância com padrões, melhores práticas, instruções não executadas e outros. Testes de Alterações: Visam a rastrear alterações de programas durante o processo de teste. Testes de Recuperação de Versões: Verificam a capacidade de retornar a uma versão anterior do sistema. Testes de Interoperabilidade: Avaliam as condições de integração com outros softwares e/ou ambientes. Testes Estáticos: Avaliam toda a documentação do projeto, tais como modelos, requisitos etc. Testes Embutidos: Avaliam a integração entre o hardware e o software, como por exemplo, um sinal para que um equipamento entre em funcionamento. Testes de Verificação do Site Web: Verificam problemas que possa haver no site Web tais como links inválidos, arquivos órfãos, páginas lentas, ligações entre páginas/componentes e outros. Testes de Conferência de Arquivos: Verificam alterações nos arquivos usados. Testes Alfa: São executados quando o desenvolvimento está próximo à sua conclusão. são feitos de forma descontrolada (pelos usuários), isto é, sem nenhuma relação com o organograma de testes. Testes Beta: São executados quando o desenvolvimento e testes estão praticamente concluídos, e o maior número possível de defeitos/problemas precisam ser encontrados antes da “release” final. Conclusão Defeitos podem ocorrer a qualquer momento e ninguém pode garantir que um software está completamente livre. Evitar que os defeitos ocorram é uma das tarefas dos testadores. Muitas vezes é necessário muito tempo para achar e/ou resolver um problema. Quando isso acontece, é necessario que a equipe esteja pronta para decidir se vale a pena continuar, pois tempo é dinheiro. Bíbliografia: Prof. Cristiano R R Portella - PUC Campinas – Teste de Software. www.wikipedia.org/ Livro - Testes De Software - Leonardo Molinari