• Nenhum resultado encontrado

5.2.1 Escopo dos testes

Para veriĄcar a aplicação e garantir que a mesma tenha sido desenvolvida conforme o padrão esperado, são estabelecidos os testes necessários para isso. Neste caso, a deĄnição do escopo dos testes, ou seja, aquilo será testado, foi elaborada a partir dos principais requisitos funcionais do sistema.

A partir das funcionalidades é possível estabelecer os testes de caixa-preta que darão cobertura necessária para o software, visto que se sabe quais serão as entradas e os resultados esperados do sistema, mesmo não tendo conhecimento do processo interno.

Capítulo 5. Desenvolvimento 33

a seguir:

Tabela 1 Ű Requisitos funcionais do sistema agrupados por tela

Tela Funcionalidade

Home

O sistema deverá ser capaz de navegar entre as telas através de abas (cada uma correspondente a uma tela) localizadas no canto superior direito da aplicação

O sistema deverá exibir um texto referente a biograĄa do professor em uma sessão destinada

O sistema deverá exibir um texto para os alunos em uma sessão destinada

O sistema deverá conter um link no rodapé com direcionamento a página do Facebook do professor.

O sistema deverá conter um link no rodapé com direcionamento a página do Twitter do professor.

Disciplinas O sistema deverá exibir uma tabela com informações sobre asdisciplinas ministradas pelo professor nos últimos seis semestres

Pesquisa

O sistema deverá ser capaz de exibir imagens interativas em uma sessão destinada

O sistema deverá exibir um texto referente a área de pesquisa do professor em uma sessão destinada

Contato

O sistema deverá ser capaz de realizar o preenchimento e envio de um formulário

O sistema deverá ser capaz de apresentar um alerta caso os campos obrigatórios do formulário não tenham sido preenchidos

O sistema deverá ser capaz de apresentar um alerta de conĄrmação caso seja marcado o checkbox de novas informações

Após a deĄnição do escopo dos testes, teremos a construção dos casos de testes, onde são escolhidos dados que servirão para teste do programa e os objetivos que se deseja alcançar com os mesmos.

O produto Ąnal de trabalho com os processos destacados é o plano de testes da aplicação, onde estará contido o escopo, propósito e estratégia dos testes, assim como os casos de testes, detalhados passo a passo.

5.2.2 Testes automatizados

Para realizar a elaboração da automação dos testes planejados para a aplicação foram utilizadas as ferramentas Selenium WebDriver e JUnit, juntamente a linguagem de programação orientada a objetos Java.

O Selenium WebDriver (SELENIUMHQ, 2019) é uma ferramenta de automação de testes de sistema que provê ao desenvolvedor a execução de ações interativas com o navegador, dada sua integração direta com o mesmo. Com essa ferramenta é possível criar

Capítulo 5. Desenvolvimento 34

scripts de testes, em diferentes linguagens de programação, responsáveis por simular ações de um usuário no browser, ou seja, é possível reproduzir, via código, ações como cliques, preenchimento de campos, seleção de menus, conĄrmação de mensagens de alerta, entre outros. A reprodução dos comandos pela ferramenta é possível através da interação com os elementos HTML da página web.

Já o JUnit (JUNIT, 2019) é um framework de código aberto responsável por facilitar a criação e automatização de testes de unidade em projetos de código Java. Devido a sua grande versatilidade, fornecendo uma completa aplicação para construção dos testes, sua utilização geralmente está ligada a integração com outras ferramentas. Através do JUnit é possível estruturar projetos de testes unitários ou automatizados, sendo a ferramenta, responsável pela parte de execução dos testes, análise dos resultados obtidos e estruturação do script em si.

Figura 11 Ű Exemplo - script de teste automatizado

A estruturação do projeto foi deĄnida avaliando os requisitos funcionais da aplica- ção, onde os mesmos eram agrupados por tela, assim foi deĄnido no projeto de automação. Para cada página do sistema, existe uma classe no projeto contendo os métodos respon- sáveis pela execução automatizada dos comandos que compõem o teste, assim como um script que contém todos os testes da página em veriĄcação. Pensando em um âmbito geral, há também um script responsável pela execução de toda a suíte de testes, ou seja, todos os testes desenvolvidos para a aplicação independente da página.

Para a criação dos testes automatizados foram utilizados como artefato de entrada os casos de teste contidos no documento de plano de testes. Onde para cada caso de testes existia o detalhamento dos passos necessários para sua realização foi reproduzida a automatização dos comandos.

A execução dos testes é realizada de forma bem simples e intuitiva, sendo feita através do próprio JUnit e, de acordo com a estrutura deĄnida para o projeto, pode ocorrer de duas maneiras. O primeiro cenário aborda a execução dos testes referentes a

Capítulo 5. Desenvolvimento 35

somente uma página da aplicação e o segundo cenário aborda a execução de todos os testes já desenvolvidos para o sistema, podendo corresponder a um teste de regressão.

Os resultados obtidos pela execução dos testes podem ser apresentados de duas maneiras, a apresentação gráĄca e a apresentação consolidada dos dados, através de um documento. Na apresentação gráĄca, que ocorre por meio da própria ferramenta de de- senvolvimento e execução dos casos, são apresentadas somente as principais informações dos casos e do projeto em geral, além do grande destaque dado aos resultados. Já na apresentação consolidada, é gerado um documento de extensão do tipo xml através do JUnit. Este documento é responsável por conter informações referentes a execução dos testes automatizados, são apresentados dados do projeto em geral, como nome do projeto, quantidade de casos de teste executados, quantidades de falhas, entre outros, e informa- ções relativas a cada um dos testes individualmente, como nome do caso de teste, tempo de execução, entre outros dados.

Capítulo 5. Desenvolvimento 36

Figura 13 Ű Resultados da execução dos testes automatizados - Modelo detalhado (Ar- quivo xml com consolidado das informações)

37

6 Testes automatizados aplicados ao DevOps

Para esse trabalho foi adotada a utilização do framework DevOps devido seu ali- nhamento de priorização de atividades automatizadas, porém para o mesmo poderiam ser aplicadas diversas metodologias e frameworks resultando também nos ganhos potencias obtidos pelos testes automatizados.

A aplicação dos testes automatizados a metodologia DevOps foi centralizada em dois cenários principais, o evolutivo e o corretivo. Os cenários são detalhados nos tópicos a seguir.

No documento Automação de testes aplicados ao DevOps (páginas 33-38)

Documentos relacionados