Buscar

2730397b-c2f3-4516-aec0-3326de6535bb

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

WBA0881_v4.0
APRENDIZAGEM EM FOCO
TESTE E INSPEÇÃO DE SOFTWARE: 
TÉCNICAS E AUTOMATIZAÇÃO
2
APRESENTAÇÃO DA DISCIPLINA
Autoria: Stella Marys Dornelas Lamounier
Leitura crítica: Marcilyanne Moreira Gois
A disciplina tem como objetivo apresentar os principais conceitos 
na teoria e prática para a execução de testes de software, tanto 
de forma manual quanto automatizados. Além disso, serão 
apresentadas as principais técnicas, métodos e ferramentas 
existentes no mercado, que visam auxiliar futuros testadores nas 
práticas de validação e verificação de software.
Além disso, destaca a importância de se realizar testes, desde 
o início, na concepção do sistema, mostrando que essa prática 
possibilita a redução de custos e retrabalhos.
Outra abordagem apresentada são as técnicas de Inspeções, 
mostradas na teoria e prática. São abordadas as etapas de inspeção 
de software, o papel e responsabilidade de cada envolvido em 
cada uma destas etapas e, posteriormente, a aplicação na prática 
de técnicas como: AD-HOC, perspectiva baseada em leitura. Além 
disso, é apresentada a importância do controle de versões e uma 
das ferramentas muito utilizadas, o GIT.
Por fim, serão apresentadas ferramentas para a automação de 
testes de forma prática e intuitiva, utilizando o framework Junit para 
testes automatizados de Unidade; a Selenium, para usabilidade, 
compreenderá a utilização da ferramenta Postman para testes de 
Interface (GUI)
Testes de software têm sido utilizados, frequentemente, nas 
empresas. Hoje, os gestores já têm consciência da sua importância 
na criação de sistemas com qualidade, portanto, compreender o uso 
destas técnicas, bem como as principais ferramentas utilizadas hoje, 
3
dará a você um maior conhecimento que poderá ser aplicado ao 
longo de sua carreira profissional.
INTRODUÇÃO
Olá, aluno (a)! A Aprendizagem em Foco visa destacar, de maneira 
direta e assertiva, os principais conceitos inerentes à temática 
abordada na disciplina. Além disso, também pretende provocar 
reflexões que estimulem a aplicação da teoria na prática 
profissional. Vem conosco!
Introdução a Testes de Software 
______________________________________________________________
Autoria: Stella Marys Dornelas Lamounier
Leitura crítica: Marcilyanne Moreira Gois
TEMA 1
5
DIRETO AO PONTO
Sabemos que o software está presente em praticamente todas 
as atividades da sociedade, auxiliando profissionais/ usuários 
de diferentes áreas. Isso desde a Medicina, com a utilização 
de algoritmos de Inteligência Artificial, que auxilia médicos em 
complexos procedimentos cirúrgicos, podendo salvar vidas, e 
também em transações financeiras, que, se houver presença de um 
erro mínimo pode levar o gestor a prejuízos milionários, acarretando 
sua falência no mercado financeiro. Com o passar dos anos, por 
meio da melhoria contínua das tecnologias, profissionais da área 
têm buscado cada vez mais sistemas seguros, corretos ou com o 
mínimo de erros possíveis.
Esse modelo de software confiável só teve ênfase por volta da 
década de 1970, onde foi criada a famosa Crise do Software. Nessa 
época, houve uma enorme demanda por softwares, mas realizar 
a manutenção nesses sistemas era quase impossível, o que 
ocasionou sistemas obsoletos, entregues fora do tempo estipulado, 
orçamentos estourados e cheios de erros graves que não estavam 
de acordo com os requisitos levantados, gerando uma enorme 
insatisfação dos clientes.
Portanto, foi nesta década que se começou a falar em testar 
software como mecanismo de encontrar possíveis erros em 
qualquer tipo de sistemas.
De acordo com Tonini (2012), autores como Dijkstra (1975) e Glen 
Myers (1979) relataram que a principal funcionalidade dos testes 
de software é processar um sistema, de modo que seja possível 
encontrar erros ou defeitos e não a ausência desses erros, como 
muitos outros profissionais das áreas pensavam. 
6
Um aspecto fundamental e importante, nos testes de software, 
é que quanto mais cedo começar as atividades de testes, menos 
retrabalho e menos dispendiosos os sistemas ficam. Descobrir 
falhas em um software, no início da concepção do sistema, pode 
evitar erros que são capazes de impactar até a vida das pessoas. 
Podemos observar na Figura 1, ao se realizar testes nos requisitos, 
ou seja, identificar se os requisitos levantados estão de acordo com 
o que o cliente deseja, torna seu custo muito menor, ao contrário 
do que acontece na fase de manutenção, que pode chegar a ser no 
mínimo 40 vezes maior.
Figura 1 - Custo relativo para corrigir um defeito
Fonte: adaptado de Pressman (2011, p. 367).
A Figura 1 relata, em forma de gráfico de barras, que quanto 
mais o software se desenvolve, mais seu custo, com a correção 
de erros, aumenta. Além disso, que no início do levantamento 
de requisitos, sua correção de erros é bem pequena e tende a 
aumentar nas seguintes fases: projeto, aumento entre três a seis 
vezes; codificação, mais de dez vezes; na fase de testes, entre dez 
a quarenta vezes; e, na última etapa de manutenção, a taxa de 
aumento pode chegar de quarenta a mil vezes.
7
Como é feita essa descoberta de erros, seja nas fases iniciais 
ou no decorrer da criação do sistema? Isso é possível utilizando 
ferramentas e técnicas de testes de software.
Técnicas, como de validação e verificação, são comumente utilizadas 
durante todo o processo de ciclo de vida do software, são capazes 
de avaliar códigos, documentos, manuais, artefatos, entre outros, a 
fim de detectar possíveis erros e controlar a qualidade do sistema.
A verificação tem como funcionalidade realizar testes para encontrar 
erros, verificando se o software, que está sendo desenvolvido, 
está de acordo com os requisitos funcionais ou não funcionais 
levantados, a fim de sanar a pergunta: estamos construindo o 
produto da maneira correta?
A validação se preocupa em assegurar se o sistema atende 
expectativas do cliente, ou seja, se o software está de acordo com 
o que o cliente deseja, e obter a resposta para a pergunta: estamos 
construindo o produto certo?
O processo de Verificação e Validação, também conhecido como V & 
V pode ainda ser dividido em análise estática e dinâmica: a primeira 
é responsável pela garantia do software e não se preocupa com o 
sistema executável; e a segunda já trabalha com a fase de execução 
do sistema, verificando se as entradas estão de acordo com a saída 
desejada.
Em teste de software é preciso lembrar que o profissional da área 
deverá saber diferenciar defeito, erro e falha. O defeito reflete 
a imperfeição ou inconsistência do sistema e, nesse contexto, 
pode-se dizer que é algo que foi implementado no software de 
maneira incorreta, como, por exemplo: dados que são tratados de 
forma errônea ou não tratados. O erro é fruto da ação humana, 
produzindo um resultado incorreto ou uma falha na escrita do 
8
código e, por fim, a falha é caracterizada como um comportamento 
inesperado do sistema, sendo um comportamento inconsistente, 
como, por exemplo, uma tela de aviso ao usuário.
Por fim, a inspeção de software é utilizada para testar diversos tipos 
de artefatos de um software e não apenas seu código fonte. Esses 
artefatos podem ser: atas de reuniões, diagramas da UML, modelos 
de dados, documentação do próprio software. Essa técnica é 
amplamente utilizada para detector de erros por meio de processos 
bem definidos pela equipe de testes, e é caracterizado como uma 
técnica de análise estática, que tem como propriedade verificar 
a qualidade do sistema de forma rigorosa e bem definida para 
sanar problemas que podem vir a atingir novos produtos, auxiliar 
conjuntamente na comunicação entre a equipe, diminuindo o custo 
econômico do sistema.
Referências bibliográficas
NETO, A.; DIAS, C. Introdução a teste de software. Engenharia de Software 
Magazine, v. 1, p. 22, 2007.
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7. ed. 
Porto Alegre: McGraw-Hill; BookMan, 2011.
TONINI, A. C. Organização das operaçõesde testes independentes de 
software: proposta de um modelo conceitual. Tese de Doutorado. São 
Paulo: Universidade de São Paulo, 2012. Disponível em: https://www.teses.
usp.br/teses/disponiveis/3/3136/tde-24122013-112156/publico/Tese_
ANTONIOCARLOSTONINI_unprotected.pdf. Acesso: 27 jun. 2021. 
PARA SABER MAIS
Não se pode falar em testes de software sem mencionar o conceito 
de qualidade, desse modo, podemos dizer que a qualidade é algo 
extremamente relativo e subjetivo. Um exemplo disso seria um 
automóvel que, para certo usuário, uma pessoa da cidade, um 
9
modelo do tipo utilitário pode servir muito bem, mas para um 
homem do campo, não, ou seja, dependerá de como o usuário 
deseja utilizar e qual sua serventia. 
Nesse mesmo contexto, segue o software. Talvez um sistema 
robusto, cheio de funcionalidade e telas pode não ser tão útil, 
uma vez que o cliente pode precisar de um sistema que possa 
apenas facilitar seu controle de mercadoria. Como medir este 
conceito de qualidade? Como um software deve ser dotado de 
qualidade? A resposta é simples, primeiramente, deve estar de 
acordo com as necessidades do cliente, pois de nada adianta criar 
um sistema grande, complexo, se, ao final, nem a própria equipe 
que o desenvolveu é capaz de utilizá-lo ou mesmo realizar a entrega 
no tempo e custo esperado. Além disso, o usuário não consegue 
arcar com seu valor, mas o mais importante para se ter um sistema 
com qualidade é que independente da sua complexidade, deverá, 
obrigatoriamente, apresentar o mínimo de erros possíveis. 
A qualidade já é empregada há séculos, desde a época das 
pirâmides do Egito, onde foram construídas com alto rigor de 
planejamento, execução e controle, e pode-se, então, concluir a obra 
com eficácia. Outro exemplo é a muralha da China, que, por meio de 
sua força de trabalho, pode finalizar sua construção mesmo depois 
de muitos anos.
Entretanto, tudo isso só teve repercussão na década de 1970, que 
culminou na famosa Crise do Software. Nessa época, os softwares 
evoluíam rapidamente, junto com a complexidade dos problemas 
gerados, pois não havia técnicas específicas para identificar os 
erros ocasionados por sistemas desenvolvidos sem nenhum tipo 
de padronização, os softwares eram criados de forma informal, 
sistemas importantes eram entregues com muitos atrasos, que 
chegavam, por muitas vezes, a anos, com custo elevado, sem 
confiabilidade. Não havia se quer atendimento aos requisitos 
10
levantados. A partir desse marco, foram criadas novas formas de 
métodos de desenvolvimento e padronização, isto é, a Engenharia 
de Software passa a fazer parte na criação e padronização 
de sistemas e começam a surgir os testes de software e suas 
técnicas, a fim de sanar esses problemas, como também a figura 
do profissional de teste que detém competências técnicas para 
descobrir a presença de erros, caracterizando o sistema com mais 
qualidade. 
Portanto, sanar erros é primordial para manter a qualidade dos 
sistemas. Isso só é possível, utilizando técnica apropriadas e 
atentar que estes testes vieram para mostrar os erros no sistema 
e quanto mais cedo os erros forem identificados, menos tempo de 
desenvolvimento é gasto, originando um sistema de qualidade e de 
acordo com o planejado.
Referências bibliográficas
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7. ed. 
Porto Alegre: McGraw-Hill; BookMan, 2011.
TEORIA EM PRÁTICA
O profissional de testes de software só ganhou notoriedade a 
partir da década de 1970, antes disso mal se falava em Engenharia 
de Software. Imagine, então, teste de software ou profissionais 
responsáveis por testes. 
Por esta razão, muitos projetos se tornavam dispendiosos, com 
tempo de entrega muito maior que o planejado, resultando, por sua 
vez, em sistemas que continham uma série de erros, frustrando o 
usuário final. 
11
Com o passar dos tempos e com advento de novas tecnologias, 
esse profissional se tornou peça muito importante para a criação 
de sistemas com o mínimo de erros possíveis, porém, ainda hoje, 
sistema são passíveis de erros.
Reflita sobre a importância de se ter um profissional responsável 
apenas para testes de software em uma empresa e se precisaria 
ser um profissional que entendesse de testes e, ao mesmo tempo, 
de codificação, designer, banco de dados etc. Seria benéfico para a 
empresa um profissional multitarefas ou um que seja responsável 
apenas por testar, aquele que saiba fielmente utilizar de forma 
correta ferramentas e técnicas que reduzem os erros de um 
software? Qual profissional você contrataria para sua empresa?
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
Indicações de leitura
12
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicação 1
O capítulo 4 tem como objetivo relatar conceitos importantes 
sobre testes de software, aborda temas, como: fundamentos, casos 
de teste, depuração, teste estrutural, teste funcional. Também é 
demonstrado, na prática, como se realiza os principais testes de 
software.
Para realizar a leitura, acesse nossa plataforma Biblioteca Virtual e 
busque pelo título da obra.
MAITINO NETO, R. Engenharia de software. Londrina: Editora e 
Distribuidora Educacional S.A., 2016.
Indicação 2
O capítulo 5 tem como objetivo relatar os princípios gerais de testes, 
abordando conceitos de validação e verificação, como são realizadas 
as atividades de testes e, por fim, a aplicação das principais técnicas. 
Para realizar a leitura, acesse a nossa plataforma Biblioteca Virtual e 
busque pelo título da obra. 
FALBO, de A..; R. Engenharia de software: notas de aulas 
problemas e soluções. Espírito Santo: Universidade Federal do 
Espírito Santo (UFES), Intersaberes, 2014. 
13
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. Existe uma técnica muito importante para detecção de erros, de 
forma rigorosa e precisa, verificando e revisando os artefatos 
de softwares, de modo que seja melhorada a produtividade do 
sistema, pois estes erros são encontrados nestes artefatos que 
muitas vezes estão isolados. Essa técnica é conhecida como: 
a. Qualificação de software
b. Testes de software.
c. Validação de software.
d. Verificação de software.
e. Inspeção de software. 
2. Inúmeras são as técnicas de testes de softwares, que têm 
como finalidade diminuir ao máximo possível a quantidade 
de erros em um software. Entre elas, pode-se citar a 
responsável por analisar o código fonte de um software, 
mas sem a necessidade da execução do software. Essa 
técnica é conhecida como: 
14
a. Técnica de leitura baseada em perspectivas.
b. Técnica de leitura baseada em cenários.
c. Análise estática.
d. Análise dinâmica.
e. Inspeção de software. 
GABARITO
Questão 1 - Resposta E
Resolução: A técnica de Inspeção de software é utilizada 
para verificaros artefatos de software, seja em um código 
fonte ou até mesmo em sua própria documentação. Sua 
responsabilidade é manter a qualidade do sistema, a fim de 
estar de acordo com que o cliente realmente necessita. 
Questão 2 - Resposta C
Resolução: A análise estática está relacionada com a verificação 
do software, sem que seja executado, utilizando ferramentas 
automatizadas ou até mesmos manuais, que verifiquem, por 
exemplo: erros de sintaxe, falhas de segurança, práticas ruins 
entre outros, auxiliando na busca de erros nos caminhos 
de execução para que seja descoberto o mais rapidamente 
possível. 
Técnicas de Teste de Software 
______________________________________________________________
Autoria: Stella Marys Dornelas Lamounier
Leitura crítica: Marcilyanne Moreira Gois
TEMA 2
16
DIRETO AO PONTO
Utilizar técnicas para testar software virou atividade obrigatória nas 
empresas de desenvolvimento. Essas técnicas vieram para mostrar 
o quão importante é, para o profissional de testes, sua aplicação 
durante todos o processo de desenvolvimento de sistemas. 
Sabemos que só há pouco tempo essas atividades foram 
incorporadas seriamente nas empresas, pois, muitas vezes, 
eram tachadas como caras e lentas. Entretanto, com a evolução 
computacional, principalmente com o advento da Internet, foi 
reconhecida a importância de aplicar técnicas aprimoradas para 
detecção de erros, seja manual ou automatizada, desde que respeite 
sua funcionalidade, que é a resolução de problemas ocasionados 
pela presença de erros, atrapalhando, assim, a execução das regras 
de negócios.
Técnicas manuais podem ser descritas como as mais primitivas 
no mercado, mas isso não quer dizer que não são eficientes para 
a detecção de erros, são caracterizadas como aquelas em que os 
testadores realizam os testes de forma manual, com intervenção 
humana, o que requer mais esforço e com mais tempo de execução, 
elevando um gasto com profissionais. Seu objetivo é tentar cobrir 
ao máximo o sistema, a fim de corrigir os erros que podem ser 
apresentados, amplamente empregados, com testes funcionais e 
não funcionais: primeiro, validando as funcionalidades do sistema 
ou de um aplicativo; o segundo diz respeito a sua facilidade de uso, 
aparência do sistema, velocidade, segurança etc.
Uma grande vantagem dessa técnica é o não conhecimento técnico 
de outro tipo de software para realizar as atividades, mas, mesmo 
assim, o testador deverá possuir habilidades necessárias para 
conduzir os testes.
17
A técnica de teste ad hoc é mais adequada para a execução manual, 
pois é utilizado quando não se tem um planejamento de testes, ou 
seja, realizado informalmente, aleatório e desorganizado, sem a 
preparação ou utilização de técnicas adequadas para conduzir todo 
o processo de testes. Os erros são encontrados de forma inesperada 
pelo testador, que deve ter conhecimento técnico um mínimo 
curioso.
Os testes automatizados utilizam diferentes tipos ferramentas para 
a condução das atividades, cada uma deve estar atrelada a tipos de 
testes específicos. Com essas novas técnicas, pode-se economizar 
tempo, custo e número de profissionais contratados, sem a 
interferência dos desenvolvedores, pois uma vez que a ferramenta é 
implementada, é muito mais fácil repetir sua execução.
Esses modelos são extremamente precisos, mas são aplicados, na 
maioria das vezes, em sistemas grandes e complexos, e, mesmo 
assim, com a utilização destas ferramentas é impossível cobrir todos 
os softwares.
Os testes automatizados seguem os mesmos passos da Pirâmide de 
Testes (Testes Unitários, Testes de Integração e Testes de Sistemas/ 
Testes de GUI), conforme demonstrado na Figura 1, garantindo 
menos esforço para encontrar erros ou defeitos que comprometam 
a qualidade dos sistemas.
18
Figura 1 - Pirâmides de Testes de Software
Fonte: Bortoluci; Duduchi (p. 3, 2015 apud Cohn, 2013, [n. p.]).
Ferramentas que realizam os testes de automação são utilizadas 
para detectar em classes, códigos e rotinas, problemas de sintaxe, 
estruturas malfeitas, que podem comprometer o resultado 
esperado.
Nos testes de integração que utilizam ferramentas automatizadas, é 
possível, em se tratando de aplicação web, avaliar se as API’s estão 
em funcionamento conforme pretendido. Uma boa característica a 
respeito dessa automação é que pode ser aplicada sem que haja o 
apoio da interface gráfica.
Por último, as ferramentas que cobrem os Testes de Sistemas são 
capazes de responder questões de interface gráfica do sistema, ou 
seja, se as interações do usuário com o software estão sendo feitas 
de forma clara e amigável, atingindo o resultado esperado, também 
podem testar simulações que acontecem de forma não muito 
frequentes, como, por exemplo, toques ou cancelamentos.
19
Quando se fala em testes automatizado, a equipe deverá ter 
capacidade de avaliar qual a melhor ferramenta a ser utilizada 
naquele tipo de teste. No mercado, são inúmeras ferramentas 
voltadas para essa resolução, algumas de código aberto e outras 
pagas, mas com o mesmo fim, que é auxiliar os profissionais nos 
mais diversos tipos de desenvolvimentos.
Em testes de regressão, é comum a utilização de ferramentas 
automatizadas, pois são responsáveis por reduzir o esforço 
da equipe e encontrar erros que, por muitas vezes, passam 
desapercebidos pelas técnicas manuais.
Independente do modelo adotado, é imprescindível a utilização 
de um Plano de Testes, documento que guiará os profissionais da 
área de testes de maneira organizada e colaborativa. O que se deve 
buscar é a que atenda as demandas enfrentadas.
Referências bibliográficas
BORTOLUCI, R.; DUDUCHI, M. Um estudo de caso do processo de testes 
automáticos e manuais de software no desenvolvimento ágil. X Workshop 
de Pós-Graduaçao e Pesquisa do Centro Paula Souza. São Paulo, 2015. 
PARA SABER MAIS
Técnicas de testes de software ajudam, muitas vezes, a sanar 
dúvidas dos clientes, mas para que sejam obtidas as respostas 
certas, o testador deve possuir conhecimento das técnicas a serem 
utilizadas, suas premissas e seus processos. Além disso, também é 
de fundamental importância colocar em prática a execução destas 
técnicas, levando, assim, um conhecimento quase natural de todo o 
sistema a ser entregue ao usuário, demonstrando que o sistema foi 
bem feito e bem executado.
20
Muitas vezes, testar software não é sinônimo de qualidade, 
simplesmente ser conhecedor destas técnicas e utilizá-las de forma 
eficiente não significa que todos os critérios forem atendidos. É 
preciso explorar e estudar os testes, de modo que, seja executada 
todo o ciclo de planejamento, desenvolvimento, execução e 
manutenção dos sistemas, por meio de técnicas que correspondem 
particularmente a cada uma destas fases.
Todas as fases passam por um rigoroso planejamento, é impossível 
testar qualquer sistema sem que os analistas de testes ou até 
mesmo os testadores de softwares tenham em mãos documentos 
que possam auxiliá-los na melhor tomada de decisão. São vários 
documentos que norteiam estes profissionais e, entre eles, pode-se 
destacar como os mais utilizados os Plano de testes, suíte de testes 
e casos de testes.
O Plano de Teste tem como finalidade compor o escopo de testes, 
nele é possível encontrar informações a respeito das estratégias 
a serem utilizadas no processo, informações uteis, cronograma, 
configurações do ambiente a ser trabalhado, guia de comunicação 
entre os stakeholders e pode ser empregado, tanto em metodologias 
tradicionais quanto na metodologia Ágil, que, por sinal, é mais 
utilizada em empresas que se destacam no mercado de tecnologia.
Esse plano deverá ser desenvolvido e pelo gerente de testes, que 
é quem tem a responsabilidade de planejar as atividades a serem 
executadas, estabelecer métricas, planejar e acompanhar o processo 
de teste. Em geral, esse modelo deve conter: uma introdução com 
a identificação clara do projeto, escopo, objetivos principais, os 
requisitos e itens a serem testados, quaisos testes deverão ser 
realizados, critérios de avaliação e cronograma de atividades.
No mesmo sentido, temos a suíte de testes, que trata de uma 
coleção de casos de testes e é dividida de acordo com as 
21
funcionalidades do sistema ou o tipo de teste a ser realizado, 
facilitando a organização e o gerenciamento dos testes, isto é, 
devido à grande quantidade de testes realizados, muitas vezes, 
o testador se sente perdido com a quantidade de detalhes 
apresentados. 
Um exemplo típico da utilização de uma suíte de testes é a 
representação de uma transação com quatro casos de testes, como 
mostrado abaixo:
• Casos de Teste 1: Efetuar Login.
• Casos de Teste 2: Incluir cadastramento de aluno.
• Casos de Teste 3: Finalizar cadastramento.
• Casos de Teste 4: Efetuar Logout.
Como é demonstrado, nota-se a presença de quatro casos que 
testes, que representam um fluxo para verificar o comportamento 
do sistema. 
Portanto, além da realização de técnicas de testes, é imprescindível 
a criação de um Plano de Testes claro, objetivo, que demonstre os 
passos a serem seguidos pelos profissionais da área.
TEORIA EM PRÁTICA
A criação de um Plano de Teste é de extrema importância para 
a execução dos testes a serem realizados ao longo de todas 
as fases de desenvolvimento de um software. Este documento 
deve ser escrito de forma clara, que apresente informações que 
direcionarão a equipe para a execução correta de testes, bem como 
quais ferramentas deverão ser utilizadas e seu cronograma de 
22
execução. Geralmente, quem cria e conduz é o gerente de testes. 
De acordo com a explicação mencionada acima, imagine que você 
é o (a) gerente de testes e tem como responsabilidade a criação de 
plano de testes para um software de cadastro de alunos de uma 
universidade. Elabore este documento, de forma sucinta, com as 
principais informações que auxiliarão a equipe na realização de 
testes.
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicações de leitura
23
Indicação 1
A revista Engenharia de Software traz várias abordagens em sua 
área de concentração, em especial uma edição que aborda as 
principais características e funcionalidades de testes de software, 
como também as técnicas mais usadas.
Para realizar a leitura, acesse a Internet e procure por revista 
Engenharia de Software - Qualidade de software - Edição especial.
ENGENHARIA DE SOFTWARE MAGAZINE. Qualidade de Software – 
Entenda os principais conceitos sobre teste e inspeção de software. 
Revista Engenharia de Sotware, edição especial, v. 1. Rio de 
Janeiro, 2007.
Indicação 2
O capítulo 4, da obra indicada, traz conceitos práticos e 
teóricos sobre as principais técnicas de testes de software. 
Também é possível conhecer o Test-Driven Development (TDD) e a 
implementação de alguns testes.
Para realizar a leitura, acesse a nossa plataforma Biblioteca Virtual e 
busque pelo título da obra.
MAITINO NETO, R. Engenharia de software. Londrina: Editora e 
Distribuidora Educacional S.A., 2016. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
24
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. Teste Funcional ou de Caixa Preta é uma técnica muito comum 
aplicada em testes de software, sua funcionalidade é testar se os 
requisitos dos sistemas foram atingidos, neste modelo podemos 
destacar a técnica de Valor Limite. 
Analise o problema abaixo e demonstre, por meio da Técnica de 
Valor Limite, sobre quais os valores que o testador usaria. 
Um campo de entrada de dados que aceita valores de 1990 a 
2021. 
a. 0, 1998, 1999, 2021
b. 1989, 0 2020,2021.
c. 1989, 1991, 2021, 0. 
d. 1989, 1990, 2020, 0.
e. 1979, 1990, 2020, 2021. 
2. Testes Estruturais ou de Caixa Branca são utilizados 
para testar a parte interna do sistema, isto é, o código 
fonte do software. Este modelo aborda a Complexidade 
Ciclomática, que tem como funcionalidade garantir que 
todos os caminhos foram testados. Analise o gráfico abaixo, 
aplique a técnica da complexidade Ciclomática e assinale a 
alternativa que demonstra corretamente a quantidade de 
caminhos a serem percorridos pelo testado. 
 
25
Figura 1 - Testes do Caminho Básica – Complexidade Ciclomática.
 
 
Fonte: elaborada pela autora.
a. 4.
b. 3.
c. 6.
d. 2.
e. 7. 
26
GABARITO
Questão 1 - Resposta E
Resolução: A técnica de análise de valor limite faz uso dos 
valores: mínimo inválido, mínimo válido, máximo válido e 
máximo inválido, onde 1989 é o valor mínimo inválido, 1990 
valor mínimo válido, 2020 valor máximo válido e 2021 valor 
máximo inválido. 
Questão 2 - Resposta B
Resolução: O cálculo da Complexidade Ciclomática é feito a 
partir da equação matemática: V(G) = arestas – nós + 2. Na 
figura, temos oito arestas representadas pelas setas e sete nós 
representados pelo círculo. Aplicando a fórmula, temos: 8 – 7 + 
2 = 3. 
Técnicas de Inspeção de Software 
______________________________________________________________
Autoria: Stella Marys Dornelas Lamounier
Leitura crítica: Marcilyanne Moreira Gois
TEMA 3
28
DIRETO AO PONTO
Vimos sobre a importância de executar a inspeção de software 
durante o processo de desenvolvimento de sistemas, tendo como 
principal objetivo testar defeitos de maneira antecipada.
A inspeção não se limita apenas a métodos tradicionais de 
desenvolvimento, como os modelos Cascatas, Espiral, Prototipação, 
entre outros, que trazem uma abordagem mais engessada de como 
é conduzida a criação de sistemas.
Com o passar dos tempos e a evolução computacional, as empresas 
de desenvolvimento tiveram que se adaptar, sair destes modelos 
complexos, criados por volta da década de 1970, para modelos mais 
rápidos, que atendessem os clientes de forma ágil e segura, mas 
sem perder a qualidade desejada.
Segundo Prikladnicki et al. (2014, p. 5), foi por volta de 2001 que 
surgiram os primeiros passos para a criação da Metodologia Ágil, 
que, em seu contexto teórico, torna possível realizar todas as 
mudanças em requisitos, mesmo que tardiamente. Trata-se de 
métodos flexíveis, onde os requisitos podem sofrer alterações 
durante o desenvolvimento, sem estar amarrado a contratos que 
não podem ser alterados.
Seu surgimento trouxe outra perspectiva na criação do software, 
um novo paradigma. Seus criadores concordaram que os métodos 
tradicionais de desenvolvimento já não conseguiam atender 
as regras de negócios que se tornavam cada dia mais flexíveis, 
passíveis de mudanças. Desse modo, foi criado o Manifesto Ágil 
(2000), seguindo cindo princípios básicos: coragem, comunicação, 
simplicidade, feedback, respeito.
29
Muitos frameworks podem aplicar a Metodologia Ágil. Detacaremos 
o Scrum, que tem como característica auxiliar no desenvolvimento 
de projeto mais complexo, sendo um dos modelos de Metodologia 
Ágil mais empregado em empresas. Seupilar é composto 
(transparência, inspeção e adaptação) conforme ilustrado na Figura 
1.
Figura 1 - Pilares do Scrum
Fonte: adaptado de Botelho Junior (2021).
O primeiro Pilar do Scrum é a transparência, onde todo o trabalho 
da equipe envolvida deve ser visível, a fim de proporcionar 
melhores resultados a quem gerencia seus processos. O segundo 
pilar é a inspeção, que significa que todo trabalho deve ser 
inspecionado com a frequência necessária para garantir a qualidade 
na primeira tentativa, isto é, os artefatos contidos no Scrum devem 
ser revisados quantas vezes forem necessárias, para a detecção de 
defeitos, mas o inspetor responsável por realizar a inspeção deve 
tomar o cuidado necessário para que não atrapalhe a execução das 
tarefas e, desse modo, o profissional deve ser dotado de experiência 
em técnicas de verificar artefatos.
30
Os testes são incorporados na Metodologia Ágil, seguindo as 
diretrizes de seu Manifesto, envolvendo a perspectiva do cliente o 
mais cedo possível, sempre responder as mudanças o mais rápido 
possível, tendo em vista que a equipe, denominada como time, seja 
capaz de lidar com situações novas que ocorrem a todo momento, 
identificar incertezas se adaptar a essas mudanças ocorridas.
Dentro do Scrum, a inspeção é tão importante para o sucesso do 
projeto que se pode adotar diferentes técnicas para sua execução. 
Seu papel é tão forte que os testes estão inseridos dentro deste 
pilar, garantindo que a qualidade esteja sendo produzida a cada 
Sprint, ao invés controlar apenas ao final do projeto.
A inspeção se dá, geralmente, para a verificação de erros para 
antecipar correções, durante reuniões de revisões, diariamente 
quando se terminar uma história, portanto, pode-se notar que 
processos que envolvem inspeção estão envolvidos também 
durante todo o ciclo de vida da metodologia Scrum e não apenas em 
métodos tradicionais de desenvolvimento de software.
Quais ferramentas usar? As mais diversificadas possíveis, porém, 
deve-se procurar por técnicas que não atrasarão o desenvolvimento 
do projeto. Um bom exemplo é a técnica AD HOC, pois as reuniões 
são sempre marcadas por conversas AD HOC, ou seja, não possuem 
algum tipo de formalidade, planejamento ou estratégia, que limite o 
pensamento do time.
Uma outra abordagem Ágil muito usada em empregas, que se 
assemelha ao Scrum, é o Extreme Programming (XP), mas com 
uma diferença particular: seu foco está mais ligado às práticas de 
engenharia e em desenvolvimento para pequenas e médias equipes. 
Ambas executam testes de software, só que o Scrum os realiza 
paralelamente ao processo de implantação e o XP, como é orientado 
a testes, é escrito antes das funcionalidades implementadas e usam, 
31
em seu processo de confecção de código, a programação em pares. 
Essa técnica é caracterizada pela produção do código em duplas, 
ou seja, existe a presença do piloto, responsável pela codificação 
e o co-piloto, que faz a verificação e inspeção do software. Ambos 
são de extrema importância para que o sistema seja entregue com 
a qualidade esperada, mas tem o papel crucial de revisar o que 
foi digitado e apontar os erros não percebidos pelo programador 
aconselhando uma possível solução.
Portanto, trabalhar com metodologias tradicionais para o 
desenvolvimento de software é importante, mas as empresas, hoje, 
têm procurado novas alternativas que trazem rapidez e flexibilidade 
nas mudanças que ocorrem a todo o momento, bem como 
assegurar um produto de qualidade que requer, além de muita 
determinação, flexibilidade a mudanças e revisões constantes para 
que, ao final, o software a ser entregue possua, além de rapidez, 
qualidade. Isso é o que esses modelos, que utilizam a metodologia 
Ágil, querem demonstrar.
Referências bibliográficas
PRIKLADNICKI, R.; WILLI, R.; MILANI, F. Métodos ágeis para desenvolvimento 
de software. Porto Alegre: Bookman, 2014.
BOTELHO JUNIOR, G. Scrum Path+: seu caminho para a agilidade. 1. ed. 2021. 
PARA SABER MAIS
compreensão de documentos e artefatos, com objetivos de 
encontrar defeitos antes mesmo da execução do sistema. Os 
desenvolvedores já possuem, no seu dia a dia, técnicas de escrita 
de código, documentos, levantamento de requisitos e criação 
de diagramas da UML, porém, muitos destes profissionais ainda 
possuem certa limitação ao interpretar um documento ou artefato.
32
Uma solução apresentada é criar o hábito de técnicas baseada em 
leitura, sendo um conjunto de instruções que levam o inspetor a 
compreender de forma mais claro e objetiva os artefatos.
Existem técnicas que guiam os usuários a um entendimento sobre 
como olhar e entender um produto, identificando possíveis erros. 
Uma delas, muito curiosa, é a Ad-hoc.
Este modelo não utiliza nenhuma técnica formal de entendimento 
de leitura. Por exemplo, em uma equipe com vários leitores, cada 
um, de forma individual, lê e interpreta o documento a seu modo, 
como bem entende, por meio de sua perspectiva e experiência. 
Pode soar de maneira estranha essa técnica, mas é comum sua 
utilização em empresas de software, principalmente, naquelas que 
adotam a Metodologia Ágil.
Na leitura Ad-Hoc, o inspector utiliza apenas seu conhecimento para 
realizar a inspeção, não é seguido nenhum protocolo ou técnica, 
suas considerações são feitas de forma informal, sem que haja 
algum tipo de reunião de planejamento com os membros da equipe.
Como tantas empresas podem adotar essa técnica? Realmente dá 
certo? 
Para alcançar bons resultados, o profissional deverá ser dotado de 
muita experiência para realizar as atividades de inspeção, utilizam 
todos seus conhecimentos para tentar encontrar o número máximo 
de defeitos. Seguindo esses paradigmas, é possível alcançar 
excelentes resultados.
No entanto, utilizar está técnica pode ser um tanto quanto 
perigoso dependendo do grau de conhecimento do inspetor, 
pois muitos defeitos podem passar de forma despercebida, sem 
que o profissional detecte. Outra questão é que como não existe 
33
procedimento ou padrões a serem seguidos é uma técnica que não 
é passível de melhoria, pois, assim que o inspetor termina aquela 
atividade, rapidamente já passa para uma posterior.
Muitas vezes, a técnica de leitura Ad-Hoc pode se tornar um tanto 
quanto cara, ou seja, será preciso elevar o custo do projeto, pois 
contratar profissionais mais experientes pode ser mais dispendioso 
para o projeto quando se comparado a contratação de profissionais 
menos experientes, que seguem determinados roteiros.
Nesse sentido, vale pensar nas vantagens e desvantagens da adoção 
desta técnica de inspeção, se as melhorias implantadas trazem mais 
benefícios que o valor a ser gasto.
TEORIA EM PRÁTICA
As técnicas de inspeção são fundamentais para a detecção de 
defeitos nos artefatos de softwares, muitas delas são dotadas de 
padrões e protocolos de devem ser guiados pelos profissionais, a 
fim de se obter um bom resultado final. Uma dessas técnicas, muito 
comum e simples, utilizadas em empresas de desenvolvimento 
para a detecção destes defeitos, é a checklist, onde o revisor recebe 
um documento descritos em forma de checklist para capturar 
informações importantes, enumerar defeitos e, principalmente, 
propor questões que auxiliam na correção de defeitos. Neste 
contexto, elabore um modelo de checklist simples, porém, objetivo, 
que contenha informações a serem inspecionadas de forma fictícia 
em uma tela de cadastro de clientes. Esse material deve auxiliar o 
revisor a encontrar possíveis defeitos em artefatos.
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
34
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicoscientíficos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicação 1
No capítulo 3, é feita uma abordagem bem clara sobre testes de 
software, seus tipos e principais funcionalidades. Também destaca-
sea inspeção de software, exatamente na página 76, onde é possível 
fazer uma leitura de suas principais áreas e verificar como é 
realizado o processo de inspeção.
Para realizar a leitura, acesse a nossa plataforma Biblioteca Virtual e 
busque pelo título da obra. 
GALLOTI, G. M. A. Qualidade de software. São Paulo: Pearson 
Education do Brasil, 2016.
Indicações de leitura
35
Indicação 2
A obra relata os principais aspectos que norteiam a Engenharia 
de Software, dando ênfase aos seus fundamentos, métodos ágeis, 
qualidade e testes. Neste contexto, em uma obra com tantos 
requisitos, não poderia deixar de citar as inspeções de softwares, 
localizadas na seção 3.4, abordando as principais técnicas e sua 
empregabilidade.
Para realizar a leitura, acesse a nossa plataforma Biblioteca Virtual e 
busque pelo título da obra.
MAITINO NETO, R. Engenharia de Software. Londrina: Editora e 
Distribuidora Nacional S.A., 2016. 216p. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
36
1. Inspeções de softwares são utilizadas para a correção 
precocemente de defeitos em artefatos, técnicas que podem 
ser usadas tanto em metodologias de desenvolvimento 
tradicionais quanto em metodologias ágeis. Um dos modelos 
ágeis muito comuns é o Scrum, que, em sua essência, 
emprega a inspeção de artefatos de acordo com seu pilar. 
Neste contexto, assinale e alternativa que demonstra 
corretamente o pilar que se concentra a Inspeção. 
a. Transparência, codificação, adaptação.
b. Transparência, inspeção, melhoria contínua. 
c. Transparência, inspeção, adaptação
d. Transparência, inspeção, codificação.
e. Inspeção, codificação, adaptação. 
2. Técnicas baseadas em leitura em inspeção de software tem 
como característica guiar inspetores e, com sua utilização, 
é possível selecionar um conjunto de perspectivas para 
revisar requisitos. Uma dessas técnicas de leituras, muito 
conhecida, é a AD-HOC, sendo sua finalidade analisar 
individualmente os artefatos de software, sendo um dos 
métodos mais empregados no mercado, atualmente. 
Assinale a alternativa correta, que demonstra uma 
característica desta técnica.
a. É uma técnica informal, onde a inspeção dos artefatos é feita 
de acordo com a experiência do revisões.
b. É uma técnica muito usada por qualquer tipo de profissional, 
desde os menos experientes até os mais experientes e, por 
isso, é amplamente utilizada no mercado.
37
c. Os documentos criados durante a utilização da AD-HOC 
devem ser rigorosamente inspecionados por todos os 
membros da equipe.
d. AD-HOC segue protocolos de inspeção que, ao final, é capaz 
de garantir toda a correção em diferentes modelos de 
artefatos.
e. Suas reuniões são marcadas por planejamentos estratégicos, 
que auxiliam os gestores na tomada de decisão. 
GABARITO
Questão 1 - Resposta C
Resolução: Esses pilares são responsáveis pela criação 
de sistemas de forma ágil e segura. Ser transparente quer 
dizer que todos os processos devem estar visíveis a todos 
os responsáveis, a inspeção (ponto-chave da questão), quer 
dizer que deve se realizar, constantemente, inspeções para 
detecções de possíveis erros e, finalmente, a adaptação, que 
representa os ajustes nos processos que foram alterados 
durante as modificações feitas na inspeção. 
Questão 2 - Resposta A
Resolução: A técnica é dita como muito utilizada, pois a maioria 
das empresas de desenvolvimento utilizam métodos ágeis para 
desenvolvimento de software, o que tem como características 
reuniões informais para a detecção de erros nos artefato. 
Processos e Casos de Testes 
automatizados 
______________________________________________________________
Autoria: Stella Marys Dornelas Lamounier
Leitura crítica: Marcilyanne Moreira Gois
TEMA 4
39
DIRETO AO PONTO
Testes de software vem ganhando cada dia mais espaço nas 
empresas de desenvolvimento e organizações. Trabalhar com 
testes não é uma tarefa fácil como muitos podem pensar, é preciso 
entender qual a melhor técnica a ser utilizada e a que mais se 
aproxima para resolver a necessidade do cliente.
É preciso saber que, a cada momento, os sistemas computacionais 
têm se tornado mais complexos, com mais funcionalidades, sendo 
necessárias tomadas de decisões precisas. 
Nesse contexto, é valido ressaltar que encontrar erros o mais 
precocemente possível no software, pode auxiliar empresas de 
desenvolvimento a alcançar altos níveis de confiabilidade em seus 
produtos de softwares.
 As etapas de desenvolvimento de software, no percorrer dos anos, 
sofreram grandes mudanças organizacionais. Foram deixados para 
trás processos, ditos como rígidos, repletos de documentação, 
sendo que, em muitas vezes, alterar um requisito era algo 
impossível para um novo paradigma de criar sistemas baseados em 
métodos mais flexíveis, dinâmicos, onde o que importa é entregar 
o projeto funcionando de forma eficaz, rápida e com qualidade, 
com adaptações ,sempre que necessário, executando o mais rápido 
possível, buscando melhoria contínua.
Independente da empresa adotar métodos tradicionais ou ágeis, 
é importante ressaltar as principais diferenças entres os tipos de 
testes existentes.
Os testes manuais são aplicados utilizando ações humana e, por 
isso, são considerados lentos e com maior risco de algum erro/ 
40
defeito, passar desapercebido. Sua realização é feita totalmente por 
um usuário que pode não identificar o erro e, por isso, é importante 
que o testador tenha muita experiência.
Já os testes automatizados são rápidos e não há interferência 
humana para sua execução, são dotados de funcionalidades capazes 
de detectar e avisar o erro em questão de segundos, sugerindo 
possíveis correções em determinados casos, o que gera menor custo 
e maior precisão em sua execução. Sua funcionalidade é comparar 
dados/ resultados obtidos com esperados, auxiliando o testador 
a verificar se um determinado software tem ou não o resultado 
esperado.
Alguns pontos dos dois tipos de testes, que podem ser destacados, 
são os seguintes:
Quadro 1 - Testes manuais versus testes automatizados
Fonte: elaborado pela autora.
41
Quando usar testes manuais e quando usar automatizados?
Os testes manuais são mais indicados quando se tem uma 
documentação muito vaga, ou seja, todos os requisitos ainda não 
foram especificados. Nesse momento, é notória a presença de um 
analista de qualidade que tenha experiência e boa intuição para 
bom entendimento dos documentos apresentados. 
Testes de usabilidade são realizados com base na experiência do 
usuário, de diferentes perfis, são baseados na observação humana 
quanto ao uso de uma função específica para grupos de usuários. 
Ainda é algo muito complexo e, nesse contexto, adotar esta técnica 
pode ser a melhor, pois o usuário que realizará o teste tem uma 
visão mais próxima do usuário final que um teste automatizado.
Quando não se tem nenhum planejamento já estabelecido, sem 
criação ou execução de regras, padrões ou outro tipo de sequência, 
é melhor aplicar testes manuais.
A respeito de testes automatizados,é melhor sua aplicação 
quando um sistema sofre alterações frequentes de atualizações, 
e se trabalha com times grandes e de diferentes áreas, exigindo 
testes frequentes, que são os chamados testes de regressão, que 
tem como finalidade assegurar que as alterações feitas estão 
funcionando e de acordo com o requisitado.
Em teste de carga também se utiliza muito a automatização de 
testes, auxiliando a determinar o comportamento de um sistema 
em condições reais, como, por exemplo, capacidade de acesso, 
processamento, entre outros.
Por fim, não existe regra que demonstre se este teste é voltado às 
metodologias mais tradicionais ou ágeis, algumas tem maior ênfase 
para métodos mais flexíveis. A equipe de testesprecisa ter em 
42
mente que independente da técnica ser manual ou automatizada, 
o que deve ser determinada é a entrega rápida de um software 
com menor quantidade de erros possíveis e custo de acordo com o 
orçamento do cliente.
PARA SABER MAIS
A automação de testes surgiu por meio da necessidade de criar 
modelos de testes que atendessem com mais precisão os testadores 
que sempre desejaram otimizar tempo, diminuindo o custo e 
aumentando a qualidade do software. É um campo relativamente 
novo, mas que já traz benefícios muito bem vistos pela comunidade 
de testadores, uma vez que os testes podem ser aplicados em 
cenários diferentes, o que pode acarretar a descoberta mais que 
prematura de um defeito no sistema que está sendo implementado. 
Desse modo esses problemas são corrigidos rapidamente e entregas 
feitas com menos erros, uma vez que testar todos os possíveis 
cenários de forma manual ou testar as alterações realizadas, pode 
dar muito trabalho para a equipe de testes.
Existem ferramentas muito novas no mercado, mas que já estão 
sendo utilizadas pelas empresas de desenvolvimento que utilizam 
a metodologia Ágil de implantação de software, como o caso 
da Capybara, que gera Testes de Aceitação, uma ferramenta de 
automação de testes para aplicações via web, ou seja, testes no 
browser, com uma característica importante, que é ser de código 
aberto. Sua funcionalidade é testar aplicações web, simulando como 
um usuário real se comporta diante de determinada situação.
Como é realizado o teste com esse framework? É realizado por 
meio de drivers e frameworks capazes de controlar os navegadores, 
tornando possível simular, por exemplo, um cadastro de usuário 
43
ou a compra de algum produto eletrônico, com a utilização de 
comandos específicos, como, por exemplo: visit:, para visitar uma 
URL; o visible, que verifica se determinado elemento da página está 
visível; e o click_button, que verifica o clique em um botão.
Outra ferramenta que está se tornando muito popular é o Rspec, 
que executa testes automatizados em linguagem Ruby. Seu 
desenvolvimento é orientado a testes, ou seja, muito antes de 
serem desenvolvidos os códigos, os testes são realizados. Outra 
característica interessante é a criação dos testes utilizando a 
tendência de DSL, que significa criar scripts mais próximos de 
linguagem mais natural, como o inglês, ficando bem fácil para 
entender o teste que foi escrito por outro testador.
Portanto, são ferramentas novas, mas que já estão presentes nos 
mais diversos tipos de sistemas, principalmente em aplicativos web. 
Uma observação importante, que os frameworks atuais trazem, além 
de agilidade e precisão, é melhor compreensão dos testes com a 
utilização de escritas menos complexas, de acordo com seu domínio 
particular.
TEORIA EM PRÁTICA
Testes automatizados possuem inúmeros benefícios que podem 
auxiliar as empresas de softwares a criar sistemas com uma 
qualidade muito maior do que utilizando apenas testes manuais. É 
possível intercalar tanto uma como a outra, isso dependerá do que 
deve ser testado, se é uma nova funcionalidade, parte do código ou 
algum botão.
Quando essas automações são aplicadas a alguma metodologia Ágil, 
sua performance se torna ainda melhor, devido a sua manutenção 
44
flexível e com reuniões menos burocráticas, o que, por muitas vezes, 
atrapalha o desenvolvimento do sistema.
Imagina que você esteja em um ambiente de desenvolvimento, qual 
o tipo de metodologia Ágil aplicaria para a criação de sistemas que 
poderiam utilizar os testes de software automatizados e a relação 
desta metodologia com testes automatizados? 
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicações de leitura
45
Indicação 1
O artigo indicado tem como objetivo informar a importância de 
utilizar a automação de testes no desenvolvimento de sistema, 
detalhar os benefícios trazidos por este modelo de testes e a 
aplicação na abordagem Ágil.
Pesquise o título da obra na Internet, por meio do buscador Google 
ou outro de sua preferência.
BERNARDO, P. C.; KON, F.. A importância dos testes automatizados. 
Engenharia de Software Magazine, v. 1, n. 3, p. 54-57, 2008.
Indicação 2
A tese indicada mostra porque se deve utilizar testes automatizados 
em desenvolvimento de software. Além disso, demonstra que, ao 
contrário do que muitos pensam, pode trazer redução de custos, 
ainda mais quando aplicados seus padrões a metodologias Ágeis.
Pesquise o título da obra na Internet, por meio do buscador Google 
ou outro de sua preferência.
BERNARDO, P. C. Padrões de testes automatizados. Tese de 
Doutorado, curso Ciência da Computação. São Paulo: Universidade 
de São Paulo, 2011. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
46
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. Testes automatizados foram criados para aumentar a 
qualidade do software, dotados de ferramentas e frameworks 
que podem substituir em algumas atividades os testes 
manuais. Assinale a alternativa que não é uma característica 
de testes automatizados. 
a. Repetitivos.
b. Rápidos. 
c. Dependência de linguagem natural..
d. Ações programadas.
e. Suscetíveis a pequenas mudanças. 
2. Testes automatizados são amplamente utilizados em 
empresas de desenvolvimento por trazer agilidade e facilidade 
na sua execução. Essas empresas têm adotado também 
ferramentas de automação que utilizam técnicas de DSL. 
Assinale a alternativa correta, que demonstra a principal 
característica de uma DSL.
a. Possui somente versões gratuitas.
b. Linguagem de fácil interpretação para o usuário.
c. Tradução de códigos mais complexos.
d. Baixo nível de abstração.
47
e. Alto nível de abstração. 
GABARITO
Questão 1 - Resposta C
Resolução: A utilização de uma linguagem mais natural está 
associada a testes manuais, por não utilizar nenhum sistema 
computacional que realize as atividades de testes. O testador 
responsável por sua execução, muitas vezes, utiliza sua 
experiência e intuição para diagnosticar erros, evitando o uso 
de técnicas computacionais. 
Questão 2 - RespostaB
Resolução: A DSL, ou linguagem específica de domínio, permite 
ao usuário interagir com o sistema e seus termos, não se utiliza 
apenas de linguagem de programação, o que facilita muito a 
interpretação por parte do usuário. 
BONS ESTUDOS!
	Apresentação da disciplina
	Introdução
	TEMA 1
	Direto ao ponto
	Para saber mais 
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 2
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 3
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 4
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Quiz
	Gabarito
	Inicio 2: 
	Botão TEMA 4: 
	Botão TEMA 1: 
	Botão TEMA 2: 
	Botão TEMA 3: 
	Botão TEMA 9: 
	Inicio :

Mais conteúdos dessa disciplina