O que é o cache, o que são cookies?
QA / QA Automation
O que é uma matriz de rastreabilidade e como ela é formada?
Do que é composta uma requisição HTTP?
Com que finalidade o ORM é utilizado nos testes e em que casos é melhor não usá-lo?
A Programação Orientada a Objetos (POO) é uma abordagem para desenvolver programas em que o código é organizado na forma de objetos Encapsulamento Encapsulamento é a união de dados e métodos que trabalham com esses dados dentro de uma mesma classe, bem como a restrição do acesso direto ao estado interno do objeto. Em palavras simples: o objeto gerencia seus próprios dados, e o código externo interage com ele através de métodos. Abstração Abstração é a seleção apenas das características importantes do objeto e o ocultamento dos detalhes de sua implementação. Em palavras simples: ao usuário importa o que o objeto faz, não como exatamente ele faz. Polimorfismo Polimorfismo é a capacidade de objetos com diferentes implementações usarem uma mesma interface. Nos testes, isso ajuda a escrever código universal que funciona com diferentes tipos de dados ou classes. Exemplo em Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Au!" class Cat(Animal): def make_sound(self): return "Miau!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Au! animal_sound(cat) # Miau! Nos testes automatizados, o polimorfismo é útil para: - Criar métodos de verificação universais - Implementar diferentes estratégias de teste através de uma mesma interface - Manter diferentes versões de API/UI sem alterar os testes Herança Herança é um mecanismo que permite a uma nova classe usar automaticamente uma classe existente, herdando suas propriedades e métodos. Em palavras simples: a nova classe reutiliza o código da classe pai e, se necessário, o amplia. Git 1. Sistemas de controle de versões. Local, centralizado, distribuído. 2. Conceitos básicos. Repositório, índice, commit, ponteiros, ramo, cópia de trabalho. 3. Trabalhar com repositório. Comandos: init, clone, status 4. Criar um commit. Comandos: add, commit. 5. Criar, ver, trocar entre ramos, excluir. Comandos: branch, checkout, log, diff. 6. Desfazer alterações. Comandos: restore, rm, checkout, revert. 7. Mesclar alterações entre ramos. Comandos: merge, cherry-pick, rebase. 8. Trabalhar com repositório remoto. Comandos: fetch, pull, push. 9. Trabalhar com GitHub, forks e Pull Requests.
REST API: como criar um serviço simulado? Forneça exemplos de ferramentas.
Qual é a diferença entre os métodos PUT e PATCH e quais são as suas características de funcionamento?
Como resolver o problema de corrida de mensagens no Kafka?
Pode contar-nos sobre o ciclo de vida de um bug. Pode-se usar os estados.
Que informação é transmitida nos cabeçalhos HTTP?
Para que serve ORDER BY e GROUP BY no SQL? Quais funções de agregação você usou no trabalho?
O que é rastreamento de mensagens e como ele ajuda a localizar um defeito na arquitetura de microsserviços?
Em que casos faz sentido usar assíncrono e em quais não? Como você implementa a assíncronia nos testes?
Como implementar um soft assert no pytest para várias verificações num teste, de modo que o teste não falhe na primeira erro, mas execute todas as verificações?
Qual é a diferença entre um iterador e um gerador?
Qual é a diferença entre testes de Smoke, Sanity e Regression?
Como interceptar e modificar a resposta da API no Playwright para testar a interface de utilizador?