testim io tutorial speed up authoring
Neste tutorial prático, você aprenderá como construir testes estáveis em minutos usando a ferramenta de automação Testim e usar o processo de aprendizado de máquina para acelerar a criação, execução e manutenção de testes automatizados.
Quando ouvimos a frase 'Ferramenta de automação', as principais considerações que vêm à mente em relação aos nossos testes incluem:
pl sql perguntas da entrevista com 5 anos de experiência
- Autoria e Execução
- Estabilidade
- Reutilização
- Extensibilidade
- Manutenção
- Solução de problemas
- Comunicando
- Integração CI / CD
Existem muitas ferramentas no mercado que abordam um ou alguns dos fatores acima, mas não todos eles. É aqui que o Testim.io entra em cena.
Testim.io não é uma ferramenta, mas uma plataforma que inclui quase todos os fatores principais, como autoria e execução, manutenção, solução de problemas, relatórios, etc., de testes automatizados. Com a introdução ao conceito de localizadores dinâmicos, eles se concentram em mais alguns tipos de teste, como teste funcional, teste de ponta a ponta e teste de IU.
Ele aumenta a extensibilidade e a estabilidade de seus conjuntos de testes. E também dá às equipes e às organizações a flexibilidade de estender as funcionalidades da plataforma usando lógica de programação complexa com JavaScript e HTML.
Aqui está uma visão detalhada do Testim.io e como ele ajuda a superar alguns dos desafios que os clientes enfrentam durante a automação.
O que você aprenderá:
- Como esta ferramenta é diferente de outras ferramentas?
- Testim.io é uma plataforma e NÃO um registro nem uma ferramenta de reprodução
- Abordando os principais fatores
- Conclusão
- Leitura recomendada
Como esta ferramenta é diferente de outras ferramentas?
Para entender como o Testim se diferencia das outras ferramentas, vamos dar um passo atrás em como as ferramentas de automação evoluíram na última década.
Nos últimos 10 anos, várias ferramentas de fornecedores e ferramentas de código aberto tentaram resolver os vários problemas relacionados a testes automatizados. Mas, um grande problema que ninguém abordou até agora é o uso de IDs estáticos.
Por exemplo , Digamos que um desenvolvedor mude o nome do ID ou algum atributo de um elemento na página da web. Os testes automatizados são interrompidos imediatamente devido a essa mudança, pois ainda está se referindo ao nome do ID antigo. Isso leva a testes instáveis e os testadores precisam gastar muito tempo para mantê-los.
Eles introduziram o conceito de Localizadores dinâmicos . A Inteligência Artificial (IA) embaixo da plataforma em tempo real, analisa todos os objetos DOM de uma página e extrai os objetos e suas propriedades.
Finalmente, o AI decide a melhor estratégia de localização para localizar um elemento específico com base nesta análise.
Devido a isso, mesmo que um desenvolvedor altere o atributo de um elemento, o teste continua a ser executado e isso leva a testes mais estáveis. Como resultado disso, a criação e a execução de testes automatizados são muito mais rápidas e estáveis.
Testim.io é uma plataforma e NÃO um registro nem uma ferramenta de reprodução
Em primeiro lugar, não se trata de uma ferramenta, mas de uma plataforma.
Possui recursos robustos que não só ajudam a automatizar seus testes, mas também cuidam de outros aspectos importantes de seus testes, como executar seus testes localmente e na nuvem (sua grade privada ou grade de terceiros), integrando-se com CI / CD sistemas, capturando logs e screenshots de execuções de teste, fornecendo relatórios detalhados das execuções de teste com gráficos, estatísticas e outras informações relacionadas.
E, finalmente, tornando a captura e o relatório de bugs muito simples, integrando-se com as ferramentas de rastreamento de bugs amplamente utilizadas.
Em segundo lugar, dá às organizações e às equipes a flexibilidade de construir seus próprios invólucros em torno da plataforma usando lógica de programação complexa com JavaScript e HTML. Desta forma, qualquer pessoa pode estender a funcionalidade da plataforma.
Finalmente, a plataforma se alinha com o Paradigma Shift-Left onde os desenvolvedores e testadores podem começar a escrever os testes desde o início, trabalhando em diferentes ramos sem substituir as alterações uns dos outros. Também ajuda as equipes a colaborar e oferece flexibilidade para que qualquer pessoa escreva testes automatizados por meio de suas funcionalidades integradas.
Dessa forma, até mesmo um membro não técnico da equipe pode fazer contribuições valiosas para seus testes automatizados. A plataforma ajuda a incutir o conceito de que, os testes automatizados devem ser simples, eficazes, estáveis e colaborativos.
Abordando os principais fatores
Como o Testim aborda os principais fatores vitais para os testes automatizados?
Autoria e Execução
Os testes automatizados precisam ser fáceis de criar e executá-los em qualquer lugar e a qualquer hora.
O Testim ajuda a fazer isso das seguintes maneiras:
1) Criação de um teste
Criamos um novo teste clicando em “Criar Novo” ou “Novo Teste” .

2) Gravação e reprodução de um teste
Assim que clicarmos no 'Registro' botão, podemos registrar diferentes ações do usuário em nosso aplicativo.
Depois de registrar as diferentes ações, clique em 'Pare de gravar' botão para terminar de gravar nossos testes. Use o 'Toque' botão para reproduzir o teste gravado e o 'Salve ' botão para salvar os testes.



3) Validações e afirmações
Esta plataforma ajuda a fazer a validação de diferentes atributos de um elemento e APIs realmente simples.
Várias opções para usuários, como:
- Adicionar validações personalizadas usando JavaScript e HTML
- Validar a visibilidade do elemento
- Validar o texto do elemento
- Validação de nível de pixel
- Validação de nível de API

4) Capturas de tela
Enquanto cada teste é registrado, a plataforma tira uma captura de tela de todos os resultados de Aprovado e Reprovado de cada etapa. Como resultado, os usuários acham mais fácil solucionar os problemas e entender o que acontece por baixo do capô.
Por exemplo , Na captura de tela abaixo, notaremos que os atributos do “Selecione o destino” botão mudou, mas o teste ainda foi executado porque a ferramenta AI usado Localizadores Dinâmicos . Além disso, a funcionalidade do sistema não mudou, mas apenas o atributo de um elemento.
Também obtemos a captura de tela do que exatamente aconteceu durante a execução do teste, exibindo a imagem esperada (linha de base) e a imagem real.
(Observação:Clique na imagem abaixo para ampliá-la)

5) Feedback sobre cada etapa
O usuário também obtém o feedback sobre cada etapa em termos de aprovação ou reprovação dos testes, mostrando um 'Verde' ou “Ícone vermelho” na parte superior esquerda de cada etapa, conforme mostrado abaixo:

6) Testes de rotulagem
O Testim fornece o recurso para rotular cada teste que um usuário cria.
Existem 2 motivos pelos quais podemos querer rotular um teste:
- Ajuda a identificar o motivo pelo qual o teste foi criado em primeiro lugar.
- Ajuda a executar os testes com o mesmo rótulo de uma só vez por meio do recurso CLI.
A forma como criamos rótulos é clicando no 'Rótulo' botão e selecione um rótulo existente ou crie um novo.


7) Documentação do usuário
Eles fornecem aos usuários toda a documentação necessária para usar os diferentes recursos desta plataforma.
A maioria das respostas sobre o uso desta plataforma pode ser encontrada clicando no 'Educar' guia e visitando o site de documentação conforme mostrado abaixo:

Pelas razões acima, Testim.io ajuda a tornar a criação e execução de testes realmente rápida e simples. Em questão de segundos, um usuário pode gravar, reproduzir e salvar os testes.
Estabilidade
Testando usa Localizadores dinâmicos em vez de ids estáticos. Devido a isso, os testes são mais estáveis e quanto mais executamos os testes mais inteligente a IA se torna para garantir mais estabilidade aos testes automatizados.
Um usuário será capaz de ver a estratégia de localização diferente que sua IA usa para localizar um elemento no IDE, por meio do Painel de propriedades , para cada elemento com o qual interagimos por meio de nossos testes automatizados.


Como podemos notar, o AI analisa todos os objetos DOM, lista-os no Painel de Propriedades junto com as classificações de cada uma das estratégias de localização para aquele elemento específico. Dessa forma, mesmo se o atributo de um elemento mudar, o AI pode usar uma estratégia de localização diferente da lista já analisada de objetos DOM.
Assim, o usuário não precisa se preocupar com testes instáveis.
Reutilização
Uma das boas práticas para escrever testes automatizados é criar componentes reutilizáveis que podem ser usados em diferentes partes de nosso conjunto de testes.
Por que isso é importante?
Criar componentes reutilizáveis é importante porque:
- Ajuda a aumentar a legibilidade dos testes automatizados.
- Economiza esforço por não repetir o mesmo conjunto de etapas em diferentes partes dos testes.
- Quaisquer alterações na etapa reutilizável precisam ser feitas em apenas um lugar e se refletem em todos os testes, em diferentes projetos.
- Torna os testes automatizados mais extensíveis.
Testim ajuda a garantir a reutilização por “Agrupamento” e “Parametrização”.
1) Agrupamento
Qualquer número de etapas relacionadas pode ser agrupado em um componente reutilizável.
Por exemplo - O 'Conecte-se' cenário é uma das etapas mais comumente usadas em qualquer aplicativo. A forma como podemos criar uma etapa reutilizável de 'Login' seria selecionar as etapas que queremos agrupar e clicar em “Adicionar novo grupo” como mostrado abaixo:

2) Parametrização
Esta plataforma oferece a opção de testar a aplicação por meio de várias combinações de entrada via Parametrização.
Isso pode ser alcançado de várias maneiras.
Uma maneira de fazer isso é fornecer todos os parâmetros de entrada de que precisaríamos para testar o aplicativo na forma de um arquivo JSON na etapa de configuração (primeira etapa de nossos testes), conforme mostrado abaixo:

Extensibilidade
Esta ferramenta dá flexibilidade às organizações para estender as funcionalidades desta plataforma usando JavaScript e HTML. Desta forma, em qualquer funcionalidade que esta plataforma não suporte, o usuário pode escrever seu próprio código para construir uma estrutura de automação robusta
Por exemplo - Digamos que queremos validar o “Selecione o destino” botão de nossos exemplos anteriores.
A maneira de fazer isso seria.
- Clique em “Adicionar ação personalizada”.

- Dê um nome para a Nova Etapa e clique em 'Confirme'.


- Clique em “PARAMS” e selecione “HTML” para este exemplo.
- Adicione o código personalizado.

- A nova etapa com Código personalizado é adicionado à lista de etapas já existentes.

Manutenção
Um dos fatores mais importantes relacionados aos testes automatizados é “ Manutenção ”.
Muito esforço é gasto na manutenção dos testes do que na escrita dos testes reais. Isso leva ao desperdício de esforço e tempo valiosos dos recursos que poderiam ter gasto esse tempo testando o aplicativo real.
O Testim ajuda a minimizar o esforço necessário para manter os testes automatizados das seguintes maneiras:
1) Controle de versão
A qualquer momento, é importante ter os registros de quais alterações foram feitas em um teste específico. Dessa forma, sempre podemos voltar para a versão mais antiga de um teste, como e quando necessário. Esta plataforma fornece essa funcionalidade, mostrando todo o histórico de versão, indo para o painel Propriedades da etapa de configuração e clicando em “Ver revisões antigas” .

2) Ramificação
No ' Mudar para a esquerda do paradigma ”Em que o desenvolvimento e o teste devem começar em paralelo o mais cedo possível no ciclo de vida de desenvolvimento de software.
Tendo isso em mente, eles fornecem a funcionalidade para as equipes criarem branches separados para cada membro da equipe e trabalhar nos mesmos projetos e testes. Dessa forma, ninguém pode sobrescrever as mudanças dos outros membros da equipe e as equipes podem trabalhar na mesma base de código a qualquer momento.
Você só precisa selecionar 'Forquilha' para criar uma nova ramificação e você também pode alternar entre as ramificações existentes.

Os usuários têm a opção de agendar seus testes. Isso ajuda a executar os testes automaticamente em um determinado dia e hora, sem qualquer intervenção manual. Também podemos ser notificados por e-mail em caso de erros.

Solução de problemas
Como testadores, gastamos uma quantidade considerável de tempo para solucionar os problemas. Para ajudar na solução de problemas, esta plataforma oferece diferentes opções aos usuários para restringir o escopo do problema.
Essas opções incluem:
1) Capturas de tela
O recurso de captura de tela explicado na seção “Autoria e execução” ajuda os usuários a saber qual era a imagem de linha de base e qual é a imagem real encontrada.
2) Painel de Propriedades
O painel de propriedades ajuda a capturar as mensagens de erro e exibi-las ao usuário.
Por exemplo, Quando um elemento não está visível e o teste falha, obtemos a mensagem de erro abaixo no painel.

3) Registros de teste
Os logs são uma rica fonte de informações sobre o que aconteceu sob a IU. A ferramenta fornece registros de teste quando o usuário executa os testes em nossa grade ou em uma grade de terceiros. A opção pode ser encontrada no painel de propriedades da etapa de configuração.
4) Documentação
A Testim se esforçou muito para documentar a maioria dos recursos da ferramenta na Documentação do usuário que se encontra sob o 'Educar' aba.
Comunicando
Este é um dos aspectos mais importantes de seus testes para obter a visibilidade de quais testes foram executados, aprovados, reprovados, duração da execução, quais combinações de navegador e assim por diante.
Testim.io fornece 2 tipos de recurso de relatório:
1) Relatório de Suite e Execuções de Teste
Quando os usuários clicam na opção “Runs” no menu lateral, eles podem ver todos os conjuntos e testes com todos os detalhes necessários conforme mostrado abaixo. Isso ajuda a obter visibilidade nas execuções de teste e facilita a geração de relatórios.

2) Relatando Bugs
Gastamos uma quantidade considerável de tempo em um dia relatando bugs. Esta é uma das partes mais críticas e demoradas do teste.
O Testim.io ajuda a reduzir o tempo de relatório de bugs e aumentar a produtividade, fornecendo uma extensão do Chrome para capturar e relatar os bugs rapidamente. Podemos capturar imagens, vídeos do bug e gravar um teste automatizado real com esta extensão. Ele se integra com a maioria dos sistemas de rastreamento de bugs amplamente usados.
Após capturar o defeito e clicar em 'Publicar', ele preenche automaticamente todas as etapas necessárias na descrição do bug. Também adiciona a captura de tela, o vídeo e os testes automatizados com o defeito.

(Observação:Clique na imagem abaixo para ampliá-la)

Integração CI / CD
Esta ferramenta se integra com diferentes sistemas de CI / CD, como Jenkins, Travis CI, Circle CI e outras ferramentas de construção. Ele também se integra a grades de terceiros que hospedam sua própria nuvem privada para executar testes. Tudo isso é feito através da CLI (Command Line Interface) que disponibilizamos na plataforma.
Clicando no 'Configurações' ícone no menu lateral abre a CLI.
É pré-preenchido com os comandos que precisam para executar os testes em sistemas CI / CD, grades de terceiros ou suas grades. Só temos que clicar em 'Cópia de' e literalmente, cole o comando em qualquer ferramenta de construção ou grade que a organização esteja usando.

A CLI também aceita os outros parâmetros para executar testes específicos, para executar testes em paralelo, para substituir a URL base e muito mais funcionalidades.
=> Todos os parâmetros que podem ser usados estão listados aqui em este guia do usuário .
Conclusão
Resumindo, a plataforma Testim.io ajuda a superar alguns dos principais desafios da automação, conforme descrito nas seções acima. Com isso, você pode tornar a automação mais simples e estável.
Esta plataforma ajudará:
- Membros da equipe não técnica para se envolver na automação e escrever testes sólidos.
- Membros da equipe técnica usam lógica de programação complexa para estender as funcionalidades desta plataforma.
- A criação e execução de testes são super rápidas.
- Os testes são mais estáveis com o uso de “Localizadores Dinâmicos” .
No geral, é uma plataforma que auxilia em várias facetas da automação de teste e estão em processo de construção de mais funcionalidades para ajudar as equipes e organizações ágeis a colaborar com o lema da UMA EQUIPE e UM OBJETIVO.
=> Você pode explore mais sobre esta ferramenta aqui
Sinta-se à vontade para perguntar se você tem alguma dúvida e também compartilhar sua opinião na seção de comentários, pois adoraríamos saber quais desafios você enfrenta com a automação e como você os solucionou.
Leitura recomendada
- Como executar testes de Appium em grande escala em paralelo
- Integrar em seu IDE para executar seus testes Appium
- Crie testes de Appium para um aplicativo Android
- Executando seus testes de Appium em paralelo usando Appium Studio for Eclipse
- Criação de testes de épocas usando o epochs Studio for Eclipse
- Escrevendo testes de unidade com o Spock Framework
- Relatórios de Specflow: como gerar relatórios de teste e executar testes seletivos
- Implantação Java: Criação e execução de arquivo JAR Java
