Há alguns anos a utilização de testes em softwares vem aumentando. Aos poucos, as empresas tem incluído essa etapa em seus processos de desenvolvimento de software. Devido a isso, a curiosidade nos instigou a conhecer melhor como funcionam essas práticas em um software que já está em produção. Como existem diversas ferramentas de testes, escolhemos estudar e expor nesse artigo apenas uma ferramenta completa e bastante utilizada atualmente.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Casos de teste funcional utilizando o testcomplete
1. Casos de teste funcional utilizando o Testcomplete
Roger Ritter1, Guilherme Daronch Taufer², Leonardo Tatsch Correa³
Instituto de Ciências Exatas e Geociências – Universidade de Passo Fundo (UPF)
Caixa Postal 611 – 99.052-900 – Passo Fundo – RS – Brasil
rogerritter@upf.br¹, 110532@upf.br², 115905@upf.br
Abstract. Few years ago the use of software testing is increasing. Gradually, companies have
included this step in their software development processes. Because of this, the curiosity
instigate us to understand how these practices in a software that is already in production. As
there are various testing tools, we chose to study and expose this article only a complete tool
and widely used today.
Resumo. Há alguns anos a utilização de testes em softwares vem aumentando. Aos poucos, as
empresas tem incluído essa etapa em seus processos de desenvolvimento de software. Devido a
isso, a curiosidade nos instigou a conhecer melhor como funcionam essas práticas em um
software que já está em produção. Como existem diversas ferramentas de testes, escolhemos
estudar e expor nesse artigo apenas uma ferramenta completa e bastante utilizada atualmente.
1. Introdução
Durante o decorrer do artigo serão mostradas as formas de como foram definidas as
etapas de um processo de desenvolvimento de testes, algo de grande importância para quem
trabalha na área de desenvolvimento de software. Sabe-se que não é uma prática muito comum
em nossa região, porém é algo de grande importância e que traz resultados melhores no final do
desenvolvimento de uma aplicação.
2. A ferramenta
Dentre muitas ferramentas disponíveis no mercardo, optamos pelo TestComplete, que em
sua versão licenciada é uma ferramenta com muitas funcionalidades. Para esse teste foi utilizada
a versão de demonstração, disponível no site do fabricante, com direitos de uso por trinta dias
para testes.
O TestComplete é uma ferramenta de testes automatizados, desenvolvida pela SmartBear
Software. Este programa é usado para testes de diferentes tipos de aplicações como: aplicações
para Web, Windows, WPF, HTML5, Flash, Flex, Silverlight, .NET e aplicações Java. Além
disso, o TestComplete oferece recursos para realização de testes de desempenho para aplicações
Web e testes funcionais de Web Services.
Comparado aos seus principais concorrentes, o TestComplete é uma ferramenta de
automação de testes funcionais de baixo custo, pois oferece o mesmo conjunto de
funcionalidades que outros softwares de teste com um custo menor. Devido a isso, muitas
2. empresas, inclusive as de grande porte estão migrando e adquirindo essa ferramenta, tendo em
vista o custo mais baixo e a facilidade de trabalhar com ela.
3. O programa
A Calculadora do Windows é um programa desenvolvido pela Microsoft. Por padrão,
este vem dentro do sistema operacional Windows. A calculadora simula uma calculadora digital,
na qual existem quatro sistemas de cálculos: o Padrão, que se pode adicionar, subtrair, dividir,
multiplicar, etc. O sistema para cálculos científicos, que simula uma calculadora muito mais
completa e detalhada, com opções hexadecimal, decimal, octal, binário em Graus, radianos ou
grados, e também oferece os recursos avançados de uma calculadora de programação e
estatística. Entre estas funcionalidades, também é possível converter valores de uma unidade de
medida para outra, calcular datas e fazer calculo de economia de combustível ou aluguel.
4. Testes
Como o foco do trabalho desenvolvido é a definição dos processos de testes de um
software, partimos do principio que os requisitos já haviam sido elicitados em uma etapa anterior
de todo o processo de desenvolvimento do software. Durante o processo, foram definidas as
etapas básicas de um processo de testes:
● Projetar os casos de testes
● Casos de testes
● Preparar dados de testes
● Dados de testes
● Executar a ferramenta com os dados de teste
● Resultados de teste
● Comparar os resultados para os casos de teste
4.1. Projetar os casos de testes
Nesta etapa foi definido qual seria o programa alvo de nossos testes. Após uma breve
discussão, foi optado por um programa bastante utilizado pelos usuários do sistema operacional
Windows: a calculadora padrão. Em seguida, foram avaliadas algumas ferramentas que poderiam
ser utilizadas para o desenvolvimento dos testes. Foi optado por utilizar a ferramenta da
SmartBear, o TestComplete, pelo fato de existir uma versão trial para experimentação e também
porque já se tinha um conhecimento básico do funcionamento dessa ferramenta.
3. Figura 1. Projeto dos casos de teste
Em um segundo instante dentro da fase de projeto, foi desenvolvido o diagrama de caso
de uso, onde se descreve a funcionalidade proposta para testes. Na figura 2 está ilustrado a
sequência de eventos de um ator que usa o sistema para completar o processo. Esse diagrama
representa a interação entre um usuário qualquer, podendo ser humano ou outro software, e o
sistema.
Figura 2. Diagrama de caso de uso
4.2. Casos de testes
Após o final do projeto, foram definidos os casos de testes. Abaixo é possível observar os
três casos de testes desenvolvidos, baseados em três operações matemáticas básicas que a
calculadora dispõe:
● TC01 - Efetuar soma
● TC02 - Efetuar Multiplicação
● TC03 - Efetuar Subtração
4. 4.3. Preparo dos dados
Nesta etapa foram discutidos e pesquisados quais seriam os dados ideais para se aplicar
os testes. De forma aleatória, foram escolhidas operações matemáticas entre números inteiros
positivos, números inteiros negativos, números decimais negativos e números decimais
positivos.
Figura 3. Preparação dos dados de teste
Após a definição foram desenvolvidos os scripts de execução dentro da ferramenta
TestComplete. Foram criados os três casos de testes projetados e dentro de cada caso foram
implementados seis processos para serem executados. Com a opção “record” da ferramenta, foi
possível gravar passo a passo o que deveria ser feito. Gravamos o procedimento de abrir a
calculadora do Windows, escolher os números e a operação matemática a ser utilizada e ao
finalizar, o TestComplete gerou um script de execução automática de todos os passos feitos.
Figura 4. Casos de testes implementados na ferramenta TestComplete.
5. 4.4. Dados de teste
Abaixo encontram-se os três casos de testes definidos juntamente com as operações
matemáticas e os resultados esperados:
Tabela 1. TC01 - Soma.
Tabela 2. TC02 - Multiplicação.
Tabela 3. TC03 - Subtração.
4.5. Execução dos testes
Nesta fase foram executados os scripts desenvolvidos na ferramenta. Como mostra a
figura 5, o TestComplete abre a aplicação e processa um por um os casos de testes configurados.
Após, aproximadamente 5 minutos, os testes são finalizados gerando os resultados.
6. Figura 5. Executar programa com dados de teste
4.6. Resultados dos testes
Antes de executar os scripts de testes, foram feitos ajustes manuais no código para que a
própria ferramenta fizesse a comparação dos resultados finais e gerasse um relatório completo
informando quais casos tiveram resultados positivos e quais tiveram resultados negativos.
Figura 6. Resultado final dos testes
7. Como mostra a figura 6, um relatório detalhado é gerado pelo TestComplete indicando o
resultado dos testes. É possível observar que o gráfico modelo pizza informa a porcentagem de
erros, atenções e sucesso na execução.
5. Conclusões
A realização desse trabalho nos ajudou conhecer melhor os processos básicos de
implementação de testes. Antes de desenvolver esse estudo os conceitos de testes eram muito
vagos, jamais imaginando que essa etapa de desenvolvimento também precisa ter um bom
planejamento desde a elicitação dos requisitos e não apenas ser lembrado somente quando o
software já está em fase de acabamento. A qualidade de um software está diretamente ligada ao
modo como são praticadas as fases de seu desenvolvimento. Quando se planeja todos os
processos desde o início, a chance de ter ao final um produto de qualidade é muito maior que
quando não há um bom planejamento. Mas fica claro que mesmo tendo uma definição correta
das etapas a serem seguidas, não é garantido que terá um produto de qualidade. Outro
aprendizado importante adquirido ao desenvolver esse trabalho foi o uso da ferramenta, sabendo
também que existem diversas outras disponíveis no mercado, com diferentes finalidades.
6. Referências
TESTCOMPLETE. Ferramenta de testes de software, disponível em:
<http://smartbear.com/products/qa-tools/automated-testing-tools>
Acesso em: 26 set. 2013.
CALCULADORA. Calculadora padrão do Windows 7. Disponível no próprio sistema
operacional, maiores informações em: <http://windows.microsoft.com/enus/windows7/products/features/calculator>
Acesso em: 26 set. 2013.