types automation testing
Aprenda os diferentes tipos de teste de automação com alguns conceitos errôneos sobre a automação de teste:
Nesta segunda parte de série de tutoriais de automação de teste , Descreverei brevemente os tipos de testes automatizados e, em seguida, o mais importante, eliminarei alguns conceitos errôneos sobre a automação de testes.
O que é teste de automação?
O teste de automação pode ser definido como uma maneira de executar um conjunto de testes repetidamente sem ter que executá-los manualmente. A introdução de testes de automação em sua estratégia de teste é uma maneira de economizar tempo e dinheiro.
O que você aprenderá:
Tipos de teste de automação
Tipos de testes de automação definem quais tipos de suítes de teste podem ser automatizados. Muitos testadores confundem este tópico com os tipos de estruturas de automação que definem como você projetará seu conjunto de testes em um pacote de automação que pode ser executado convenientemente.
Neste artigo, daremos uma olhada nos tipos de teste de automação e, no final, daremos uma breve olhada nas estruturas de automação.

Vamos entender as classificações acima em detalhes:
Automação com base no tipo de teste
Automação de testes funcionais:
Os testes funcionais são escritos para testar a lógica de negócios por trás de um aplicativo. Automatizar isso significa escrever scripts para validar a lógica de negócios e a funcionalidade esperada do aplicativo.
Automação de testes não funcionais:
Os testes não funcionais definem os requisitos não comerciais do aplicativo. Esses são os requisitos relacionados a desempenho, segurança, bancos de dados, etc. Esses requisitos podem permanecer constantes ou podem ser escalados de acordo com o tamanho do software.
Automação baseada na fase de teste
Automação de testes de unidade:
Esses testes são executados durante a própria fase de desenvolvimento, de preferência pelo desenvolvedor após a conclusão do desenvolvimento e antes de entregar o sistema aos testadores para teste.
Automação de testes de API:
Os testes de API são executados durante a fase de integração. Eles podem ser executados pela equipe de desenvolvimento ou teste e podem ser executados antes ou depois que a camada de IU é construída para o aplicativo. Esses testes têm como objetivo o teste com base na solicitação e na resposta na qual o aplicativo foi criado.
Automação de testes baseados em IU:
Os testes baseados em IU são executados durante a fase de execução de teste. Eles são executados especificamente pelos testadores e são executados apenas uma vez antes que a IU do aplicativo seja entregue a eles. Eles testam a funcionalidade e a lógica de negócios do aplicativo a partir do front-end do aplicativo.
Automação baseada no tipo de testes
Testes de unidade:
qual é o melhor adblock para cromo
Testes de unidade são os testes que são criados para testar o código de um aplicativo e geralmente são integrados ao próprio código. Eles têm como alvo os padrões de codificação, por exemplo, como os métodos e funções são escritos.
Esses testes são mais frequentemente escritos pelos próprios desenvolvedores, no entanto, no mundo de hoje, os testadores de automação também podem ser solicitados a escrevê-los.
Executar esses testes e não obter erros deles significa que seu código será compilado e executado sem problemas de código. Esses testes geralmente não visam os aspectos funcionais do aplicativo e, como visam o código, é mais apropriado automatizá-los para que possam ser executados como e quando exigido pelo desenvolvedor.
Testes de fumaça:
O teste de fumaça é um famoso teste realizado no ciclo de vida do teste. Esses são testes pós-construção, eles são executados imediatamente após qualquer construção ser fornecida fora do aplicativo para garantir que o aplicativo ainda esteja funcionando após a construção ser concluída.
Este é um pequeno conjunto de testes e é algo que será executado várias vezes e, portanto, faz sentido automatizá-lo. Esses testes geralmente serão de natureza funcional e, dependendo do tipo de aplicativo, uma ferramenta pode ser escolhida para eles.
Testes de API:
O teste de API tornou-se muito famoso nos últimos anos. Os aplicativos construídos na arquitetura da API podem realizar esse teste.
No teste de API, os testadores validam a camada de negócios do aplicativo verificando as combinações de solicitação-resposta para as várias APIs nas quais o aplicativo é construído. Os testes de API também podem ser feitos como parte dos testes de integração abaixo.
Testes de integração:
Teste de integração, como o próprio nome sugere, significa testar o aplicativo integrando todos os módulos e verificando a funcionalidade do aplicativo.
O teste de integração pode ser feito por meio de teste de API ou por meio da camada de IU do aplicativo.
Testes de IU:
Os testes de IU são feitos a partir da camada de IU ou do frontend do aplicativo. Eles podem ter como objetivo testar a funcionalidade ou simplesmente testar os elementos de interface do usuário de um aplicativo.
Automatizar a IU para testar a funcionalidade é uma prática comum. No entanto, automatizar os recursos da GUI é uma das formas de automação mais complicadas.
Testes de regressão:
Um dos conjuntos de testes mais comumente automatizados é o conjunto de testes de regressão. Regressão, como você já deve saber, é o teste que é feito no final do teste de um novo módulo para garantir que nenhum dos módulos existentes foi afetado por ele.
Ele é repetido após cada nova iteração de teste e os principais casos de teste permanecem fixos, geralmente com algumas novas adições após uma nova iteração. Como ele é executado com frequência, quase todas as equipes de teste tentam automatizar este pacote.
Automação como integração contínua:
A integração contínua pode estar novamente em execução nos próprios testes de regressão automatizados; no entanto, ao alcançar a CI, habilitamos a regressão ou o conjunto de testes identificado para ser executado sempre que uma nova implantação é feita.
Testes de segurança:
O teste de segurança pode ser tanto funcional quanto não funcional, que envolve testar o aplicativo em busca de vulnerabilidades. Os testes funcionais irão compor os testes relacionados à autorização, etc., enquanto os requisitos não funcionais podem testar a injeção de SQL, scripts entre sites, etc.
Testes de desempenho e controle de qualidade:
Os testes de desempenho são testes não funcionais que visam os requisitos como teste de carga, estresse, escalabilidade do aplicativo.
Testes de aptidão:
Os testes de aceitação novamente se enquadram em testes funcionais que geralmente são feitos para garantir se os critérios de aceitação fornecidos pelo cliente foram cumpridos.
Até agora, descrevemos o tipo de testes que podem ser automatizados e várias classificações dos mesmos, todas as classificações eventualmente levarão aos mesmos resultados finais de um conjunto de testes sendo automatizado. Como dissemos antes, é necessário um pouco de compreensão sobre como eles são diferentes dos frameworks.
Depois de identificar os testes que deseja automatizar a partir da classificação acima, você precisará projetar sua lógica de forma a executar esses testes sem problemas, sem muita intervenção manual. Este projeto de uma suíte de teste manual em uma suíte de teste automatizada é onde as estruturas entram.
Agora vamos explorar os 3 principais tipos de automação de teste
- Teste de Unidade
- Teste de API
- Teste de GUI
# 1) Testes de Unidade Automatizados
Testes de unidade automatizados são escritos para testar o nível de código. Bugs são identificados nas funções, métodos e rotinas escritas pelos desenvolvedores.
Algumas empresas pedem aos desenvolvedores que façam os próprios testes de unidade e algumas contratam recursos especializados de automação de teste. Esses recursos têm acesso ao código-fonte e escrevem testes de unidade para quebrar o código de produção.
Devido à presença de testes de unidade, sempre que o código é compilado, todos os testes de unidade são executados e nos informam o resultado que se todas as funcionalidades estão funcionando. Se algum teste de unidade falhar, isso significa que agora há um bug presente no código de produção.
Algumas das ferramentas mais populares presentes no mercado incluem NUnit e JUnit . A Microsoft também fornece sua própria estrutura para teste de unidade chamada MSTest . Visite os sites dessas ferramentas e eles fornecerão mais exemplos e tutoriais sobre como escrever testes de unidade.
#dois) Testes automatizados de serviço da Web / API
Uma Interface de Programação de Aplicativo (API) possibilita que o software converse com outros aplicativos de software. Assim como qualquer outro software, as APIs precisam ser testadas. Nesse tipo de teste, a GUI geralmente não está envolvida.
O que testamos aqui geralmente são os problemas de funcionalidade, conformidade e segurança. Em aplicações web, podemos testar a Solicitação e Resposta de nossa aplicação se são seguras e criptografadas ou não.
Este é um dos exemplos em que podemos usar o Teste de API. A ferramenta mais popular para teste de API é SABÃO que tem versões gratuitas e pagas. Existem também outras ferramentas, que você pode usar de acordo com sua necessidade.
# 3) Testes de GUI automatizados.
Este tipo de teste automatizado é a forma mais difícil de automação, pois envolve o teste de uma interface de usuário do aplicativo.
melhor lugar para assistir anime dublado
É difícil porque as GUIs estão altamente sujeitas a alterações. Mas esse tipo de teste também está mais próximo do que os usuários farão com nosso aplicativo. Como o usuário usará o mouse e o teclado, os testes de GUI automatizados também imitam o mesmo comportamento, fazendo uso do mouse e do teclado para clicar ou escrever em objetos presentes na interface do usuário.
Devido a isso, podemos encontrar bugs precocemente e pode ser usado em muitos cenários, como testes de regressão ou preenchimento de formulários que levam muito tempo.
As ferramentas de teste de GUI mais populares incluem Teste Funcional Unificado Micro Focus (UFT) , Selênio , Teste Completo e IU codificada da Microsoft (que faz parte das edições ultimate e premium do Visual Studio).
Assim como os tipos de testes de automação, também existem vários tipos de estruturas.
Estruturas de automação
Algumas estruturas de automação comumente usadas incluem:
- Linear (gravação e reprodução)
- Orientado por palavras-chave
- Orientado a Dados
- Modelo de objeto de página
- Modular
Leitura Adicional => Estruturas de automação

Como você pode ver, a primeira etapa no processo de automação é identificar o tipo de automação, então você pode identificar a estrutura a ser projetada e tendo isso em mente, você pode selecionar as ferramentas que atendem às suas necessidades.
Ferramentas de automação
Com base no tipo de teste que você está almejando e no tipo de estrutura que você pode querer construir em torno dele, as seguintes ferramentas estão disponíveis para uso:
- Selênio : Ferramenta muito poderosa para teste de aplicativos da web. Fornece suporte a vários navegadores.
- Junit e Nunit: Ferramentas usadas principalmente para testes de unidade pelos desenvolvedores.
- QTP : Ótima ferramenta para aplicativos não-web e vem com um repositório de objetos embutido.
- Sikuli: Ferramenta de código aberto para testes de GUI.
- Soap UI: Ferramenta para teste de API.
- Tenha certeza: Biblioteca para criar uma estrutura de teste de API.
- appium : Ferramenta que oferece suporte a testes móveis, testes de aplicativos nativos, híbridos e testes de aplicativos web móveis.
- Jmeter : Uma ferramenta usada para testes de desempenho.
- TestNG: TestNG não é uma ferramenta de automação por si só, no entanto, ele fornece ótimo suporte para estruturas de automação construídas com selênio, appium, fique tranquilo, etc.
Leitura Adicional => Ferramentas de automação de teste
Equívocos sobre testes de automação
Ao longo dos anos, ouvi alguns equívocos sobre automação de teste. Acho que devo esclarecê-los também neste artigo.
Equívoco # 1. A automação está aqui para substituir os testadores manuais.
A automação de teste serve para ajudar os testadores a tornar o teste mais rápido e confiável. Nunca pode substituir os humanos.
Pense na automação de teste como um carro. Se você caminhar, levará cerca de 20 minutos para chegar à sua casa. Mas se você usar um carro, chegará em dois minutos. O motorista do carro ainda é você, um humano, mas .. o carro ajuda o humano a atingir seu objetivo mais rápido. Além disso, a maior parte da sua energia é economizada, pois você não andou. Assim, você pode usar essa energia para realizar coisas mais importantes.
O mesmo acontece com os testes de automação. Você o usa para testar rapidamente a maioria de seus testes repetidos, longos e enfadonhos e economizar seu tempo e energia para focar e testar novas e importantes funcionalidades.
Como James Bach disse uma frase maravilhosa:
“Ferramentas não testam. Apenas pessoas testam. As ferramentas apenas executam ações que “ajudam” as pessoas a testar. “
As ferramentas podem clicar em objetos. Mas onde clicar sempre será informado por um testador manual. Eu acho que você entendeu agora.
melhor software para copiar dvd para o disco rígido
Equívoco # 2 . Tudo sob o sol pode ser automatizado
Se você tentar automatizar 100% dos seus casos de teste, talvez você consiga fazer isso, mas se você pudesse fazer isso, nosso primeiro ponto se tornaria falso. Se tudo for automatizado, o que um testador manual fará?
Confuso? Certo?
Na verdade, a questão é que você não pode automatizar 100% dos seus casos de teste. Porque nós, como testadores, acreditamos que nenhum aplicativo pode ser 100% testado. Sempre haverá alguns cenários que iremos perder. Sempre haverá bugs que aparecerão apenas quando seu aplicativo for usado pelos clientes.
Se o aplicativo não pode ser 100% testado, como você pode prometer 100% de automação?
Além disso, há uma chance muito pequena de que você consiga automatizar todos os seus casos de teste existentes. Sempre há cenários difíceis de automatizar e mais fáceis de fazer manualmente.
Por exemplo , Um usuário irá inserir os dados, o segundo usuário irá aprovar os dados, o terceiro usuário irá ver os dados e o quarto usuário está proibido de ver os dados. Esses cenários podem ser automatizados, mas levarão muito tempo e esforço. Portanto, será mais fácil se você apenas fizer isso manualmente.
Lembre-se, usamos carros para percorrer distâncias, mas pode haver sinais longos no caminho, haverá consumo de combustível, haverá problemas de espaço de estacionamento, taxas de estacionamento e muito mais dor de cabeça. Em alguns cenários, simplesmente caminhamos e chegamos ao nosso destino :) .
Portanto, você não deve tentar automatizar tudo. Automatize apenas aqueles cenários que são importantes e aqueles que levam muito tempo para serem feitos manualmente.
Equívoco # 3 . A automação envolve apenas gravação e reprodução.
Por favor, não viva em um mundo de fantasia. Essa fantasia é, na verdade, criada por anúncios falsos de diferentes fornecedores de ferramentas de automação. Eles dizem que você apenas grava e reproduz seus passos e seus casos de teste serão automatizados. Bem, isso é uma grande mentira!
Automação é tudo e não apenas gravação e reprodução. Engenheiros de automação pura normalmente não usam o recurso de gravação e reprodução. A gravação e a reprodução são geralmente usadas para se ter uma ideia de como a ferramenta está gerando um script para nossas etapas.
Assim que conhecemos o script, sempre usamos o script para criar testes automatizados. Lembrar, você deve saber programação se quiser fazer automação de teste . Por outro lado, não desanime se você não conhece programação. Como qualquer outra tarefa, a programação também pode ser aprendida com prática e dedicação.
Eu conheço pessoas que nem mesmo têm formação em ciência da computação, mas elas aprendem a programar e agora são engenheiros de automação incríveis. Na Microsoft, eles contratam testadores que podem fazer programação. Eles são chamados SDET (Engenheiros de desenvolvimento de software para teste). A primeira linha da descrição do trabalho diz 'SDET escreve muitos códigos ...'.
Por favor, aprenda a programar, não fuja disso. Isso fará de você um testador incrível .
Conclusão
Espero que este artigo tenha ajudado a esclarecer alguns conceitos relacionados à automação de teste.
Cobrimos um alto nível de vários tipos de testes de automação, com várias maneiras de classificar.
As principais classificações incluem:
- Automação baseada no tipo de teste (funcional ou não funcional).
- Automação baseada na Fase de teste (Unidade, API ou UI).
- Automação com base nos vários tipos de testes (vários tipos de teste).
Também listamos as várias ferramentas que podem ser usadas para esses tipos de teste automatizado.
Em nosso próximo artigo, discutiremos o procedimento passo a passo de como iniciar a automação de teste em sua organização .
PREV Tutorial # 1 | PRÓXIMO Tutorial # 3
Leitura recomendada
- Teste de carga com tutoriais HP LoadRunner
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Os testadores estão perdendo o controle sobre os testes devido à automação?
- Desafios de teste manual e de automação
- Processo de teste de automação de 10 etapas: como iniciar o teste de automação em sua organização
- Você é um especialista em testes manuais ou de automação? Trabalhe meio período para nós!
- 11 melhores ferramentas de automação para testar aplicativos Android (Android App Testing Tools)
- Os 10 melhores melhores livros de teste de software (manuais e livros de teste de automação)