Sobes.tech

QA / QA Automation

O que é o cache, o que são cookies?

Middle
212

O que é uma matriz de rastreabilidade e como ela é formada?

Middle
212

Do que é composta uma requisição HTTP?

Middle
198

Com que finalidade o ORM é utilizado nos testes e em que casos é melhor não usá-lo?

Middle
197

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.

Middle
181

REST API: como criar um serviço simulado? Forneça exemplos de ferramentas.

Middle
179

Qual é a diferença entre os métodos PUT e PATCH e quais são as suas características de funcionamento?

Middle
166

Como resolver o problema de corrida de mensagens no Kafka?

Middle
159

Pode contar-nos sobre o ciclo de vida de um bug. Pode-se usar os estados.

Middle
158

Que informação é transmitida nos cabeçalhos HTTP?

Middle
155

Para que serve ORDER BY e GROUP BY no SQL? Quais funções de agregação você usou no trabalho?

Middle
148

O que é rastreamento de mensagens e como ele ajuda a localizar um defeito na arquitetura de microsserviços?

Middle
143

Em que casos faz sentido usar assíncrono e em quais não? Como você implementa a assíncronia nos testes?

Middle
140

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?

Middle
135

Qual é a diferença entre um iterador e um gerador?

Middle
127

Qual é a diferença entre testes de Smoke, Sanity e Regression?

Middle
113

Como interceptar e modificar a resposta da API no Playwright para testar a interface de utilizador?

Middle
111