Testes de Software - Apostila
Testes de Software - Apostila
Testes de Software - Apostila
Testes de Software
Robson Braga de Andrade
Presidente da Confederação Nacional da Indústria
Rafael Lucchesi
Diretor do Departamento Nacional do SENAI
Alcantaro Corrêa
Presidente da Federação da Indústria do Estado de Santa Catarina
Testes de Software
Florianópolis/SC
2011
É proibida a reprodução total ou parcial deste material por qualquer meio ou sistema sem o prévio consentimento
do editor.
Autor Fotografias
Carlos Eduardo Carvalho Banco de Imagens SENAI/SC
http://www.sxc.hu/
http://office.microsoft.com/en-us/ images/
http://www.morguefile.com/
http://www.bancodemidia.cni.org.br/
Ficha catalográfica elaborada por Luciana Effting CRB14/937 - Biblioteca do SENAI/SC Florianópolis
C331t
Carvalho, Carlos Eduardo
Teste de software / Carlos Eduardo Carvalho. – Florianópolis :
SENAI/SC/DR, 2011.
59 p. : il. color ; 30 cm.
Inclui bibliografias.
CDU 004.415.53
Com acesso livre a uma eficiente estrutura laboratorial, com o que existe
de mais moderno no mundo da tecnologia, você está construindo o seu
futuro profissional em uma instituição que, desde 1954, se preocupa em
oferecer um modelo de educação atual e de qualidade.
É nesse contexto que este livro foi produzido e chega às suas mãos.
Todos os materiais didáticos do SENAI Santa Catarina são produções
colaborativas dos professores mais qualificados e experientes, e contam
com ambiente virtual, mini-aulas e apresentações, muitas com anima-
ções, tornando a aula mais interativa e atraente.
Referências 59
8 CURSOS TÉCNICOS SENAI
Conteúdo Formativo
Carga horária da dedicação
Competências
Conhecimentos
▪▪ Diário de teste;
▪▪ Especificação de teste;
▪▪ Especificação e relato de teste;
▪▪ Especificações de caso de teste;
▪▪ Especificações de procedimento de teste;
▪▪ Especificações de projeto de teste;
▪▪ Ferramenta de teste;
▪▪ Metodologia de desenvolvimento de programa de computador;
▪▪ Metodologia de teste;
▪▪ Normas técnicas vigentes;
▪▪ Procedimento de teste;
▪▪ Registro de teste;
▪▪ Relato de teste;
▪▪ Relatório de encaminhamento de item de teste;
▪▪ Relatório de incidente de teste;
▪▪ Relatório-resumo de teste;
▪▪ Requisitos de ambiente;
▪▪ Técnicas de teste.
Habilidades
TESTES DE SOFTWARE 9
▪▪ Testar os programas;
▪▪ Elaborar registros de teste;
▪▪ Identificar defeitos e falhas em programas de computador;
▪▪ Utilizar artefatos de manutenção;
▪▪ Elaborar registros na documentação da manutenção de programas de computa-
dor.
Atitudes
Bons estudos!
TESTES DE SOFTWARE 11
Unidade de
estudo 1
Seções de estudo
Seção 1
Metodologia de desenvolvimento de software
Você sabia que utilizar uma metodologia para desenvolver um software é Processo de Garantia da Qualida-
o primeiro passo de uma prática profissional? de do Software:
É isso mesmo! Confira a seguir um formato básico de metodologia para
1. Planejamento da Qualidade.
elaboração de um software, de acordo com Bartié (2002, p. 25).
2. Garantia da Qualidade.
3. Controle da Qualidade.
Neste momento você deve estar
se perguntando: mas porque devo
testar um software? Qual o objeti-
vo deste teste? Não seria perda de
tempo, já que na maioria das ve-
zes o tempo de desenvolvimento
de um software é curto?
É sobre este assunto que conver-
saremos na próxima seção de es-
tudo. Vamos em frente!
Figura 1: Ciclo de desenvolvimento de software
Fonte: Bartié (2002, p. 25)
Seção 2
Perceba que o item teste é apenas uma parte da metodologia e aparece Objetivos do teste de
somente no final do projeto.
software
Por isso, o objetivo desta seção de estudo é mostrar à você que as De forma bem básica, o objetivo do
práticas de teste devem iniciar juntamente com o início do projeto, no teste de software é simplesmente
momento em que as primeiras documentações são geradas. Assim, garantir a qualidade do software.
os erros e problemas não são transferidos para as próximas fases, ok?
Para Bartié (2002) o processo de
qualidade de software está decom-
posto em fases e cada fase possui
Quando a cultura da aplicação da metodologia estiver bem entendida e uma numeração que indica a se-
difundida, você verá que os processos e métodos de teste permitirão a quência de execução dos testes a
qualidade dos produtos. Neste momento é importante fazer referência serem aplicados.
ao PMI (Project Management Institute) que fez o PMBOK (Project Manage- Assim, deve-se dividir os testes
ment Body of Knowledge), no qual o processo de gerenciamento da qualida- em duas categorias: testes de ve-
de de software é subdividido em três partes complementares, acompanhe! rificação e testes de validação.
Os testes de verificação visam
garantir a correta elaboração do
software e os testes de validação
estão focados na garantia da qua-
lidade do software.
TESTES DE SOFTWARE 13
Para que você possa verificar as ▪▪ Disponibilização de Solu-
atividades e avaliar os documen- ção: validação do aceite.Lembre- ▪▪ Teste é um processo siste-
tos gerados durante as fases do -se de que o conhecimento se mático e planejado que tem
processo de engenharia de softwa- adquire por meio de uma cons- por finalidade única a identi-
ficação de erros.
re, deve utilizar os testes de veri- trução significativa da aprendiza-
ficação. gem. Então, vamos juntos trilhar
As fases da metodologia que fa- novos caminhos do conhecimen-
zem parte dos testes de verifica- to? Esta é considerada a definição
ção são: correta sobre os testes. Inde-
pendentemente do teste ser apli-
▪▪ Modelo de Negócios: verifi- Seção 3 cado a um documento ou a um
cação de negócios; O que é teste de software, o objetivo é criar situa-
▪▪ Especificação de Requisi- software? ções onde o produto pode não
tos: verificação de requisitos; funcionar.
▪▪ Análise e Modelagem: verifi- Existem atualmente, duas defini-
cação, análise e modelagem; ções para teste.
▪▪ Implementação: verificação Você sabe quais são? Vamos ver
da implementação. juntos.
A definição mais comum, que a
Desta forma, defini-se testes de maioria das equipes de desenvol-
validação como: vimento aplica está simplificada
como:
[...] um processo formal de ava-
liação de produtos tecnológicos
que podem ser aplicados em ▪▪ Teste é o processo de de-
componentes isolados, módulos monstrar que algo funciona
existentes ou mesmo nos siste- corretamente.
mas como um todo. Seu objeti-
vo é avaliar a conformidade do
▪▪ Teste é o processo de pro-
var que determinadas coisas
software com os requisitos e
fazem o que deveriam fazer.
especificações analisadas e revi-
sadas nas etapas iniciais do pro-
jeto (BARTIÉ, 2002, p. 38).
Ou seja, todo mundo vê os tes-
Ou seja, os testes de validação são tes como uma forma de mostrar
aqueles feitos quando já existe que está tudo bem. Na verdade, é
alguma parte do software pronta. mais fácil mostrar que um software
São os testes feitos no software e está funcionando do que mostrar
não na documentação. Nos testes que ele não está funcionando.
de validação, temos as seguintes Mas, ao colocar uma pessoa que
fases: não está envolvida no desenvolvi- Porém, é preciso sempre lembrar
mento do software e que não tem que você não conseguirá mostrar
▪▪ Unidade Especificada ou nenhuma ligação com este, esta a ausência de erros. Ou seja, por
Modificada: validação da uni- pessoa criará diversas situações, melhor que seja um processo de
dade; possíveis no dia-a-dia do produto, qualidade, nunca será possível
▪▪ Integração Especificada e conseguirá demonstrar que em cobrir todas as infinitas combina-
ou Modificada: validação da determinados cenários, o com- ções existentes em um ambiente
integração; portamento deste produto pode de execução real. Pense sempre
▪▪ Sistema Especificado ou gerar um funcionamento inade- nisso!
Modificado: validação do siste- quado. Vamos em frente? Na próxima
ma; Neste ponto, é possível chegar à seção você verificar o que pode
segunda definição de teste: acontecer quando um software não
é testado.
TESTES DE SOFTWARE 15
Seção 5 Caso de teste Portal de Administração de Sites – Imóveis Carvalho
Casos de testes
CT 85 – Buscar para alteração. Botão visualizar o
Caso de teste
calendário de locação.
De acordo com Bastos et al (2007,
p. 153) um caso de teste é a espe- Ter clicado em “Buscar para alteração” na página
cificação mais detalhada do teste, Pré-condições de imóveis e estar com a opção de locação para a
apresentando os campos de telas, temporada.
formulários etc. O caso de teste
1. O ator clica em “Visualizar o calendário de
estabelece as informações empre- locação do imóvel”representado pelo terceiro
gadas nos testes dos cenários e ícone da esquerda para a direita na parte
quais são os resultados esperados. Procedimentos superior da descrição do imóvel.
Ou seja, é necessário fazer um de-
talhamento do que será testado, 2. O sistema carrega um calendário destacando
os dias de locação do imóvel.
como será feito o teste, quem é
responsável, quais são as entradas Resultado
Carregar o calendário de locação do imóvel.
necessárias e quais são as saídas esperado
esperadas.
Critérios
Um bom caso de teste deve con- Não se aplica.
especiais
ter:
Implementação Manual.
▪▪ identificação das condições de
teste; Iteração 1ª iteração.
▪▪ o que testar (identificação dos Quadro 1: Exemplo de caso de teste
casos);
▪▪ detalhamento da massa de Neste exemplo você pode ver que os casos de teste são bem detalhados
entrada e de saída (dados); e devem ser descritos de uma forma criteriosa. Todos os cenários e
▪▪ critérios especiais, quando casos de uso devem ser criados, verificando todas as funcionalidades do
necessários, para gerar os dados software. Por isso eles dão bastante trabalho para a pessoa responsável
de entrada e saída do teste; pela sua elaboração.
▪▪ especificação das configura- Preparado para seguir mais um percurso? Conheça na próxima seção os
ções de ambiente no qual o teste tipos de teste.
será executado: sistema operacio-
nal, ferramentas necessárias, ori-
gem dos dados etc (onde testar); Seção 6
▪▪ como testar: automático/ma- Tipos de testes
nual (definir o tipo de implemen-
tação do teste); No momento em que você começar a fazer os testes de validação, signi-
fica que já tem um produto computacional, ou seja, um software que pode
▪▪ quando testar (cronograma,
ser executado.
em qual fase o teste será execu-
tado); Para fazer esta validação você pode utilizar duas abordagens:
▪▪ listar as interdependências, ▪▪ a estratégia da caixa branca ou,
caso existam, entre os casos de ▪▪ a estratégia da caixa preta.
teste.
O quadro a seguir é um exemplo
de caso de teste aplicado a um sis-
tema de uma imobiliária. Veja!
TESTES DE SOFTWARE 17
O teste de caixa preta não tem o objetivo de verificar como ocorrem
internamente os processamentos, mas se o algoritmo utilizado produz
os resultados necessários. A vantagem desta estratégia é que não é ne-
cessário conhecer os conceitos de implementação aplicados no software.
Dessa forma é muito mais fácil encontrar um profissional capacitado a
modelar os testes de caixa preta da aplicação.
Veja a seguir a imagem que representa um teste de caixa preta.
TESTES DE SOFTWARE 19
Unidade de
estudo 2
Seções de estudo
TESTES DE SOFTWARE 21
“Um dos maiores desafios de um processo de garantia da qualidade é
conseguir medir o grau de qualidade alcançado nos testes de software.
Se em nosso entendimento os cenários estiverem adequadamente simu-
lados e garantidos, então devemos buscar todas as alternativas possíveis
e inseri – las em nosso processo de teste de software, de forma a refinar
e ampliar o nível de cobertura alcançado.”
De acordo com a fig. 7, você pode ver que o software em questão tem 2
caminhos possíveis para chegar ao fim do processamento: ABCDEF ou
AGHF. Seguindo o método da caixa branca, você deve criar casos de
teste que obriguem o software a percorrer os dois caminhos.
Vendo estas duas abordagens, caixa preta e caixa branca, você pode pen-
sar “Mas, qual das duas eu devo utilizar?”
Na verdade, em uma aplicação real, as duas abordagens devem ser uti-
lizadas de modo a gerar os casos de testes necessários ao processo de
teste.
DICA
Por exemplo: um software de um banco é testado de forma diferente
de um software para fazer pedido de pizza na internet, portanto
devem possuir testes específicos para cada um deles.
TESTES DE SOFTWARE 23
Bartié (2002, p. 112) recomenda que os testes de cada software sejam
organizados em categorias e que em uma reunião com a equipe, cada
categoria receba um peso relativo a sua prioridade. Normalmente, todos
querem colocar alta prioridade para a sua área. Então deve ser definido
que apenas 3 categorias poderão ter alta prioridade. Assim, todos devem
entrar em acordo para determinar quais são as categorias mais importan-
tes para testar determinado produto.
E por falar em peso, prioridade, que tal conhecer os níveis de teste? É
sobre este assunto que conversaremos a seguir, vamos lá!
Seção 4
Níveis de teste
Como você estudou no início deste livro, de forma geral existem duas
fases no processo de qualidade dos softwares. A fase de verificação (tes-
tes estáticos - documentação) e a fase de validação (testes dinâmicos
- software).
Dentro da fase de verificação, você pode encontrar algumas das ativida-
des que estão descritas no quadro a seguir, acompanhe!
Fase de
Principais Atividades
Verificação
Uma nova unidade lhe convida a explorar novos conceitos. Vamos lá?
TESTES DE SOFTWARE 25
Unidade de
estudo 3
Seções de estudo
Seção 1
Ciclo de vida de desen-
volvimento de software
(CVDS)
De forma geral, os ciclos de vida Os requisitos geralmente são Os manuais de treinamento, de
de desenvolvimento de software modificados nas fases seguintes, manutenção e do usuário também
(CVDS) são bastante diferentes, quando se adquire um melhor en- são preparados nesta fase, além
pois em todos haverá atividades tendimento do problema. do Plano de Instalação.
específicas dos testes aplicados. A Ainda nesta fase é preparado o ▪▪ Fase 5 – Implantação:
seguir você verá um ciclo de vida Plano de Projeto, que inclui cro- Agora é o momento de efetuar os
básico que demonstrará as princi- nograma, recursos, orçamento, testes de integração e de sistema.
pais atividades que acontecem du- produtos intermediários, ativida- O sistema tem de receber certi-
rante o desenvolvimento de um des de gestão, análise de riscos e ficação quanto a sua adequação
software. Acompanhe! os planos previstos no modelo do aos requisitos de segurança antes
Segundo Bastos et al (2007, p. 33) Project Management Institute (PMI). da instalação. E antes de ser cer-
as seguintes fases fazem parte de Deve-se incluir o plano de testes, tificado, todos os resultados das
um CVDS. com os recursos e prazo para rea- verificações e validações devem
lizar as atividades de teste. ser documentados e comparados
▪▪ Fase 1 – Estudo preliminar:
Essa fase começa com o reco- Este plano do projeto não é fixo com o antes e o depois. Por fim,
nhecimento de um problema ou e deve ser atualizado sempre que o sistema deve ser aceito pelo
identificação de uma necessida- certos eventos ocorram, como usuário.
de. Durante essa fase o projeto uma mudança no escopo do pro-
jeto. ▪▪ Fase 6 – Operação:
é justificado e aprovado no alto Nesta fase o Modelo de Operação
nível da organização. As alterna- ▪▪ Fase 3 – Desenho do siste- do sistema deve ser implemen-
tivas de solução são exploradas e ma: tado, incluindo a expansão para
seleciona-se a solução mais viável As atividades desta fase resultam a instalação em outros locais. O
e que atenda melhor às necessida- no detalhamento da solução para sistema deve iniciar a operação
des identificadas. Muitas vezes, os aspectos que compõem um continuada e todas as mudanças
realiza-se um estudo de custo- sistema: funcionalidade, dados e devem ser controladas de forma a
-benefício para apoiar o processo técnica. O Plano de Projeto deve manter e modificar o ciclo de vida
de decisão. ser revisto para refletir as novas durante o restante de sua vida.
▪▪ Fase 2 – Análise de requi- informações. Relatórios dos problemas e soli-
sitos: citações de mudanças são usados
▪▪ Fase 4 – Construção:
Agora, os requisitos são definidos, para facilitar a correção de forma
Nesta fase os modelos devem
coletados, validados e aprovados. sistemática e a evolução do siste-
ser transformados em realidade e
Também nesta fase são levantadas ma.
suas atividades resultam em pro-
as informações necessárias para gramas prontos e testados. Nes- Também devem ser executadas
realização dos testes. ses programas devem ser aplica- medições de desempenho e ava-
dos os testes unitários conforme liação das atividades para garantir
os planos de teste e os casos de que o sistema continuará atenden-
teste preparados. do a seus requisitos.
TESTES DE SOFTWARE 27
Você já ouviu falar sobre o conceito “V” de teste? Caso ainda não tenha
tido a oportunidade de conhecer este conceito, não se preocupe, pois na
próxima seção você verá uma figura que ilustra exatamente o que seria o
chamado conceito “V” de teste. Vamos!
Seção 2
Conceito “V” de teste
Observe na imagem a seguir que os procedimentos de fazer e conferir
convergem do início ao fim do projeto. Ou seja, os testes devem fazer
parte de todo o processo de desenvolvimento.
DICA
Lembre-se: testar o produto durante todo o desenvolvimento dimi-
nui o custo da correção dos defeitos.
Seção 3
Ciclo de vida do processo de teste
De acordo com Rios (2003, p. 29) o ciclo de vida do processo de teste
é composto por diversas etapas e é conhecido como Modelo 3Px3E.
Confira na imagem a seguir um modelo de ciclo de vida do processo de
teste.
DICA
Você estudará sobre a estratégia e o plano de teste mais para frente.
Seção 4
Ambiente de Teste
Nesta seção você estudará sobre ambiente de teste, o qual é preparado
em uma das etapas do ciclo de vida do processo de teste.
TESTES DE SOFTWARE 29
O ambiente de teste é a estrutura onde o teste será executado.
Para este ambiente é preciso considerar a criação da massa de dados de
teste, o modelo de dados e a configuração dos softwares usados.
É importante que você não confunda o ambiente com a configuração do
hardware, ok?
Veja na lista a seguir alguns itens que fazem parte de um ambiente de
teste:
TESTES DE SOFTWARE 31
Unidade de
estudo 4
Seções de estudo
Seção 1 Seção 2
Definição de risco Riscos relativos ao teste de software
Você sabe o que significa a pala- A atividade de testar o software está bastante ligada ao risco. Você já
vra risco? estudou como o custo dos testes influencia no desenvolvimento de um
Segundo o dicionário da língua software. Também já viu que os defeitos encontrados tardiamente aumen-
portuguesa Michaelis, risco é a tam bastante o custo da correção.
possibilidade de perigo, incerto, Por isso, as equipes de teste devem procurar um nível de cobertura que
mas previsível, que ameaça de minimize a possibilidade de defeitos graves, principalmente por causa da
dano a pessoa ou a coisa. existência de prazos. Ou seja, apesar de existirem riscos relativos a de-
Quando falamos de software, es- terminados defeitos, é necessário um tempo maior de teste com aqueles
tamos procurando aqueles fatos que podem gerar os maiores problemas.
cujas ocorrências poderão acarre-
tar perdas para a empresa. No
entanto, um risco presente nem DICA
sempre vai gerar uma perda. Ao fazer a análise de riscos, leve em consideração a probabilidade
Se uma empresa faz todo o seu de ocorrência do risco e o impacto e perda associados a esse risco.
negócio na internet, por exem-
plo, venda de produtos, existe um
grande risco de perda de dinheiro,
se os computadores pararem de Neste momento possivelmente você esteja se perguntando: mas, como
funcionar. Mas se você pensar no analisar e avaliar os riscos que possam surgir? É sobre isso que conver-
mercadinho da esquina, não existe samos a seguir.
nenhum problema se o computa-
dor do caixa parar.
Mas, o que isso tem haver com o
Seção 3
teste de software? Encontre a res- Determinação da magnitude dos riscos
posta para este questionamento
na próxima seção. Você precisa lembrar que, quando se trata de riscos, é necessário avaliar
o custo da ocorrência do risco e o custo dos mecanismos de controle
para evitar que o risco ocorra.
Para fazer uma análise preliminar da qualificação do risco você pode usar
a tabela a seguir. Confira!
TESTES DE SOFTWARE 33
Probabilidade de ocorrência
Impacto que o risco causa
Alta Média Baixa
Alto AA AM AB
Médio MA MM MB
Baixo BA BM BB
Quadro 4: Qualificação dos riscos (probabilidade x impacto).
Seção 4
Controle dos riscos
Considere uma loja que vende livros, CD’s e DVD’s pela internet e que
mantém uma base de dados num ambiente de grande porte (legado).
Você pode encontrar alguns riscos associados a operação dessa loja.
Imagine os seguintes riscos:
▪▪ Facilidade de uso do site, pois se a navegação não for bastante ami-
gável, pode ser que o cliente desista de comprar.
▪▪ Tempo de resposta muito longo para as páginas abrirem, também
pode fazer com que o cliente desista.
▪▪ A conectividade tem que ser confiável, para que o sistema não caia e
interrompa o processo de compra.
TESTES DE SOFTWARE 35
Unidade de
estudo 5
Seções de estudo
Seção 1
Plano de teste, o que é?
Se você trata os testes como um ▪▪ Repetibilidade: uma coisa que torna qualquer sistema confiável
processo contínuo, que faz parte é a repetibilidade, ou seja, se você executar o sistema com as mesmas
do desenvolvimento do software, entradas ele deverá apresentar as mesmas saídas. O plano de testes
torna-se necessário fazer um pla- permite a repetibilidade da aplicação dos testes.
no para estes testes, não é mesmo?
▪▪ Controle: como você saberá se os objetivos do teste foram atingi-
Da mesma forma que qualquer dos ou se todos os elementos críticos foram testados? A única forma
coisa que é executada em um am- de fazer controle sobre os testes é possuir um plano que determine
biente industrial, é extremamente quais são os passos a serem seguidos na hora de testar.
importante que haja um planeja-
▪▪ Cobertura: o plano de teste também determinará o nível de cober-
mento dos testes.
tura dos testes. Essa cobertura deve atingir os elementos mais críticos,
Imagine que você vai viajar de seja pelo risco que representa para o negócio, seja por sua importância
avião. Você sabe que o software para o projeto.
de controle do avião foi testado.
Mas e se não foi feito um plane-
jamento e alguém se esqueceu de Em resumo, o plano de testes é extremamente importante para o pro-
testar alguma coisa? cesso de teste. Ele estabelece o que vai ser testado, durante quanto
Segundo Bastos et al (2007, p. tempo e quando os testes serão interrompidos.
113) o plano de teste é uma ma-
neira de documentar o projeto de
testes e desse modo, permitir que O plano de teste descreve como o teste deverá ser executado e traça uma
os mesmos testes possam ser re- linha mestra a ser seguida.
petidos e controlados. Quando, Confira na seção seguinte como desenvolver um plano de teste. Siga
posteriormente, o software passar adiante!
por algum tipo de manutenção e
precisar voltar para ser testado,
esse documento será um ótimo Seção 2
guia para orientar a repetição ou
servir de base para executar os Desenvolvimento do plano de teste
testes de regressão.
Para que você possa desenvolver um plano de teste existe um padrão
Confira a seguir as etapas que fa-
que é mundialmente aceito. Este padrão foi definido pelo Institute of
zem parte de um plano de teste.
Electrical and Electronics Engineeres (IEEE). Nele está a lista com o conte-
údo do plano de teste.
O Quality Assurance Institute (QAI) segue basicamente este mesmo pa-
drão, apenas com algumas características próprias.
TESTES DE SOFTWARE 37
Além desses dois formatos de ▪▪ Qualidade: você sempre
Para relembrar significa: PM- plano, existe o Plano Global do deve lembrar que o produto a ser
BOK (Project Management Projeto, definido pelo PMBOK, entregue deve estar de acordo
Body of Knowledge). que foi citado na primeira unidade com as necessidades de qualidade
de estudos deste livro. estabelecidas pelo cliente. Então,
Para lembrar significa: PMI = Este último trata o teste como um a medição da qualidade tem que
Project Management Institu- projeto, por isso você irá estudálo ser acompanhada por um progra-
te, criadores do PMBOK. com mais detalhes a seguir. ma de indicadores, implementado
no decorrer do projeto.
Os itens do PMBOK são os se-
guintes: ▪▪ Integração: a principal inte-
gração do projeto de teste é com
▪▪ Escopo: o escopo define o processo de desenvolvimento.
exatamente a extensão do projeto Além disso, como normalmente
de teste, até suas interfaces com o projeto de teste é segmentado
outros softwares, componentes, em etapas, por isso é preciso
elementos de rede ou demais ele- manter a integração entre elas.
mentos. Deve definir o que será e
o que não será coberto pelo teste. ▪▪ Recursos humanos: a quanti-
dade de homens/hora imaginada
▪▪ Custo: para saber quanto para o projeto é estabelecida após
o projeto de teste vai custar é a estimativa de seu tamanho.
preciso medir o seu tamanho,ou Porém, é necessário definir os re-
seja, é preciso fazer a métrica de cursos envolvidos em cada etapa
teste. É possível adaptar algumas do projeto.
métricas existentes, como análise
de pontos de caso de teste. Mas ▪▪ Comunicação: a função dessa
normalmente isso leva tempo e a etapa é garantir a maneira como
métrica deve ser ajustada gradati- as partes envolvidas no projeto
vamente. receberão as informações de que
precisam para tomar decisões.
▪▪ Tempo: a elaboração do cro- Todo material produzido deverá
nograma está ligada ao tamanho estar disponível para consulta de
do projeto, que servirá de base maneira clara em algum ambiente
para o cálculo dos custos. Você criado pelo projeto. As regras
pode imaginar, por exemplo, um de gerenciamento de projetos
projeto com 180 pontos de teste. determinadas pelo PMI definem
Por meio de indicadores da em- a necessidade de um gerencia-
presa é possível transformar este mento de comunicação para dar
número de pontos em horas (por suporte aos projetos.
exemplo, 220 horas). Depois,
transformar horas em custo é ▪▪ Riscos: o projeto de teste
simples. Como tempo é dinheiro, implica seus riscos específicos,
você deve também estabelecer como o uso de uma nova ferra-
o momento de encerramento menta de automação para a qual
dos testes. Ficar testando uma os testadores ainda não tenham
aplicação por muito tempo pode sido treinados. Se você é o líder
aumentar demais o custo do do projeto de teste, tome cuidado
projeto. para não confundir os riscos do
projeto de teste com os riscos do
negócio.
Seção 3
Documentação do teste
Segundo Bastos et al (2007, p.
150), em torno de 50% a 60% do
tempo do analista de teste é gas- Figura 11: Documentação IEEE 829.
to na documentação do teste. A
norma IEEE 829 descreve um Na próxima unidade você verá como deve ser executado o teste de um
conjunto de documentos neces- software. Como já mencionado nas unidades anteriores todos os testes
sários às atividades de um projeto devem ser executados buscando a qualidade do software. Mas, muitas ve-
de software. Veja! zes, os requisitos dos softwares não exigem essas características. E como
teste custa dinheiro, será preciso conversar com os usuários sobre a ne-
▪▪ Plano de teste: identifica os cessidade de alguns tipos de teste.
itens e as funcionalidades a serem
testadas, os riscos associados ao
teste, as tarefas a serem realizadas Ficou curioso(a) para saber mais sobre o assunto? Vamos lá, siga em
e apresenta o planejamento para frente nos estudos!
a execução do teste.
▪▪ Especificação de projeto de
teste: trata-se de um detalhamen-
to da abordagem apresentada no
plano de teste que identifica as
funcionalidades e as característi-
cas a serem testadas pelo projeto.
Este documento também aponta
os casos e os procedimentos de
teste e apresenta os critérios de
aprovação.
TESTES DE SOFTWARE 39
Unidade de
estudo 6
Seções de estudo
Seção 1
Contexto dos testes
De acordo com Bastos (2007, p. 169 apud CEM KANER, 1999), teste
estático e teste dinâmico são definidos da seguinte forma:
▪▪ No teste estático, o código é examinado.
▪▪ No teste dinâmico, o código é testado.
Para que os testes possam ser executados é necessário que exista o Plano
de Teste.
Você deve analisar os resultados dos testes a cada etapa de teste executa-
da. Todo s os registros da execução dos testes devem ser guardados sob
ferramentas de gestão dos testes. Desse modo, o gestor de teste poderá
saber o que ainda precisa ser corrigido pela equipe desenvolvimento, o
que está em processo de teste e o que já foi dado como concluído, ou
seja, já foi testado, corrigido, retestado e aprovado.
Que tal conhecer como acontece o processo de execução dos testes?
Este é o nosso póximo assunto!
TESTES DE SOFTWARE 41
Seção 2
Processo de execução dos testes
Nesta seção, você vai ver que o processo de teste que deve ser cumprido
na fase de execução. Esse processo está apresentado na figura a seguir.
O Plano de Teste de teste é o documento mais importante deste fluxo.
DICA
Se ele não for elaborado, não é possível executar cada etapa correta-
mente, ok? Lembre-se disso!
Você vai ver agora os diversos métodos para testar uma aplicação, se-
gundo as características de qualidade dos softwares.
▪▪ Teste de autorização (funcionalidade): visa garantir que as regras
de autorização sejam cumpridas. Ninguém pode executar, por exem-
plo, uma funcionalidade para a qual não está habilitado.
▪▪ Teste de integridade dos arquivos (funcionalidade): garante que
as atualizações de arquivos foram feitas corretamente após a execução
de um módulo do software.
▪▪ Teste de recuperação (continuidade): você deve testar os
procedimentos que permitem que o sistema seja reiniciado após uma
falha. Todos os procedimentos que mostram como reiniciar o sistema
deverão passar por inspeção.
▪▪ Teste de estresse (performance): o teste deve colocar a aplicação
sobre estresse para verificar se o software consegue funcionar correta-
mente sob grande carga de processamento.
TESTES DE SOFTWARE 43
Processo: importa resultado da análise de crédito
Cenário #1
Cenário #3
TESTES DE SOFTWARE 45
▪▪ Sumário de atividades: neste sumário você deve listar as pessoas
envolvidas no projeto de teste, o número de horas consumidas no
projeto por atividade, tempo total consumido pelo projeto e outras
informações relevantes.
▪▪ Aprovações: nome das pessoas responsáveis pela aprovação do
projeto de teste.
Seção 4
Gerenciamento de comunicação do projeto de
teste
De acordo com o PMBOK, o gerenciamento de comunicação de um
projeto deve incluir os processos necessários para garantir a geração, a
coleta, a disseminação, o armazenamento e o descarte de todas as infor-
mações do projeto. Assim, o gerenciamento de comunicação se divide
nas seguintes atividades:
▪▪ planejamento das comunicações;
▪▪ distribuição das informações;
▪▪ relatório de desempenho;
▪▪ encerramento.
Com este assunto você encerra os estudos desta unidade. Porém, a busca
por novos conhecimentos não acabou. Pesquise sobre os temas, conver-
se com o professor, discuta com seus colegas, enfim, explore todas as
oportunidades de aprendizagem.
Agora prepare-se para uma nova jornada.
TESTES DE SOFTWARE 47
Unidade de
estudo 7
Seções de estudo
Seção 1
Definição dos critérios
de aceitação
O teste de aceitação é de respon- ▪▪ requisitos de funcionalida- O ideal é que o plano de aceita-
sabilidade do usuário do softwa- de: relatam as regras de negócio ção seja escrito simultaneamente
re (teste beta). Segundo Bartié a que o software deverá obedecer; ao plano geral do projeto e à ela-
(2000, p. 157) ▪▪ requisitos de performance: boração dos requisitos. O teste de
retratam requisitos operacionais, aceitação vai depender da libera-
“[...] é o último estágio do pro- como por exemplo, tempo de ção do software pelos desenvolve-
cesso de validação. Trata-se do resposta, número de transações dores e testadores.
último processo formal de de- por hora e outras restrições que O plano do projeto deverá ter um
tecção de erros no sistema, an- cronograma de desenvolvimento
deverão ser cumpridas;
tes de sua disponibilização no
▪▪ requisitos de qualidade: e teste, para indicar quando os
ambiente de produção. Nessa
etapa, o software é disponibi- definem atributos de confiança, testes de aceitação terão início.
lizado para clientes e usuários testabilidade, correção e usabili- O plano de aceitação deve conter
com o objetivo de estes valida- dade etc. as informações seguintes.
rem todas as funcionalidades
requisitadas no início do proje- ▪▪ Descrição do projeto: devem
to. Os usuários terão a oportu- ser especificados o ambiente
nidade de interagir com um sis- DICA operacional e as interligações
tema completo, exaustivamente A testabilidade indica o quão com outros software ou ambientes,
testado pela equipe de testes.” fácil é escrever os casos de além de incluir uma descrição
teste para o software. detalhada do projeto, com suas
Esta validação não precisa ser fei- fases e a metodologia utilizada no
ta apenas no final do processo. desenvolvimento.
Ela pode acompanhar todo o de- Você já ouviu falar em plano de ▪▪ Responsabilidades dos usu-
senvolvimento do projeto. aceitação? Vamos ver juntos o ários: definir as atividades que os
Dessa forma é possível que o pró- que a próxima seção reserva para usuários devem fazer durante os
prio usuário detecte problemas a contuidade dos seus estudos! testes. Deve incluir sua participa-
mais cedo, podendo negociar no- ção nas etapas do projeto.
vos prazos. ▪▪ Procedimentos administra-
Para tanto, tá no início do projeto,
Seção 2 tivos: incluir todos os relatórios
quando são elaborados os requi- Elaboração do plano de gerados durante o trabalho de
teste. Identificar as áreas envolvi-
sitos, o usuário deve definir quais aceitação das. Definir critérios de comuni-
critérios serão utilizados para a
aceitação do software. Ou seja, o cação entre as partes envolvidas.
O plano de aceitação é um do-
que ele irá avaliar no momento do cumento que define os passos ▪▪ Requisitos cobertos: iden-
aceite. necessários ao teste de aceitação, tificar a lista dos requisitos que
Normalmente, os requisitos a que como estes testes devem ser feitos serão cobertos pelos testes de
o software deve atender podem ser e diversos requisitos e responsabi- aceitação.
divididos em três categorias: lidades. ▪▪ Responsável pela elabora-
ção: nomear o responsável pela
elaboração do plano.
TESTES DE SOFTWARE 49
Agora que você já sabe o que é um plano de aceitaçao, assim como as
informações que ele deve conter, que tal aprender a executá-lo? Siga em
frente!
Seção 3
Execução do teste de aceitação
Os testes de aceitação são executados sobre os produtos entregues du-
rante o ciclo de vida do processo de desenvolvimento. Esses testes se-
rão as últimas oportunidades do usuário para verificar se o produto que
encomendou à equipe de desenvolvimento é de fato o produto que lhe
está sendo entregue. Assim, você pode empregar o aceite como uma
estratégia para reduzir riscos de uma implantação maciça, na qual um
erro vital não detectado pode comprometer a imagem da solução como
um todo.
Os testes de aceitação podem ser divididos em três partes: aceite formal,
alpha – teste e o beta – teste. Confira!
TESTES DE SOFTWARE 51
Unidade de
estudo 8
Seções de estudo
TESTES DE SOFTWARE 53
Seção 2
Estimativa baseada no tamanho e complexidade
do caso de uso
De acordo com Bastos et al (2007, p. 246) este tipo de estimativa é
simples e necessita de pouco conhecimento em cálculos. Ela utiliza as
seguintes entradas:
▪▪ contagem do número de fluxos de um determinado caso de uso;
▪▪ média de passos de cada fluxo (passo do ator e reação do sistema);
▪▪ contagem do número de exceções;
▪▪ contagem das regras de negócios, classificadas como simples, médias
e complexas.
É importante que você saiba que estes valores podem variar muito de
um caso para outro. Eles não são valores fixos, precisam de um ajuste
gradativo. E as técnicas, apesar de sólidas, devem ser aplicadas com
cuidado, principalmente na hora de transformar tamanho em esforço.
TESTES DE SOFTWARE 55
Finalizando
Parabéns, você chegou ao final de mais uma etapa!
Agora você já sabe da importância da busca pela qualidade de software. Também sabe que para
atingir a qualidade, é necessário utilizar uma metodologia adequada e principalmente, dentro dessa
metodologia, como um processo. Ou seja, deve acompanhar o desenvolvimento desde o início até
quando o sistema está rodando na versão beta.
Tipos e técnicas existem aos montes para você escolher. É importante que você saiba distinguir o
que é melhor para o sistema que está sendo desenvolvido. Lembre-se que testar custa dinheiro e
corrigir problemas também. Principalmente se estes problemas são encontrados lá no final do ciclo
de vida do desenvolvimento.
Então você precisa equilibrar a quantidade de testes com os riscos existentes. Testar o programa do
mercado do Seu Zé é diferente de testar o programa de gerenciamento de recursos de um hospital.
Lembre- se: você está destinado a ser um ótimo profissional, mas para isso precisa estar preparado
em todos os campos. Ser um bom desenvolvedor de software não é apenas fazer um software que
funcione. E sim é fazer um software que seja fácil de testar, fácil de se fazer manutenção e que possa
ser adaptado à várias condições de uso.
TESTES DE SOFTWARE 57
Referências
▪▪ AGAPITO, Robson. Estimativas de teste. 01 mar. 2010. Disponível em: <http://www.tes-
texpert.com.br/?q=taxonomy/term/8>. Acesso em: 31 out. 2010.
▪▪ BARTIÉ, Alexandre. Garantia da qualidade de software. Rio de Janeiro, RJ: Campus, 2002.
ISBN 8535211241.
▪▪ BASTOS, Aderson et al. Base de conhecimento em teste de software. 2. ed. rev. São Paulo,
SP: Martins, 2007. 263 p. ISBN 9788599102893.
▪▪ CAMPOS, Fabricio F. de. Estimativa de teste (APT). 22 nov. 2009. Disponível em: <http://
qualidadebr.wordpress.com/2009/11/22/estimativa-de-testes-apt/>. Acesso em: 31 out.
2010.
▪▪ RIOS, Emerson. Gerência do projeto de testes segundo o modelo PMI. 01 out. 2007.
Disponível em: <http://www.testexpert.com.br/?q=node/224>. Acesso em: 31 out. 2010.
▪▪ RIOS, Emerson; MOREIRA FILHO, Trayahú R. Teste de software. 2. ed. rev. e ampl. Rio de
Janeiro, RJ: Alta Books, c2006. 222 p. ISBN 8576081288.
▪▪ SOMMERVILLE, Ian. Engenharia de software. 8. ed. São Paulo, SP: Addison-Wesley, 2007.
xiv, 552 p. ISBN 9788588639287.
TESTES DE SOFTWARE 59
Equipe de Desenvolvimento de Recursos Didáticos
Projeto Educacional
Angela Maria Mendes
Israel Braglia
Projeto Gráfico
Daniela de Oliveira Costa
Jordana Paula Schulka
Juliana Vieira de Lima
Design Educacional
Gisele Umbelino
Diagramação
Daniela de Oliveira Costa