Proposta de processo e arquitetura técnica do projeto de testes automatizados visando a total intercambialidade dos cenários e scripts de testes em diversos clientes através de apenas alteração de parâmetros.
Ferramentas utilizadas: maven, selenium webdriver, testneg, selenium grid, testng report, jenkins, osx.
2. Rastreabilidade de Casos de teste ao UC no EA
Estamos em processo de definição, é uma necessidade
para podemos saber quais testes devem ser alterados e
reaplicados em caso de mudança do Caso de Uso, Regra de
Negócio, Requisitos Funcionais, ou seja, algo que gere
impacto na aplicação.
3. Arquitetura do projeto (Projeto Integrado)
+Todos os clientes em um único projeto
+Reusabilidade do código fonte e dados da planilha
-Projeto grande -Alto acoplamento -Código fonte do teste distribuído
9. Rodar testes automatizados
1- Baixa o Jboss da VM.
2- Move os arquivos de EAR do 'Server66' para
'ServerTestesAutomatizadosVMJboss‘ (via SSH).
3 - Verifica qual a versão do banco deve ser utilizada para
aquela versão de aplicação
(jbossserverclienteconfversaoBD-config.txt).
4 - Verifica qual a versão atual do banco atual (tabela de log
do liquibase no BD).
5 - Compara a versão do banco no config com o status atual
do banco.
IF(vbanco < vbancoapp) Atualiza o BD até vbancoapp
IF(vbanco > vbancoapp) Destrói o banco e constrói até
vbancoapp ou loga erro e envia e-mail.
6 - IF(vbanco = vbancoapp) Sobe o Jboss da VM.
7 - Verifica se o Selenium Grid não está no ar
IF(!Instancia Selenium_Grid.exits) Start Selenium_Grid.
8 - Dispara a Suíte de Testes pelo Selenium Grid (roda todos
os testes ao mesmo tempo em browser diferentes).
9 - Final de testes... publica resultado.
10 - Resultado tem erros? SIM-> envia e-mail, NÂO->não faz
nada.
10. Report dos testes automatizados
ReportNG
TestNG-XSLT
Pode-se aferir diariamente a evolução do projeto de testes automatizados.
16. Como fica os testes automatizados se tivermos
uma correção para a versão que já está em
produção?
V 05.04.00 - Produção
V 05.05.00 - Homologação
V 05.06.00 - Desenvolvimento
Cliente XYZ
Exemplo:
18. Máquina que possa trabalhar com:
- 3 bancos ao mesmo (SQL Server, Oracle e DB2);
- Jenkins;
- Serviço SSH;
-Threads de Selenium Server no ar (x<=15 ao mesmo tempo).
Necessidade de Hardware
Necessidade de recursos (Pessoas) com
alocação para as tarefas:
- Implementar testes legado;
- Finalizar ambientes e configurações.