Fale sobre exceções — hierarquia, checked e unchecked com exemplos
QA / QA Automation
Que tipos de dados conheces em Java? Dá exemplos.
Hoje trouxeram-lhe uma tarefa que já apareceu várias vezes aos nossos alunos: encontrar todos os erros no JSON.
Explique detalhadamente quando usar throws, quando usar try-catch, por que é ruim capturar uma Exception genérica e silenciar erros
De que formas é que se pode tratar ou lançar uma exceção?
Já enfrentou uma situação em que um processo no Linux ficou preso? Como encontrá-lo e matá-lo?
O que podes contar-me sobre índices em bases de dados?
Tem alguma experiência de trabalho com Docker?
Fala sobre os mocks nos testes, como os estabilizas?
Como é organizado o processo de lançamento e qual é o lugar dos testes automatizados nele?
Você tem Allure, é TestOps ou apenas Allure? O que exatamente é isso?
Como é acionado o gatilho dos testes de fumaça e o que determina a lista de testes para a fumaça?
Com que bases de dados trabalhas nos testes?
E se falarmos especificamente sobre comandos Bash (não Git) — por exemplo, criar um arquivo, mover um arquivo, etc.
O que deve estar no relatório Allure para reproduzir facilmente a falha de um teste REST de back-end localmente?
Em que stack/linguagem os microserviços são escritos, coincide com o stack de testes?
Existe um método rest-api do serviço de transferência de uma certa quantia de um utilizador bancário para outro pelo ID: GET /api/transfer?money={money}&from={uid}&to={uid} Tarefa: criar casos de teste para este método Exemplo de caso de teste: Chamar o método com os parâmetros money=10.10&from=1&to=2; Comportamento esperado: Chamar o método com os parâmetros money=10&from=1&to=2; Comportamento esperado: status 400 saldo sem alterações, retorno de erro de fundos insuficientes Chamar o método com os parâmetros money=100000&from=1&to=2; Comportamento esperado: status 200 saldo do utilizador 1 diminui pelo valor atual, saldo do utilizador 2 aumenta pelo valor atual Chamar o método com os parâmetros money=-10000&from=1&to=2; Comportamento esperado: status 400 saldo sem alterações, retorno de erro de não é possível transferir valor negativo Chamar o método com os parâmetros money=0&from=1&to=2; Comportamento esperado: status 400 saldo sem alterações, retorno de erro de não é possível transferir valor zero Chamar o método com os parâmetros money=вавава&from=1&to=2; Comportamento esperado: status 400 saldo sem alterações, retorno de erro de inserir valor correto Chamar o método com os parâmetros money=10000&from=1&to=1; Comportamento esperado: status 400 saldo sem alterações, retorno de erro de descrever detalhadamente o erro
Qual é a proporção aproximada de testes manuais e automação em termos de tempo?
Como tornar mais fácil e legível o uso de um método com 10 parâmetros do mesmo tipo?
Já teve que descrever especificações OpenAPI?