• Nenhum resultado encontrado

Automação de uma Suíte de Testes

Para a elaboração desse estudo de caso foram criados 16 Casos de Teste (Test Cases

- TCs) de voz baseados em 16 comandos de voz suportados pelo aplicativo Google Voice Search [45]. Os casos de testes foram automatizados usando o framework FREVoz por um desenvolvedor em 4 horas de trabalho, tendo em vista que se trata de casos de teste simples, com poucas interações, o desenvolvimento dos scripts foi de baixa complexidade.

O estudo de caso compreende a execução dos 16 casos de teste em 6 idiomas diferentes (de-DE, Alemão da Alemanha, en-US - Inglês dos Estados Unidos, es-US - Espanhol dos Estados Unidos, fr-CA - Francês do Canadá, it-IT - Italiano da Itália, pt-BR - Português do Brasil) de maneira manual e automática.

A realização de testes incluindo a execução de testes de voz compreende algumas atividades básicas que exigem tempo do testador, como por exemplo a preparação do dispositivo onde os testes serão executados. Essa preparação é o que no universo de teste de software chamamos de pré condições do teste, composta por realizar o download do

Figura 4.9 – Execução com falha do Código3.5.

Fonte: Elaborado pelo autor.

software e instalação no dispositivo, configurar conexões de internet, contas de e-mail, inserção de contatos eSIM cards, dentre outras configurações. Esse processo custa em torno de 1 hora e é aplicável para ambos os tipos de execução, seja ela manual ou automática. Cronometramos os tempos gastos pela execução manual e automática de 16 casos de teste para 6 idiomas. A execução manual foi realizada por um testador experiente no contexto de testes de voz. Esse testador é brasileiro e fluente em inglês, nos demais idiomas ele tem a liberdade para utilizar ferramentas que o auxiliam a pronunciar os comandos, por exemplo ferramentas de tradução como oGoogle Translate, ou ferramentas de conversão de texto para voz,Text-to-Speech (TTS) [44], bem como também lhe é provido uma biblioteca de áudios que contém todos os comandos necessários para a execução dos casos de teste. A execução automática usando FREVoz foi coordenada pelo mesmo testador, onde ele só precisou montar a suíte e disparar a execução. A Tabela 9 ilustra os tempos gastos entre essas duas execuções.

Como apresentado na Tabela9, o tempo médio em minutos para executar os 16 casos de testes nos 6 idiomas resultou em:

Tabela 9 – Comparação entre o tempo gasto da execução manual e automática

em minutos.

Idioma Manual FREVoz

de-DE 36:00 04:48 en-US 19:22 05:55 es-US 19:49 04:48 fr-CA 23:00 04:39 it-IT 18:21 04:44 pt-BR 10:32 05:46 Total 02:07:04 00:31:06

Fonte: Elaborado pelo autor.

• Execução manual: 00:21:11 por idioma. • Execução automática: 00:05:11 por idioma.

Durante a execução manual o testador é capaz de analisar o que está acontecendo na aplicação, observando se a mesma se comporta como desejado. No contexto de testes de voz uma das características que deve ser analisada é o readout do aplicativo de voz, ou seja, as respostas auditivas que a aplicação reproduz ao ser exercitada.

Essa análise é uma das limitações existentes no FREVoz, uma vez que ele não é capaz de realizar essa validação, fazendo-se necessário a intervenção humana após o término da execução para ouvir os casos de testes que possuem readout (geralmente marcados explicitamente com o resultado Indeterminated). Diante disso, é necessário adicionar o tempo gasto pelo testador para escutar as gravações de readout que aconteceram durante a execução, complementando assim o tempo gasto pela execução automática por parte de FREVoz.

Dessa forma o cálculo do tempo gasto na execução automática obedece a seguinte equação:

Execução automática = Tempo da execução em min + (n TCs com readout ∗ 0,5 min)

Supondo que nesta suíte possa existir cenários em que 25% e 50% dos casos de teste contém readout e que cada audição custa em média 0,5 minutos, temos:

• Suíte com 25% de readout:

Tempo total automático = 05:11 + (4 TCs ∗ 0,5 min)

• Suíte com 50% de readout:

Tempo total automático = 05:11 + (8 TCs ∗ 0,5 min)

= 09:11 min

Ao término da execução seja manual ou automática o testador gasta um tempo para analisar os resultados e reportar possíveis defeitos encontrados durante a execução. Em seguida, é preciso enviar os resultados consolidados sobre a execução. Essa etapa dura em média 1 hora.

Assim, a execução de testes de voz obedece a seguinte equação:

Tempo total automático = 01:00:00 (Etapa de configuração) +

00:05:11 (Etapa de execução automática) +

00:02:00 ou 00:04:00 (Etapa de análise de readout) + 01:00:00 (Etapa de reportar falhas e envio de relatório) = 02:07:11 ou 02:09:11

Diferentemente, na execução manual a análise do readout acontece durante a execução dos casos de testes, tendo assim uma etapa a menos, como apresentado na equação:

Tempo total manual = 01:00:00 (Etapa de configuração) +

00:21:11 (Etapa de execução manual) +

01:00:00 (Etapa de reportar falhas e envio de relatório) = 02:21:11

Até o momento calculamos o tempo médio que seria gasto para executar apenas 16 casos de testes a partir das medições de tempo para 6 idiomas apresentadas na Tabela 9. Iremos utilizar os valores médios das execuções automáticas e manuais para calcularmos o tempo total gasto para executar a mesma suíte para os 6 idiomas. Sendo assim, a suíte será composta por 96 execuções (16 TCs x 6 idiomas), como apresentado a seguir:

Cenário 1: Execução automática da suíte contendo 25% de análise de readout: Tempo total automático = 01:00:00 (Etapa de configuração) +

00:05:11 * 6 (Etapa de execução automática) + 00:00:30 * 24(Etapa de análise de readout) +

01:00:00 (Etapa de reportar falhas e envio de relatório) = 01:00:00 + 00:31:06 + 00:12:00 + 01:00:00

= 02:43:06

Cenário 2: Execução automática da suíte contendo 50% de análise de readout: Tempo total automático = 01:00:00 (Etapa de configuração) +

00:05:11 * 6 (Etapa de execução automática) + 00:00:30 * 48 (Etapa de análise dereadout) +

01:00:00 (Etapa de reportar falhas e envio de relatório) = 01:00:00 + 00:31:06 + 00:24:00 + 01:00:00

= 02:55:06

Cenário 3: Execução manual da suíte:

Tempo total manual = 01:00:00 (Etapa de configuração) +

00:21:11 * 6 (Etapa de execução manual) +

01:00:00 (Etapa de reportar falhas e envio de relatório) = 01:00:00 + 02:11:06 + 01:00:00

= 04:11:06

Dessa forma percebe-se que o tempo da execução automática é inferior ao manual nos dois cenários (50% e 25% de readout).

Assumindo que foi gasto 4 horas para automatizar os 16 casos de testes contidos nessa suíte e que ela seja executada 10 vezes por um período de 3 meses, temos que o custo adicional do desenvolvimento desses scripts automáticos se diluiria para 23 minutos a mais por execução automática (o que ainda dá muita vantagem em comparação com a execução manual).

Documentos relacionados