Curso completo

JavaScript para QAs

A linguagem em que os seus testes são escritos, do começo: tipos, variáveis, operadores, funções, condicionais, laços, iteradores, desestruturação e async/await. Cada tópico é ensinado primeiro em JavaScript puro e depois aplicado a código de teste de verdade.

~5 horas de conteúdo

Ver aulas

Conteúdo do curso

16 aulas completas cobrindo tudo o que você precisa saber

Introdução

Introdução
Estrutura do curso
Saiba como o curso está organizado e aproveite o conteúdo ao máximo.
Introdução
Pré-requisitos
Sistemas e conhecimentos necessários para concluir o curso.
Introdução
Como você vai praticar
O seu repositório começa vazio. Você escreve o código, executa com o Node.js, faz o commit e envia para o seu próprio fork.
Aula
Aula 1
Fork, clone e rode o seu primeiro arquivo
Faça o fork do projeto vazio, clone, escreva o seu primeiro arquivo JavaScript, execute com o Node.js e envie o seu primeiro commit.

Blocos de construção do JavaScript

Aula
Aula 2
Tipos de dados
Os primitivos (undefined, null, Boolean, Number, String) e os tipos estruturais (Array, Object, Function) de que todo teste é feito.
Aula
Aula 3
Variáveis
var, let e const, começando pelos primitivos e depois com arrays e objetos, onde const deixa de significar o que você espera.
Aula
Aula 4
Operadores
Atribuição, matemática e lógica, incluindo a diferença entre == e === que decide se a sua asserção está dizendo a verdade.
Aula
Aula 5
Strings: concatenação e template literals
Juntando texto com + e com crases, e escrevendo nomes de teste e mensagens de falha que dizem qual caso falhou.
Aula
Aula 6
Transformação de dados
toString, split, reverse, join, replace, replaceAll, slice, trim, toLowerCase e toUpperCase, aplicados a texto lido de uma página.

Estrutura e fluxo

Aula
Aula 7
Funções
Declarações, arrow functions, puras versus impuras, e funções de ordem superior, que é o que todo it() e beforeEach() realmente são.
Aula
Aula 8
Módulos: export e import
Divida o seu código em arquivos, exporte o que você escreveu e importe em outro lugar, que é como helpers e massa de testes são compartilhados.
Aula
Aula 9
Condicionais
if, else if, else e o ternário, além de por que uma condicional dentro de um teste costuma ser um sinal de alerta.
Aula
Aula 10
Laços de repetição
for, for...of e while, e a diferença entre repetir dentro de um teste e gerar vários testes.
Aula
Aula 11
Iteradores de array
forEach, map, filter, find, some e every, e como um array de massa de testes vira um conjunto inteiro de testes.

Trabalhando com dados

Aula
Aula 12
Desestruturação
Extraindo valores de arrays e objetos por posição e por nome, do jeito que você desempacota o corpo de uma resposta de API.
Aula
Aula 13
Rest e spread
Os mesmos três pontos fazendo dois trabalhos opostos, e como eles constroem um payload de teste que difere do padrão em um único campo.
Aula
Aula 14
JSON
JSON.parse e JSON.stringify, o que o JSON não consegue guardar, e por que um arquivo de fixture carregado uma vez pode quebrar o teste seguinte.

JavaScript assíncrono e paradigmas

Aula
Aula 15
Promises e async/await
O que é uma promise, o que o await faz, e por que uma chamada de API sem await faz passar um teste que nunca chegou a rodar.
Aula
Aula 16
JavaScript orientado a objetos versus funcional
O mesmo helper escrito como classe e como funções simples, e por que o mais simples é o melhor padrão para código de teste.

Bônus e conclusão

Bônus
Bônus: JavaScript no console do navegador
querySelector, querySelectorAll e os poucos comandos do console do DevTools que transformam achar um seletor em tarefa de dez segundos.
Bônus
Bônus: bibliotecas úteis para testadores
Faker.js para massa de testes e Lodash para o trabalho com arrays e objetos que você escreveria à mão, além de quando não recorrer a elas.
Bônus
Bônus: um primeiro olhar sobre TypeScript
TypeScript como açúcar sintático sobre o JavaScript que você acabou de aprender: tipos em variáveis, parâmetros e retornos, e o que isso pega.
Bônus
Bônus: questões de código em entrevistas de QA
Os exercícios que candidatos a QA de fato recebem, todos resolvíveis com o conteúdo deste curso, e o que quem entrevista realmente avalia.
Conclusão
Parabéns!
Você concluiu o curso JavaScript para QAs!