Validação, Verificação e Teste
Experiência em Automação de Testes
Utilizando ferramentas Open Source em Ambiente Ágil de Desenvolvimento com SCRUM
De que se trata o artigo:
Neste artigo compartilhamos experiências sobre a automação do processo de teste de um Sistema WEB desenvolvido utilizando SCRUM. Mostramos as vantagens e desvantagens de se adotar esta técnica de qualidade no ambiente de trabalho.
Para que serve:
A Automação de um Processo de Teste, que tem como objetivo garantir a qualidade de projetos de software, oferece notáveis vantagens quando o ambiente de desenvolvimento é executado a partir de uma Metodologia Ágil de desenvolvimento como o Scrum.
Em que situação o tema é útil:
Além de ser uma boa prática para se adotar em processos de teste, a automação de casos de teste garante um aumento na qualidade do software sem elevar o custo para isso. Com o auxílio de soluções open source é possível chegar a um nível satisfatório de qualidade e confiabilidade do projeto de software.
Este artigo descreve de maneira prática a experiência de se adotar ferramentas de automação de teste no processo de desenvolvimento ágil Scrum. Ao se adotar um processo de teste nota-se a melhora, estabilidade e o amadurecimento do software. As vantagens de se automatizar esse processo com ferramentas abertas vão desde o ganho em tempo de teste e prevenção de defeitos, até a confiabilidade do cliente pelo produto final, sem o aumento de custos. Mais a frente, neste artigo, veremos que foi possível automatizar o gerenciamento, a elaboração e a execução dos casos de testes, em um Sistema Web desenvolvido em Ruby on Rails.
As metodologias ágeis de desenvolvimento de software se destacam dos processos de desenvolvimento tradicionais devido, principalmente, ao fato de darem prioridade ao desenvolvimento de funcionalidades através de código executável ao invés da produção de extensa documentação escrita, e ainda, respostas rápidas às mudanças e colaboração com o cliente ao invés de seguir planos rígidos e negociações contratuais [Leal (2009)].
Tão importante quanto o processo de desenvolvimento de um projeto de software, o processo de qualidade envolvido requer planejamento e atenção, visto que garantir a qualidade do software desenvolvido é tão significante quanto a sua codificação. Assim como a qualidade do produto deve ser alcançada em um meio de desenvolvimento clássico, ela também precisa ser levada em consideração nos ambientes ágeis.
Tem sido cada vez mais custoso e desafiador o processo de qualidade nos dois modos de desenvolvimento, seja pela complexidade do produto, por questões técnicas envolvidas, pelo próprio planejamento equivocado do projeto, e algumas vezes pela falta de um processo estruturado de qualidade e de desenvolvimento.
Salvo algumas exceções, a maioria das empresas opta por garantir um nível de qualidade através de testes manuais, após o término de módulos específicos ou até mesmo do sistema inteiro [Bernardo e Kon (2008)]. Isso é uma escolha que pode acarretar sérios problemas, comprometendo o andamento dos processos de desenvolvimento e teste.
Este artigo tem como fundamental objetivo compartilhar uma experiência prática no uso de automação de testes funcionais em um ambiente de desenvolvimento conduzido pelo SCRUM. No decorrer do artigo mostraremos as notáveis vantagens e as dolorosas desvantagens de se adotar tal prática de qualidade no dia-a-dia de trabalho.