• Nenhum resultado encontrado

Princípios do teste de software

No documento PROJETO, IMPLEMENTAÇÃO E TESTE DE SOFTWARE (páginas 156-162)

VOLUME DOS DADOS

A ATIVIDADE DE TESTE DURANTE O CICLO DE VIDA DO SOFTWARE Autora: Luciane Neves

3. Teste de software

3.2 Princípios do teste de software

Alguns dos itens que são comuns a todos os autores e pesquisadores do assunto “teste de software” e que descrevem os fundamentos e princípios desta atividade estão rela- cionados abaixo:

Conforme a Lei de Pareto, 80% dos erros podem ser localizados em 20% do projeto, geralmente nos módulos principais do sistema.

A atividade de teste não prova a ausência de erros, apenas a sua existência.

Bons casos de teste são aqueles que encontram falhas no sistema até então não desco- bertas.

Bons casos de teste são projetados levando em conta os requisitos do projeto.

Um critério que pode ser utilizado para determinação do esforço a ser gasto na ativida- de de teste de software é verificar qual o grau de severidade das consequências advin- das do seu mau funcionamento.

A probabilidade de encontrar um erro em uma determinada parte do sistema é propor- cional ao número de erros já encontrados nessa parte.

O objetivo da atividade de teste pode ser entendido da seguinte forma:

No início de cada fase verificar se essa etapa do projeto reflete exatamente os requisitos e definições da fase imediatamente anterior [...].

Verificar se não existem erros de lógica no projeto e código, no fluxo de dados, no en- tendimento de requisitos, de codificação, tipográficos ou de interface em todas as fases do projeto.

Identificar e interferir na presença do erro, iniciando-se a depuração, sendo que quanto antes for descoberta a falha, menos custoso será para adequá-la.

Ter em mente que, uma vez que errar é humano e atividade de desenvolvimento de sof- tware é um exercício bastante complexo, os erros existem e devem ser descobertos [...]. 3.4 Classificação dos testes

Podemos classificar os métodos de teste de acordo com suas características básicas. Po- de-se descrever resumidamente cada um destes grupos da seguinte forma:

Testes estáticos ou testes humanos: não são feitos por meio da execução real do pro- grama, mas sim por meio da sua execução conceitual [...].

Testes dinâmicos: requerem que o programa seja executado e, por isso, seguem o mo- delo tradicional de teste de programa, no qual o programa é executado com alguns casos de teste.

Testes funcionais: uma vez que testes exaustivos não são viáveis, características do do- mínio de entrada são examinadas para que se tente descobrir formas de derivar um conjunto de dados de teste representativo que consiga exercitar completamente a es- trutura do sistema.

Testes estruturais: diferentemente dos testes funcionais, que se preocupam com a fun- ção que o programa desempenha sem se preocupar com a maneira como a função foi implementada, o teste estrutural enfoca a implementação e a estrutura da função [...]. Testes de unidade: concentra-se no esforço de verificação da menor unidade de pro- jeto de software: o módulo. Por meio do uso da descrição do projeto detalhado como guia, caminhos de controle importantes são testados para descobrir erros dentro das fronteiras do módulo. Esse teste baseia-se sempre na caixa branca, e esse passo pode ser realizado em paralelo para múltiplos módulos [...].

Testes de integração: o objetivo é, a partir dos módulos testados no nível de unidade, construir a estrutura do programa que foi determinada pelo projeto de forma sistemá- tica, testando também a interface dos módulos. A integração pode ser incremental ou não-incremental.

Testes de validação: o teste de validação pode ser considerado bem sucedido quando o software funciona da maneira esperada pelo cliente. A validação do software, na fase de testes, é realizada por meio de uma série de testes de caixa preta que demonstram a conformidade com os requisitos.

Testes alfa e beta: são os testes de aceitação, feitos pelo usuário, que dificilmente opera o sistema da forma prevista, e visam descobrir erros cumulativos que poderiam deterio- rar o sistema no decorrer do tempo.

Teste de segurança: o teste de segurança tenta verificar se todos os mecanismos de proteção embutidos em um sistema o protegerão de acessos indevidos. Todas as formas de ataque devem ser simuladas.

Testes de estresse: o teste de estresse é feito para confrontar o sistema com situações anormais. O teste de estresse executa o sistema de forma que exige recursos em quanti- dade, frequência ou volume anormais.

Teste de desempenho: o teste de desempenho é idealizado para testar o desempenho do software quando executado dentro do contexto de um sistema integrado.

Embora seja difícil medir e definir um software como sendo de boa qualidade, é fácil identificar um software de má qualidade. Os erros frequentes, o mau funcionamento ou a inadequação aos requisitos são sempre notados.

Material Complementar

Teste de Software

Emerson Rios, Trayahú Moreira Editora: Alta Books

Sinopse: Tratar essa atividade de teste de software como uma daquelas inseridas no processo de desenvolvimento, quando era executada por programadores e analistas de sistemas, não atende mais ao nível atual de complexidade das aplicações. Os testadores são técnicos altamente qualifi cados, os quais precisam acumular uma gama enorme de conhecimentos para poderem desempenhar suas atividades. Esse livro dá um enfoque gerencial aos principais aspectos relacionados com teste de software e procura servir de base para que gerentes e testadores possam absorver os conhecimentos necessários para suas funções na época atual. Desta forma, os autores apresentam além das métricas e metodologias, como os testes devem ser corretamente organizados e executados na empresa, e o que os gerentes precisam saber para montar um ambiente de teste estruturado e adequado aos novos técnicos dos projetos de teste de

software. Nessa edição de Teste de Software, os autores Emerson Rios e Trayahú Moreira incluíram o capítulo Documentação de Teste, onde o leitor adquire informações sobre a norma IEEE 829:2008, que trata da documentação que deve ser usada em projetos de teste de software.

Testes de Software - Produzindo Sistemas Melhores e Mais Confi áveis

Leonardo Molinari Editora: Érica

Sinopse: Esse livro, para melhor entendimento do leitor, está dividido em três partes. A primeira mostra a visão macro da qualidade de software e seus principais elementos. Em seguida, traz testes de software em detalhes e, por último, as principais áreas de testes. O autor faz uma análise do mercado de ferramentas de automação de testes e exercícios de fi xação. A qualidade de software, ao longo do tempo, tem se modifi cado e evoluído. Então, como desenvolver sistemas usando uma nova ciência em explosão no mundo, chamada de testes de software? A resposta a esta pergunta é tratada do início ao fi m deste livro. Ele é dividido em três partes: visão macro da qualidade de software e seus principais elementos, testes de software em detalhes e principais ou grandes áreas de teste. Contém ainda análise do mercado de ferramentas de automação de testes e exercícios de fi xação ao fi nal dos capítulos.

Base de Conhecimento Em Teste de Software - 3ª Ed. 2012

Emerson Rios, Anderson Bastos, Ricardo Cristalli e Trayahú Moreira. Editora: Martins Editora

Sinopse: Obra de referência para os profi ssionais da área, indicada para o leitor que começa a se preparar para os exames de certifi cação. A fi m de auxiliá-lo ainda mais nessa tarefa, foram selecionados os temas mais abordados nos principais exames. De maneira complementar, esta obra, desde sua primeira edição, é também fonte de consulta para a execução das atividades relacionadas ao teste de software.

Como trabalhar com testes de software?

Nesse vídeo é dado algumas dicas do por que escolher a área de teste de software pode ser uma boa escolha para começar a trabalhar na área de TI, ou mesmo como uma opção para buscar um nova oportunidade do mercado de trabalho, visando crescimento na carreira profi ssional. Disponível em: <https://www.youtube.com/watch?v=rL48FS-99ac>.

Introdução à garantia de qualidade de software e ferramentas para teste

Veja neste artigo uma introdução à garantia de qualidade e ferramentas de teste de software. Atualmente, muito se fala sobre qualidade de software, entretanto, os desenvolvedores por vezes não sabem se estão no caminho certo. Para esclarecer um pouco sobre este assunto, nesse artigo vamos tratar alguns pontos principais sobre este tema. Boa leitura!

Leia mais em: <http://www.devmedia.com.br/introducao-a-garantia-de-qualidade-de-software- e-ferramentas-para-teste/28027#ixzz3xmj2tx5q>.

Material Complementar

Formando Equipes Eficientes de Teste de Software

Nesse artigo o autor mostra a importância de se formar equipes e times eficientes em teste de software, qualificações e requisitos tanto técnicos como gerenciais básicos que são necessários e completam o perfil ideal para trabalhar na área de teste de software. Também é mostrado o Processo de Formação de Equipes de Teste de Software, como desenvolver um modelo de hierarquia para projetos de teste de software. O autor mostra um guia «quase completo» para ser e contratar um bom Analista de teste de Software (Requisitos técnicos e requisitos Pessoais e Profissionais). Excelente artigo.

Para ler o artigo na íntegra, acesse o link:

<http://www.linhadecodigo.com.br/artigo/1419/formando-equipes-eficientes-de-teste-de- software.aspx#ixzz3zICtaNLl>

Artigo que mostra como o ciclo de vida do teste faz parte do ciclo de vida do software e eles devem ser iniciados ao mesmo tempo. O processo de design e desenvolvimento de testes pode ser tão complexo quanto o processo de desenvolvimento do software em si. Se os testes não forem iniciados juntamente com os primeiros releases executáveis do software, o esforço de teste retardará a descoberta de muitos problemas no ciclo de desenvolvimento. Boa leitura!

Para ler o artigo na íntegra, acesse o site:

Tecnologias em Projeção. V. 2, 2011, p. 49-52.

BASTOS A.; RIOS E.; CRISTALLI R.; MOREIRA T. Base de Conhecimento em Teste de Software. 2 ed. São Paulo: Editora Martins, 2007.

HETZEL W. C. The Complete Guide to Software Testing. 2 ed. United States: John Wiley & Sons, 1998.

MECENAS I.; OLIVEIRA V. Qualidade em software. Rio De janeiro: Alta Books, 2005.

No documento PROJETO, IMPLEMENTAÇÃO E TESTE DE SOFTWARE (páginas 156-162)