[lead2]Com o passar dos anos, as técnicas e ferramentas para desenvolvimento de software vêm sendo aprimoradas e cada vez mais utilizadas em diferentes aplicações. Uma das maiores preocupações do desenvolvimento de software está relacionada à qualidade dos sistemas desenvolvidos e, conseqüentemente, com a sua estabilidade no ambiente de produção.

Uma falha em um sistema pode ocasionar vários problemas, desde prejuízos financeiros, comprometimento de cronogramas e até perda de vida humana, dependendo do sistema desenvolvido. Existem vários acidentes causados por falhas de software que ficaram famosos, desde falhas em aviões, foguetes e equipamentos.

[/lead2]

Um exemplo onde houve perda de vidas humanas foi a falha do sistema em um equipamento de radioterapia chamado Therac-25. Este equipamento era controlado por computador, muito moderno para sua época, e permitia a utilização do mesmo equipamento para a aplicação de diversas intensidades de radiação nos pacientes. Houve uma série de seis acidentes relatados entre 1985 e 1987, nos quais os pacientes receberam overdose de radiação.

Pelo menos cinco mortes aconteceram devido aos acidentes, causados por falhas no software que controlava a máquina. Problemas deste tipo denotam a importância da utilização de um processo de desenvolvimento de software formal e, principalmente a utilização de alguma abordagem baseada em testes para aferição do sistema desenvolvido.

Atualmente há uma forte tendência de utilização de sistemas baseados na plataforma Web. As vantagens são muitas, desde a alta disponibilidade até a não necessidade de configuração máquina a máquina para instalação e configuração de sistemas. No entanto, diante dessa forte tendência e com a facilidade das linguagens de programação Web, está havendo um crescimento deste setor e, em sua grande maioria, sem a devida preocupação com a qualidade dos sistemas desenvolvidos.

A prática de teste manual de aplicações não garante a execução de todas as funcionalidades de um sistema. Sabe-se também que é impossível garantir que todos os defeitos de um sistema sejam eliminados, uma vez que os testes necessários para essa avaliação são normalmente em quantidade extremamente elevada, inviabilizando a sua aplicação de forma manual. O objetivo sempre é minimizar as falhas de um sistema e, para isso, torna-se imprescindível a utilização de um ambiente de testes automatizados, como o apresentado neste artigo.

Existem diversos tipos de testes e um deles é o teste funcional. Esse tipo de teste é baseado nas técnicas de caixa-preta, isso é, verificar o sistema e seus processos internos através de suas interfaces e da análise de suas saídas ou resultados.

Assim, a Selenium apresenta-se como uma ferramenta que possibilita essa interação com as interfaces de aplicações Web, para execução de testes funcionais definidos em seu IDE. Este artigo apresenta a ferramenta Selenium-IDE no contexto de desenvolvimento baseado em testes.

Configuração da ferramenta

A Selenium-IDE é uma ferramenta de testes funcionais para aplicações Web que implementa o JSFTR (JavaScript Functional Test Runner), que é um framework que executa na página a ser testada, a fim de automatizar essa tarefa.

A ferramenta se apresenta como uma extensão do Firefox e depende do navegador para funcionar. Também é disponibilizado o núcleo da Selenium para ser executado independentemente de plataforma e do Firefox e, nesse caso, não é disponibilizada uma interface para configuração e execução dos testes, somente o JSFTR.

Tendo o Firefox instalado, o primeiro passo é fazer download da Selenium-IDE. Após, basta executar o arquivo baixado e será iniciada a instalação da extensão no Firefox (baixe em no site oficial).

Depois de instalado como extensão, é disponibilizada no menu Ferramentas a opção Selenium IDE, como pode ser observado na Figura 1. Ao acionar essa opção, é visualizada a interface de configuração dos testes da Selenium-IDE, como apresentado na Figura 2.

Menu Ferramentas do Firefox
Figura 1. Menu Ferramentas do Firefox
Selenium-IDE
Figura 2. Selenium-IDE

Estudo de Caso

Buscando exemplificar o uso da ferramenta Selenium-IDE, é proposto um estudo de caso utilizando o ambiente de desenvolvimento do Visual Studio 2005. Ele define um aplicativo Web ASP .NET C# que faz uso de um servidor IIS (Internet Information Services).

Para isso é definido no Visual Studio 2005 um projeto Web com o nome de TesteFuncionalWeb (namespace TesteFuncionalWeb), onde é apresentada uma classe chamada Aluno, com os atributos matricula, nome, ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo