Teste de Software
Teste de Software
Teste de Software
Conteúdo Programático
Aula 01 – Testes Unitários
Aula 02 – Ferramentas para automatização de testes
Testes Unitários
Introdução
O objetivo dessa aula é abordar a prática com testes, seja ela de forma unitária, conjunta,
manual ou automatizada. Durante a disciplina de teste de software muitos conceitos foram
abordados e trabalhados e agora vamos ver como funciona um teste na prática por meio de
uma linguagem de programação. A linguagem utilizada será o Java.
Outros assuntos complementares serão trabalhados durante essa aula e também serão úteis
para seu aprendizado.
Testes unitários
Isso resultaria em benefícios diretamente ligados ao tempo de espera, ou seja, não precisamos
aguardar o término do teste de todo o sistema, pois ele está sendo testado em partes. Esses
benefícios podem incluir (ISTQB, 2019):
Como foi estudado no material da Unidade 3 e também reforçado nas videoaulas, o teste
unitário também é chamado de teste de componente.
O processo árduo do testador de software quando ele vai rodar testes unitários. Esse processo
pode se repetir dezenas de vezes, por isso em alguns casos decide-se por fazer a
automatização por uma ferramenta. Lembrando que o fato de se testar 1 ou 1000 vezes não
interfere se o teste é unitário ou não, pois ele se caracteriza como teste unitário se estiver
limitado a testar componentes de forma separada (ISTQB, 2019).
A indicação de leitura abaixo vai abordar um pouco mais o teste unitário. Vale a pena ler o
conteúdo, fazer anotações e se possível colocar isso em prática em um projeto piloto.
Indicação de Leitura
Nesse material desenvolvido pelo ISTQB – International Software Testing Qualifications Board,
distribuído pela BSTQB – Brazilian Software Testing Qualifications Board, você pode estudar
sobre o teste de componentes. No capítulo 2, você vai encontrar o tópico 2.2.1 Teste de
componente na página 33 onde vai encontrar os assuntos:
- Base de teste;
- Objetos de teste;
Esse material completo está disponível para download e consulta de forma gratuita.
JUnit
O Junit é um pacote dentro do Java para trabalhar com testes unitários. O Test Driven
Development (TDD) que no português significa conceito de Desenvolvimento Guiado por
Testes, orienta que antes de se criar qualquer classe codificada, deve-se escrever um teste, a
fim de testarmos o código-fonte da referida classe. Essa prática gera vários benefícios quando
pensamos em toda a equipe de desenvolvimento, inclusive podem ser utilizados como
métricas em todo o tempo de vida do projeto.
O TDD também torna o processo mais confiável, além de reduzir os custos, pois elaborar os
testes antes mesmo que eles sejam executados, significa que já sabemos os erros e
consequentemente eles serão corrigidos. Outra situação é que os testes já foram criados, e
isso significa que as regras de negócio já foram compreendidas no desenvolvimento dos testes
unitários. Vamos elencar alguns benefícios do TDD (ISTQB, 2019):
Diminuição do retrabalho;
A Figura 1 apresenta o ciclo do TDD. Esse ciclo é bem simples, cria-se um teste, constrói-se a
codificação para que o teste seja executado e depois aplica-se o refatoramento (ISTQB, 2019).
Vale lembrar que o desenvolvedor para implementar os testes iniciais deve conhecer
claramente a regra de negócio e os requisitos do sistema. Também de nada vai adiantar criar
testes que não façam a validação do código-fonte, pois os testes precisam validar um conjunto
de unidades, sendo assim, o TDD irá funcionar adequadamente abrangendo toda a estrutura
dos testes.
Videoaula 1
Utilize o QR Code para assistir!
Exemplo
Para criar um teste com a biblioteca do JUnit no Java, é preciso baixar e configurar no
seu ambiente. Sendo assim, deixarei a indicação de um vídeo que vai ensinar onde
baixar e como configurar o ambiente.
Indicação de Vídeo
Nesse vídeo é explicado como fazer o download, instalação e configuração da
biblioteca do Java (JUnit) com a IDE do Eclipse. Se desejar, você pode utilizar também o
NetBeans ou o IntelliJ.
Confira o link: https://www.youtube.com/watch?v=WHPPQGOyy_Y para realizar todos
os procedimentos necessários.
Uma vez instalado o JUnit, vamos então ao nosso exemplo. A partir de um projeto
criado no Eclipse, vamos criar nosso primeiro caso de teste. Para isso vá no
pacote src e com o botão direito selecione a opção new/other, selecione o diretório
JUnit e então selecione “JUnit Test Case”, figura 2.
Figura 2: Criando uma JUnit Test Case
Após isso, é só colocar o nome da classe e clicar no botão Finish. Seu caso de teste
estará pronto para ser construído conforme apresentado na Figura 3.
Figura 3: Classe do JUnit Test Case
Como pode ser observado na Figura 3, o nome dado a classe foi: Macedo. Lembrando
sempre de deixar o primeiro caractere do nome da classe em maiúsculo. Para executar
esse teste basta clicar com o botão direito no nome da classe e selecionar a opção Run
As JUnitTest, figura 4.
Figura 4: Executando o Junit Test
Note que o teste irá falhar por conta da função “fail” que está sendo executada na
linha 11 da Figura 3. Trata-se apenas de um exemplo que já está configurado quando
criamos a classe. Todas as vezes que quiser executar o teste novamente ou executar
outro JUnit Test, proceda da mesma maneira.
Videoaula 2
Utilize o QR Code para assistir!
A segunda videoaula da aula 1, vai
apresentar como fazer a configuração do
JUnit no Eclipse, além dos detalhes da
criação do projeto utilizando a biblioteca
do JUnit. O professor vai explicar como
deve ser feita a criação do projeto e
também como executá-lo.
Figura 5: Método 1
Figura 6: Método 2
Videoaula 3
Utilize o QR Code para assistir!
Introdução
Nessa aula, vamos continuar nosso estudo abordando uma ferramenta de automação de
testes. O Selenium é um conjunto de ferramentas open source e multiplataforma usado para
automatizar testes nos navegadores web. Suporta ainda diversas linguagens de programação
como Java, C# (Sharp), Java Script, Python, Kotlin e Ruby. Além das linguagens, os testes
podem ser executados em vários navegadores web como, Chrome, Safari, Firefox, entre
outros.
Selenium IDE
O Selenium IDE funciona como uma extensão do navegador que grava e também reproduz a
atividade do usuário em uma página web. Ele realiza esse procedimento utilizando comandos
existentes do Selenium de acordo com parâmetros fornecidos para cada teste. A extensão do
Selenium IDE está disponível para Google Chrome, Mozilla Firefox e Microsoft Edge. A Figura 8
exibe ao longo dessa extensão.
Para conhecer um pouco mais do Selenium IDE você pode acompanhar a indicação de leitura a
seguir:
Após ler e estudar os conteúdos dessa indicação de leitura, veja também a indicação desse
vídeo muito bem contextualizado com a ferramenta Selenium.
Importante
Para complementar seu estudo e saber mais curiosidades sobre o Selenium, acesse a
url: https://www.youtube.com/watch?v=Fw9YW5_MZRs, acesso em 07 fev. 2022, onde você
vai poder acompanhar o Overview do Selenium, um pouco da sua história, curiosidades,
variações das suas distribuições, etc. Em todos os tópicos você poderá ter acesso a conteúdo
contendo os conceitos, características e funcionalidades de cada um.
Ambiente
Antes de iniciarmos nosso trabalho com a criação de testes dentro utilizando o Selenium IDE,
devemos fazer a instalação dessa extensão. Tratando-se de um sistema que será testado no
navegador web, a sua instalação é muito simples.
Você deve pesquisar em seu navegador pela extensão Selenium IDE. Vamos utilizar o Google
Chrome por questões de popularidade. Observe a Figura 9.
Na Figura 9 está sendo exibida a busca pela extensão informando como busca: selenium
extensão. Basta acessar a url exibida na pesquisa para que o Chrome carregue a opção de
utilização da extensão nas extensões do Google em seu navegador.
Para adicionar a extensão, clique no botão azul Usar no Chrome como é exibido na Figura 10.
Figura 10: Usar a extensão
É verificada a sua solicitação e uma mensagem de confirmação é exibida. Para concluir, clique
em “Adicionar extensão”, figura 11.
Acompanha a próxima vídeo aula para saber como criar e configurar testes com essa
ferramenta por meio do navegador web.
Videoaula 2
Utilize o QR Code para assistir!
Agora que você já aprendeu um pouco sobre como instalar, configurar e a criar um
primeiro caso de teste, vamos aprofundar um pouco criando assim um script de caso
de teste.
Um script ou scripts são códigos que executam duas ou mais funções em sequência,
isso quer dizer que vamos criar um teste que execute dois ou mais testes já criados
anteriormente, ou então que execute várias tarefas em sequência. A Figura 14, exibe
uma prévia da ferramenta Selenium IDE sendo configurada para a execução de um
script de teste.
Figura 14: Script de Teste
Acompanha a próxima vídeo aula para saber como criar e configurar scripts de testes
com o Selenium IDE.
Videoaula 3
Utilize o QR Code para assistir!
Concluindo o estudo dessa aula, podemos dizer que conseguimos iniciar nosso longo
caminho para o desenvolvimento de testes unitários e automatizados com a utilização
de ferramentas de apoio.
Atente-se aos prazos! Após a data limite, a avaliação será encerrada. Bons estudos!
Videoaula Encerramento
Utilize o QR Code para assistir!
Assista agora ao vídeo de encerramento
de nossa disciplina.
Encerramento
Chegamos ao fim desta Unidade de Ensino e também da disciplina após caminhar por
conteúdos importantes para o seu desenvolvimento no Curso de Tecnologia em
Análise e Desenvolvimento de Sistemas até aqui. A Unidade 4 apresentou o conteúdo
de testes unitários por meio da biblioteca JUnit da linguagem Java e a ferramenta
Selenium IDE para construção e execução de testes automatizados em navegadores
web que permitam o desenvolvimento de projetos com a extensão do Selenium.
Após a assimilação dos conteúdos abordados nesta Unidade, você está apto a
prosseguir estudando um pouco mais sobre a grande área teste de software no
mercado profissional que tem crescido nos últimos anos.
Tenha uma ótima leitura e não se esqueça de ler e estudar a Bibliografia e as
videoaulas ministradas pelo professor.
Obrigado pela oportunidade de ser o mediador entre os conteúdos específicos
abordados e o conhecimento adquirido por você por meio da didática e abordagem
desta Unidade.
Encerramento da Unidade
Espero que os conteúdos dessa disciplina, tenham contribuído para sua formação
acadêmica, bem como, na construção de seus conhecimentos específicos em relação
ao cenário do teste de software. No decorrer do conteúdo, foi possível aprender os
conceitos básicos e os fundamentos de teste de software. Foi possível também, por
meio de exemplos práticos e da realidade profissional, onde são aplicados na prática
esses testes. A disciplina de teste de software apresenta uma área do desenvolvimento
de software que contém a etapa de teste de software muito importante para o ciclo de
vida de desenvolvimento do projeto. Após você aprender e compreender as estruturas
do teste de software e suas aplicações, é possível adquirir uma maturidade
considerável, relacionada aos recursos e técnicas utilizadas para a criação de testes e
casos de teste que ajudem no desenvolvimento do sistema.
Quero agradecer a você, pela parceria e também por poder compartilhar informações
e experiências que com certeza agregaram valor na disciplina.
Continue em frente, bons estudos e um grande abraço!
Referências
DIJKSTRA, E. W. A Discipline of Programming. Englewood Cliffs, New Jersey, EUA:
Prentice Hall, 1976. 217 p.
HOGLUND, Greg.; MCGRAW, Gary. Como quebrar códigos: a arte de explorar e
proteger software. São Paulo: Pearson Makron Books2006.
ISTQB – International Software Testing Qualifications Board, 2019 Disponível em:
https://www.abramti.org.br/b9/doc/syllabus_ctfl_3.1br.pdf. Acesso em: 20 Dez 2021.
SOMMERVILLE, Ian. Engenharia de software. 10. ed. São Paulo: Pearson, 2018. 768 p.
VAZQUEZ, Carlos Eduardo. Engenharia de Requisitos: software orientado ao negócio.
Rio de Janeiro: Brasport, 2016.