Estudo de caso: Redução do tempo de execução de testes no Sistema da Nota Fiscal com a implementação de testes automatizados utilizando a ferramenta Selenium Webdriver

Publicado em 25 de Outubro de 2018, por Cíntia Alves.


Tempo estimado de leitura: 7 minutos

Introdução

A Nota Fiscal de Serviços Eletrônica - NFS-e é o documento fiscal de existência digital que substitui as tradicionais notas fiscais de serviços impressas. A NFS-e, implantada pelo Departamento de Receitas Mobiliárias da Secretaria Municipal de Finanças em 2009, é emitida e armazenada eletronicamente em programa de computador da Prefeitura Municipal de Campinas, com o objetivo de materializar os fatos geradores do ISSQN – Imposto Sobre Serviços de Qualquer Natureza, por meio do registro eletrônico das prestações de serviços sujeitas à tributação do ISSQN.

O sistema da nota fiscal simplifica a vida dos prestadores de serviços e gera créditos para seus clientes como pessoas jurídicas e físicas do munícipio de Campinas. É um sistema que possui manutenção e evolução constante nas suas funcionalidades para que falhas não interrompam o seu funcionamento, ou seja, o objetivo é que a disponibilidade dele seja máxima. Além de tamanha importância para o cidadão campineiro ele também contribui diretamente com a arrecadação do município.

O processo de teste de software tem como finalidade controlar a qualidade dos sistemas, o que é um grande desafio para empresas devido a vários fatores como a complexidade dos produtos, dificuldades no processo de desenvolvimento que podem ser por questões de negócios, de recursos, de burocracia entre outras. Com objetivo de aumentar a disponibilidade e qualidade do sistema foi planejado o processo de automatização de testes de software com a proposta de implantar a pirâmide de testes cobrindo testes unitários, testes de integração e testes funcionais.

2. Como eram executados os testes

O processo de homologação das tarefas desenvolvidas era executado duas vezes ao mês e após a equipe finalizar o desenvolvimento das tarefas estas eram colocadas no ambiente de homologação para execução dos testes com objetivo de verificar se as funcionalidades alteradas estavam funcionando adequadamente e se não afetaram outras partes do sistema.

Durante a execução dos testes eram alocados pelo menos um analista de sistemas da Informática de Municípios Associados - IMA para executar os testes descritos no checklist e também era alocado um responsável na prefeitura, ou seja , pelo menos duas pessoas  eram necessárias para executar testes manuais de um checklist de  cinquenta páginas, totalizando no mínimo 16 horas de trabalho. Para comprovar os testes o analista registrava a execução dos testes efetuados para ao final da tarefa gerar um relatório de evidências.

3. Quais problemas existiam?

O checklist era executado através de testes manuais que duravam pelo menos 16 horas de trabalho.
Os testes manuais eram executados duas vezes ao mês e só verificavam alguns efeitos das funcionalidades colocadas para homologação durante essa execução.
Os testes manuais quando repetidos várias vezes podem se tornar cansativos e trazer vícios durante a execução.

4. Como melhoramos e quais resultados?

A equipe técnica da nota fiscal realizou um mapeamento dos sistemas junto com a equipe de testes para analisar os possíveis cenários  para executar os testes. E foi definido a implantação dos testes automatizados funcionais, pois é o que mais agrega valor ao sistema para realizar a validação de forma automática e com uma resposta mais rápida sobre a qualidade da entrega.
A ferramenta Selenium Webdriver, uma biblioteca em Java,  foi escolhida para automatizar os testes funcionais. O principal uso do Selenium é automatizar aplicativos da web para fins de teste, mas não se limita apenas a isso, podendo também automatizar tarefas de administração que sejam repetitivas.
Foram desenvolvidos dezoito cenários de testes para cobrir o checklist de cinquenta páginas. Foi cadastrado um serviço no Jenkins para execução dos testes, assim o desenvolvedor não precisa ter o ambiente de desenvolvimento dos testes automatizados instalados na sua máquina local. No futuro esse serviço servirá de filtro no deploy.

O checklist que era executado manualmente por uma pessoa agora pode ser executada por um script e em menos tempo, aproximadamente cinco minutos.
Os testes automatizados são executados antes em ambiente de homologação e em caso de sucesso o sistema está pronto para ser liberado na produção.
Hoje os testes automatizados podem ser executados por qualquer técnico que tenha acesso ao Jenkins. 
Hoje qualquer pessoa do time pode colocar a tarefa desenvolvida no ambiente de homologação e executar os testes através do job verificando se não afetou nenhuma funcionalidade.

5. Conclusão

Com a automação eliminamos os trabalhos repetitivos, diminuímos os erros que podem ser cometidos por trabalhos manuais, empregamos melhor as horas da equipe, conseguimos uma resposta rápida sobre a qualidade do sistema e  aumentamos a disponibilidade das funcionalidade desenvolvidas.
Os testes automatizados são executados em um tempo bem menor e com uma saída que identifica rapidamente onde está o erro, eles podem ser executados várias vezes ao dia para verificar a disponibilidade do sistema e também podem ser utilizados para realizar testes de carga no sistema.
Os testes automatizados tornaram as entregas mais rápidas e de acordo com o esperado pelo cliente e trouxeram principalmente a melhoria da qualidade dos sistemas e softwares.

Envolvidos no projeto de automatização dos testes da Nota Fiscal de Serviços Eletrônica - NFS-e: André Mateus, Cássia Domingues, Cíntia AlvesDalton Daibes, Diego de Andrade, Luiz Zanatta, Patrick Facci, Rodrigo Turatti, Rodolfo de Santi.

 

Comentários

Foto de Denis

Muito bom! Parabéns Cíntia!
Curtir
10 usuarios curtiram
Foto de Any Souza

Pessoal, parabéns pelo empenho, trabalho e dedicação. Continuem nessa jornada.
Curtir
12 usuarios curtiram

Comentar