O ATDD nada mais é que o teste aceitação. Aqui no post foi criado um teste de aceitação via código usando Eclipse IDE Galileu, sem integração com Testlink ou outros. Apenas usamos Selenium RC(com api’s server e client) e JUnit 4.
O Teste foi feito no Blog Cantinho do Agile - label Agile:
http://cantinhodoagile.blogspot.com/search/label/Agile/
Foram testados textos e um link no post: Checklist para definição de feito.
Api’s necessárias no Java Build Path do Eclipse IDE:
selenium-server.jar 1.0.3
selenium-java-client-driver-.jar 1.0.1
Jdk 6
JUnit 4.jar: Vem no Eclipse IDE Galileu.
Código do teste de aceitação no blog Cantinho do Agile – label Agile:
import junit.framework.TestCase;
import org.junit.Test;
import org.openqa.selenium.server.SeleniumServer;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public class CantinhodoAgileTest extends TestCase {
Selenium selenium;
SeleniumServer servidor;
public void setUp() throws Exception {
servidor = new SeleniumServer();
servidor.start();
selenium = new DefaultSelenium("localhost", 4444, "*firefox",
"http://cantinhodoagile.blogspot.com/search/label/Agile/");
selenium.start();
}
@Test
public void testChecklistDefinicaoFeito() throws Exception {
selenium.open("/");
assertTrue(selenium.isTextPresent("Checklist para definição de feito"));
selenium.click("link=Checklist para definição de feito");
assertTrue(selenium
.isTextPresent("Os dez itens do checklist para definição de feito são:"));
}
public void tearDown() throws Exception {
selenium.stop();
servidor.stop();
}
}
Note que servidor Selenium é iniciado e finalizado pelo código. Também temos a Classe Selenium(representada pelo objeto selenium) que é responsável pela realização das verificações junto ao JUnit.
No exemplo o navegador web é Firefox e a porta 4444.
Resultado do Teste de Aceitação:
Comecei quebrando o teste até fazer passar e logo após fui melhorando:
O teste foi apenas um simples exemplo de como fazer teste de aceitação no Eclipse IDE usando Selenium.
Porém recomendo uma integração da equipe de analise e projeto com QA para elaboração de planos de casos de testes. E uma integração do código de teste de aceitação com uma ferramenta de gerenciamento de caso de teste e execução.
Um bom exemplo seria integração do Selenium com Testlink. Dois excelentes artigos sobre integração de autoria de Elias Nogueira são:
Integração Selenium e Testlink
ou
Uma ferramenta de gerenciamento de caso de teste proporciona uma visualização amigável e de bom entendimento para o cliente do teste de aceitação. Por exemplo, com uso de relatório.
Ferramentas e Api’s necessários para executar o exemplo:
1)Selenium RC http://seleniumhq.org/download/
- Um servidor que executa automaticamente e mata o navegador e atua como um proxy HTTP para solicitações web a partir dele;
- Disponibiliza biblioteca cliente para a linguagem de programação usada, no caso do exemplo a biblioteca cliente é para java.
2)JUnit http://www.junit.org/
Obs.: É possível pegar uma versão mais avançada do JUnit.
3)Java JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
Obs.: É possível pegar uma versão mais avançada do JDK.
4)Eclipse IDE http://www.eclipse.org/downloads/
Obs.: É possível pegar uma versão mais avançada do Eclipse IDE.
Fonte:
http://seleniumhq.org/projects/remote-control/
http://sembugs.blogspot.com/2010/10/integracao-selenium-e-testlink.html
Webinar O ciclo ATDD + TDD by Scrum Amazônia, Paulo Igor e Heitor Roriz:
http://www.slideshare.net/Pigor/palestra-tddcompleta-5460534
Bye see you next post