wiki:ExpressoTestCenter/ic

Version 4 (modified by luiz-fernando, 12 years ago) (diff)

--

Objetivo

Documentar os passos necessários para a criação de um ambiente com suporte a integração contínua para o projeto Expresso.

Esse documento não tem por objetivo ensinar a instalação e configuração do VirtualBox e/ou do Ubuntu. O público alvo são pessoas que já possuem um mínimo de conhecimento do ambiente Linux para poder executar a configuração do servidor de integração contínua.

Softwares Utilizados

  • Oracle VirtualBox 4.0.6 r71344: usando para criar um servidor virtual. Claro que essa documentação pode também ser aplicada em um servidor real. Usei uma máquina virtual pois eu não tinha um servidor real a minha disposição.
  • Ubuntu 11.04: usei o Ubuntu apenas por uma questão de facilidade, pode ser tranquilamente trocado por um Debian.
  • Testlink 1.9.3
  • Apache Tomcat 7.0.22
  • Apache Maven 3.0.3
  • Jenkins 1.434: alguns plugins do Jenkins foram utilizados. Nessa documentação eu falo rapidamente sobre a configuração e instalação desses plugins.

Passos

Configuração do Ubuntu

Após a instalação padrão do Ubuntu, alguns pacotes adicionais são necessários. Vamos estar instalando o servidor Web Apache com suporte a PHP. Também será instalado o banco de dados PostgreSQL. Poderia ser escolhido também o MySQL. Para o Jenkins é necessário termos o Java. Nesse caso escolhi usar o openJDK (sim, precisa do JDK pois o código vai ser compilado diretamente no servidor antes da execução dos testes). Pode ser trocado pelo da Sun (Oracle). Também precisamos do subversion para poder baixar os fontes das classes automatizadas do svn do expressolivre.

Para instalar os pacotes necessários basta executar o comando abaixo:

sudo apt-get install apache2 ssh unzip php5 postgresql php5-pgsql php5-gd php5-ldap slapd subversion libapache2-svn python-genshi python-setuptools python-subversion python-psycopg2 libapache2-mod-python libapache2-mod-wsgi vim openjdk-6-jdk

Após a instalação dos pacotes, é necessário mudar a senha padrão do postgres. Para isso temos que entrar como root e depois como usuário postgres:

sudo su -
passwd postgres
su postgres
psql
alter user postgres password 'postgres';
\q
exit
exit

Baixar o Testlink de  http://www.teamst.org/. Descompactar o arquivo testlink-1.9.3.tar.gz. Será gerado um diretório testlink-1.9.3. Vamos renomear esse diretório para testlink e mover ele para dentro da pasta /var/www do Apache e após isso mudar suas permissões.

mv testlink-1.9.3 testlink
sudo mv testlink /var/www
sudo chmod 777 -R /var/www/testlink/

Temos que ativar o XMLRPC e também os testes automatizados. Essas opções vem por padrão desabilitados nessa versão do Testlink. Para isso, basta editar o arquivo /var/www/testlink/config.inc.php mudando os valores das seguintes propriedades:

$tlCfg->api->enabled = TRUE;
$tlCfg->exec_cfg->enable_test_automation = ENABLED;

Após essas mudanças vamos reiniciar o apache:

sudo apachectl restart

Agora podemos proceder com a instalação do Testlink. Toda a instalação é feita através da interface Web. Basta abrir o navegador e seguir os passos abaixo:

  1.  http://localhost/testlink (substituir localhost pelo servidor do Testlink)
  2. Selecionar "New instalation"
  3. Aceitar a licença de uso
  4. Verificação da instalação dos pré-requisitos (deve estar tudo ok, apenas alguns warnings que podemos ignorar)
  5. Preencher formulário para escolha do BD com os seguintes dados:
    1. Type: Postgres
    2. Host: localhost
    3. Database name: testlinkdb
    4. Table prefix: <deixar em branco>
    5. Database admin login: postgres
    6. Database admin password: postgres (deve ser a mesma senha que usamos anteriormente na configuração do Ubuntu)
    7. Testlink db login: testlink
    8. Testlink db password: testlink
  6. Verificação da instalação - deve estar tudo OK nesse ponto
    1.  http://localhost/testlink e logar com admin/admin

Logo após o login, será necessário a criação de um novo projeto. Proceder conforme a tela abaixo:

TELA!

Clicar no link "Project". Fomos direcionado para a página principal do Testlink. Vide tela abaixo:

TELA!

Vamos criar um novo plano de testes. Para isso basta clicar em "Test Plan Management". Preencher os campos conforme tela abaixo:

TELA!

Agora temos que criar um campo personalizado que será utilizado pelo Jenkins. Esse campo deverá conter o nome qualificado da classe java que implementa o teste automatizado. Mais sobre isso na seção do Jenkins. Para criar um campo personalizado no Testlink devemos voltar a tela principal clicando na opção "Define Custom Fields". Criar o campo conforme tela abaixo:

TELA!

Voltando para a tela principal devemos avisar ao Testlink que queremos utilizar esse campo personalizado na especificação dos testes. Para isso clicar na opção: "Assign Custom Fields". Veja tela:

TELA!

Agora precisamos criar uma chave para a comunicação via XMLRPC. Para isso devemos clicar em "My settings" na tela principal. Clicar no botão "Generate a new key" na seção "API interface". Guarde essa chave pois será utilizada na configuração do plugin do Testlink lá no Jenkins.

Finalmente, devemos criar uma caso de teste automatizado. Para isso clicamos em "Test Specification" na tela principal:

TELA

Selecionar o projeto "Expresso" e criar uma suíte de teste:

TELA

A suíte vai ser criada logo abaixo do projeto Expresso. Selecionar a suíte para podermos criar os casos de teste. Dar um nome qualquer para o caso de teste. O mais importante nessa tela é que devemos marcar o teste como automatizado e informar a classe java que implementa nosso caso de teste. Veja o exemplo:

TELA

Nesse exemplo vamos estar utilizando o classe que automatiza o envio de emails. O código das classes se encontra em  http://svn.expressolivre.org/devel/testlink/automation2.0/.

Temos que associar esse caso de teste ao nosso plano de teste. Para isso basta selecionar a opção "Add / Remove Test Cases" na tela principal:

TELA

Selecionar a suite de teste criada para depois marcar o caso de teste. Basta clicar em "Add selected" para associar o caso de teste ao plano.

TELA

O Testlink está pronto!

Instalação e Configuração do Jenkins

Baixar o Tomcat de  http://tomcat.apache.org/. A instalação é bem trivial, basta descompactar o arquivo em qualquer diretório. Eu criei um diretório Apps dentro do meu home folder.

Baixar o Maven de  http://maven.apache.org/. A instalação é bem fácil também, basta descompactar o arquivo em qualquer diretório. No meu caso coloquei dentro do Apps também.

Baixar o Jenkins de  http://jenkins-ci.org/. O arquivo baixado é um .WAR e este deve ser colocado dentro da pasta webapps da instalação do Tomcat. Esse arquivo será descompactado automaticamente ao iniciar o Tomcat.

Referências

Attachments