31 top database testing interview questions
Nossos especialistas responderam as perguntas mais frequentes Teste de banco de dados Perguntas da entrevista para novatos e candidatos experientes:
Esta é uma coleção de mais de 30 perguntas da entrevista para testes de DB com respostas detalhadas. Essas perguntas de teste de banco de dados são feitas principalmente em entrevistas de teste de controle de qualidade.
Passe por essas perguntas e respostas se você estiver se preparando para uma entrevista de teste de software, que também requer habilidades de banco de dados.
Principais perguntas da entrevista de teste de banco de dados
Que tipo de perguntas de banco de dados (SQL) feitas em entrevistas para a posição de engenheiro de teste (não para testador de banco de dados)?
Isso depende de muitos fatores, se essas perguntas são para cargos de teste no nível de entrada ou para profissionais de teste experientes. A profundidade das perguntas da entrevista do banco de dados depende da experiência do candidato.
Independentemente da posição, o candidato deve estar sempre claro e confiante sobre os conceitos do banco de dados. Para a maioria das posições de teste de software, você precisa ter conhecimento de banco de dados para realizar algumas verificações de banco de dados. Quase todos os aplicativos precisam de uma interação com um banco de dados.
Vamos considerar essas perguntas da entrevista para posições de teste de software de nível de entrada.
As seguintes perguntas podem ser feitas em entrevistas:
- Consultas SQL básicas e até certo ponto aninhadas para buscar dados de tabelas de banco de dados.
- Exemplos de instruções de banco de dados para Criar Banco de Dados, Criar Tabela e Eliminar Tabela.
- Conceito de “Chave Primária”, “Chave Estrangeira” e índice DB.
- Exemplos de instruções SQL SELECT, INSERT, DELETE, ALTER e UPDATE.
- Junções SQL (junção interna, junção à esquerda, junção à direita e junção completa) com exemplos.
Pratique consultas de junção SQL em tabelas fictícias e veja os resultados.
Para posições de teste de software de nível experiente, as perguntas da entrevista dependem dos requisitos do trabalho. Para essas posições, os entrevistadores esperam conhecimento detalhado do banco de dados dos candidatos.
Nota: Se você receber perguntas sobre consultas de banco de dados SQL, nunca diga que “Você obtém todas as instruções de consulta para serem executadas por desenvolvedores”. É normal dizer que você obtém ajuda de desenvolvedores para escrever consultas SQL complexas, mas, finalmente, você gerencia por conta própria.
Vamos começar com perguntas e respostas reais do banco de dados:
P # 1) O que é teste de banco de dados?
Responda: Teste de banco de dados / teste de back-end é um processo de verificação do impacto da operação do banco de dados de back-end em aplicativos front-end da Web / desktop.
Está dividido nas seguintes categorias diferentes:
- Teste de validade de dados: Ao fazer este teste, os testadores devem ter bom conhecimento de consultas SQL.
- Teste de integridade de dados: Ao fazer este teste, os testadores / desenvolvedores devem conhecer a integridade referencial e as diferentes restrições.
- Teste de desempenho do banco de dados: Ao fazer este teste, os testadores / desenvolvedores devem ser bons em projetar a estrutura da tabela.
- Teste de procedimento, gatilhos e funções: Ao fazer este teste, os testadores / desenvolvedores devem ter uma compreensão perfeita do procedimento de teste, gatilhos e funções.
P # 2) Por que o teste de banco de dados é importante?
Responda: Embora todos saibamos que o banco de dados não é como uma pequena mesa, ele é realmente um grande contêiner de muitas tabelas e cheio de dados que fornece dados ao mesmo tempo para muitos aplicativos da web / desktop.
java adicionando elementos a um array
O processo de teste do banco de dados garante que os dados corretos e exclusivos (sem bug) sejam entregues no local correto. Esses bugs podem causar alguns problemas sérios, como deadlock, corrupção de dados, baixo desempenho, inconsistência, etc.
P # 3) No processo de teste de banco de dados, o que geralmente verificamos?
Responda: O teste de banco de dados requer algum conhecimento profundo e um plano de abordagem mais definido para testar os dados de um aplicativo específico.
Neste processo de teste, geralmente verificamos,
- A validação do tamanho do campo
- Restrições.
- Os índices são feitos ou não (para questões relacionadas ao desempenho)
- Procedimentos armazenados
- O tamanho do campo definido no aplicativo é compatível com o do BD.
P # 4) Você pode testar o banco de dados manualmente, se sim, como? Explique com exemplo.
Responda: Ele precisa observar o comportamento da operação. Observe as operações do front-end e seu efeito no banco de dados back-end. Ao adicionar um registro (XYZ) do front-end para o banco de dados back-end, verifique manualmente se o registro foi afetado no banco de dados back-end ou não. Da mesma forma, funcionará para excluir, atualizar, etc.
Por exemplo, Para manter o registro dos alunos que estão dando o exame, insira os detalhes do aluno no sistema de front-end e verifique manualmente o efeito dessa adição no banco de dados de back-end.
Q # 5) Como testar procedimentos e gatilhos de banco de dados?
Responda: O processo de teste de procedimentos e gatilhos de banco de dados requer o conhecimento dos parâmetros de entrada, parâmetros de saída e instruções EXEC. A instrução EXEC é útil para executar o procedimento e observar o comportamento das tabelas.
Vamos ver como testar procedimentos e gatilhos de banco de dados:
- Primeiro, abra o projeto de banco de dados que será exibido no explorador de soluções.
- Depois de abrir o projeto desejado, vá ao menu Exibir, clique no esquema do banco de dados e abra a pasta do projeto no menu Exibir Esquema.
- Clique com o botão direito no objeto que deve ser testado e clique em Criar Testes de Unidade. Uma caixa de diálogo “Criar Testes de Unidade” abre e exibe todas as pastas e objetos do projeto de banco de dados e a caixa de seleção para o objeto selecionado é marcada.
- Em seguida, crie um novo projeto de teste de idioma.
- Escolha entre inserir o teste de unidade em uma classe de teste existente ou crie uma nova classe de teste e clique em OK.
- Para configurar o projeto, a caixa de diálogo Configuração do Projeto aparece para definir as configurações do projeto de teste. O processo requer uma conexão de banco de dados e um plano de geração de dados. A conexão com o banco de dados serve para executar o resultado do teste.
- Por fim, configure o projeto e clique em OK.
P # 6) O que você quer dizer com testes baseados em dados?
Responda: Teste baseado em dados é um termo usado no processo de teste onde os scripts de teste durante a execução lêem dados de teste e / ou valores de saída de arquivos de dados (pools de dados, arquivos Excel, objetos ADO, arquivos CSV, fontes ODBC) em vez de ler o mesmo disco valores codificados a cada vez. O teste ajuda os testadores a verificar a eficiência do aplicativo em lidar com várias entradas.
P # 7) O que é o gatilho do banco de dados, como verificar se o gatilho foi disparado ou não e você pode invocar o gatilho sob demanda?
Responda:
Gatilho do banco de dados: Um gatilho é basicamente um procedimento armazenado usado para manter a integridade dos dados presentes no banco de dados. Ele é executado automaticamente para responder a um determinado evento de uma tabela / visão em um banco de dados.
Para verificar se o gatilho foi disparado ou não; usar a consulta do log de auditoria comum exibirá o gatilho da tabela de dados.
Os gatilhos não podem ser invocados sob demanda; eles são invocados quando uma tabela exibe uma ação (INSERT, DELETE & UPDATE) definida naquela tabela específica.
P # 8) Depois de inserir os dados da interface do aplicativo front-end, como você testa se um banco de dados é atualizado ou não?
Responda: Depende totalmente da interface do aplicativo que você está usando.
Estas são as seguintes maneiras de testar:
- Você pode verificar apenas no front-end quando a interface do aplicativo mostra uma funcionalidade de visualização dos dados inseridos. Principalmente, os engenheiros de teste da caixa preta fazem esse teste de verificação de funcionalidade dessa maneira.
- Se a interface do aplicativo não fornecer a funcionalidade de visualização dos dados inseridos, você pode verificar a atualização do banco de dados usando a consulta SQL / Oracle relevante.
- A função de ponto de verificação do WinRunner / QTP também pode ser usada para verificar a atualização do banco de dados.
Q # 9) Como testar os procedimentos armazenados?
Responda: O engenheiro de teste precisa seguir algumas etapas para testar o Procedimentos armazenados ,
- Primeiro, o engenheiro de teste deve entender o requisito e também o propósito de um determinado procedimento armazenado.
- Em seguida, verifique se todos os índices, junções, atualizações, exclusões são precisos em comparação com as tabelas mencionadas no procedimento armazenado e também certifique-se de que o procedimento armazenado está no formato padrão comum, como comentários, atualizado por, etc.
- Em seguida, para diferentes conjuntos de parâmetros de entrada, verifique o nome de chamada do procedimento, os parâmetros de chamada e as respostas esperadas.
- Manualmente, execute o procedimento com programas de cliente de banco de dados como TOAD, MySQL ou Query Analyzer.
- Para verificar os resultados em relação aos valores esperados, execute novamente o procedimento, fornecendo parâmetros diferentes.
- Por fim, automatize os testes com QTP.
Q # 10) O que são junções e menciona diferentes tipos de junções?
Responda: Join é usado para combinar duas ou mais de duas tabelas e é exibido como um único conjunto de dados.
No SQL, existem os seguintes tipos de junções :
- Junção interna
- Junção Externa
- Associação à esquerda
- Junção certa
No Oracle / PLSQL, existem quatro tipos diferentes de junções,
- Junção interna
- Junção Externa Esquerda
- Junção Externa
- Full-Outer Join
Q # 11) O que você quer dizer com índice e explicar os diferentes tipos de índices?
Responda: Um Índice é um objeto de banco de dados, criado em uma coluna da tabela para encontrar os dados de forma mais rápida e eficiente (ou podemos dizer que é usado para agilizar as buscas / consultas).
Diferentes tipos de índices são:
- Índice B-Tree
- Índice de bitmap
- Índice agrupado
- Índice de cobertura
- Índice não único
- Índice único
Q # 12) O que você quer dizer com DBMS?
Responda: Um banco de dados é um conjunto estruturado de dados. O Database Management System (DBMS) é um aplicativo de software de computador que cria uma rede de comunicação entre usuários, outros aplicativos e o banco de dados para armazenar, modificar e extrair informações de um banco de dados.
DBMSs famosos são My SQL, Postgre SQL, Microsoft SQL Server, Oracle, SAP e IBM DB2.
Q # 13) O que você quer dizer com DML?
Responda: Data Manipulation Language (DML) é um membro da linguagem de programação de computadores que nos facilita a seleção, inserção, exclusão e atualização de dados em um banco de dados. A DML está basicamente envolvida em Structured Query Language (SQL), que facilita aos usuários a recuperação e o uso de dados em um banco de dados relacional.
Q # 14) O que você quer dizer com comandos DCL e explicar os tipos de comandos usados por DCL?
Responda: Data Control Language (DCL) é um componente do SQL, controla o uso de dados armazenados em um banco de dados.
Existem dois tipos de Comandos DCL:
- Conceder: O comando facilita o acesso dos usuários ao privilégio de banco de dados
- Revogar: Pare de permitir que usuários acessem o banco de dados
Q # 15) O que você quer dizer com teste de caixa branca e teste de caixa preta?
Responda:
Teste de caixa preta é uma técnica de teste de software para testar o comportamento funcional de um aplicativo sem entrar em suas estruturas internas de um aplicativo. O código / estrutura interna do aplicativo principal e o conhecimento de programação não são necessários para o teste de caixa preta, mas o conhecimento básico da funcionalidade do aplicativo é necessário para testar o aplicativo.
Teste de caixa branca (WBT) também é conhecido como Teste Baseado em Código ou Teste Estrutural para testar a estrutura interna de um aplicativo de software. No caso de teste de caixa branca, o testador deve ter um bom entendimento da estrutura interna de um aplicativo, bem como bom conhecimento de habilidades de programação para projetar casos de teste e estrutura interna de um aplicativo.
Q # 16) O QTP suporta consultas SQL, como usar Consultas SQL em QTP ?
Responda: Embora o QTP não tenha nenhuma função incorporada para conectividade de banco de dados, os testadores usam a linguagem VBScript para conectar e interagir com bancos de dados usando objetos ADODB.
Os objetos ADODB são divididos em quatro propriedades / métodos diferentes que ajudam a criar com sucesso uma conexão de banco de dados,
- Conexão: Útil para estabelecer uma conexão com um banco de dados
- Comando: Útil na execução de um comando SQL (consultas / procedimentos armazenados)
- Campos: Útil na recuperação de uma coluna específica de um conjunto de registros após a execução de uma Consulta / Procedimento Armazenado.
- Conjunto de registros: Usado para recuperar dados de um banco de dados
Q # 17) Quais instruções SQL podem ser usadas no teste de banco de dados?
Responda: Todas as instruções DDL, DML, DCL e TCL de SQL podem ser usadas em testes de banco de dados,
(i) DDL (linguagem de definição de dados): Todas as instruções relacionadas a isso podem ser usadas na definição da estrutura ou esquema do banco de dados.
Declarações: CREATE, ALTER, DROP, TRUNCATE, COMMENT e RENAME
(ii) DML (Linguagem de Manipulação de Dados): Todas as instruções relacionadas a isso podem ser usadas para gerenciar dados em objetos de esquema.
Declarações: SELECIONE, INSERIR, ATUALIZAR, EXCLUIR, FUNDIR, CHAMAR, EXPLICAR PLANO e BLOQUEAR TABELA.
(iii) DCL (Linguagem de Controle de Dados): Instrução GRANT e instrução REVOKE.
(iv) TCL (Transaction Control Language): Todas as instruções relacionadas a isso podem ser usadas para gerenciar as alterações feitas pelas instruções DML. Usando o TCL, as instruções podem ser agrupadas em transações lógicas.
Declarações: COMMIT, SAVEPOINT, ROLLBACK e SET TRANSACTION.
P # 18) No teste de banco de dados, como fazer o teste de carga de dados?
Responda: Para teste de carga de dados,
- Você precisa ter conhecimento do banco de dados de origem (tabelas de dados, colunas, restrições associadas, tipos de dados) e do banco de dados de destino (tabelas de dados, colunas, tipos de dados e restrições).
- Você precisa verificar a compatibilidade entre o banco de dados de origem e o banco de dados de destino por meio do pacote DTS.
- Você precisa abrir o pacote DTS correspondente no SQL Enterprise Manager e executar o pacote DTS (se estiver usando o SQL Server).
- Compare os dados da coluna de origem e destino.
- Verifique o número de linhas de origem e destino.
- Depois de atualizar os dados no banco de dados de origem, verifique se as alterações foram refletidas no banco de dados de destino ou não.
- Verifique sobre caracteres de lixo e NULLs.
- Teste de carga de banco de dados, verifique o volume do servidor de banco de dados para processar as consultas e também verifique o tempo de resposta do servidor de banco de dados e do cliente.
P # 19) Uma “taxa de recuperação rápida de banco de dados” é um requisito testável?
Responda: Não. Acho que não, porque o requisito parece não estar claro. O SRS deve exibir claramente os requisitos de desempenho ou transação, ou seja, deve mencionar como; “Taxa de recuperação de banco de dados de 5 microssegundos”.
Q # 20) Sem envolver pontos de verificação de banco de dados, como você pode testar uma consulta SQL no QTP?
Responda: O procedimento de script fornecido abaixo nos ajuda na conexão com o banco de dados onde podemos testar ambos; o banco de dados e as consultas.
para) O procedimento de script para conexão de banco de dados,
db_connect (“query1”, DRIVER = {nome do driver}; SERVER = server_name;
UID = uidname; PWD = senha; DBQ = database_name “);
b) O procedimento de script para executar a consulta,
db_excecute_query (“query1 ″,” escrever a consulta que você deseja executar ”);
-Condição a ser mencionada-
c) O procedimento de script para desconectar a conexão com o banco de dados,
db_disconnect (“consulta”);
P # 21) No teste de banco de dados, o que todas as coisas são necessárias para escrever bons casos de teste?
Responda: O conhecimento do seguinte é necessário antes de escrever os casos de teste de banco de dados,
- Compreenda o aplicativo completamente e também os requisitos funcionais do aplicativo.
- Faça check-out de outras entidades que foram usadas em um aplicativo, como tabelas de banco de dados back-end, junções entre as tabelas, cursores (se houver), gatilhos (se houver), procedimentos armazenados (se houver), parâmetro de entrada e parâmetros de saída para o desenvolvimento esse requisito.
- Após a coleta de todas as informações necessárias, anote o caso de teste com diferentes valores de entrada para examinar todos os recursos.
Escrever casos de teste para teste de back-end é o oposto de teste funcional, deve-se usar a técnica de teste de caixa branca.
Q # 22) O que é reteste e como é diferente de teste baseado em dados ?
Responda: Após a execução do teste em termos de localização do defeito que já foi detectado e corrigido, a reexecução do mesmo teste com valores de entrada diferentes para confirmar que o defeito original foi removido com sucesso é chamada de Re-teste ou Teste de confirmação.
Testando novamente também é chamado de teste orientado a dados, mas a diferença entre os dois é que o reteste é um processo de teste manual, enquanto o teste de aplicativo é feito com todo o novo conjunto de dados.
Teste baseado em dados (DDT): É um processo de teste de automação em que um aplicativo será testado com vários dados de teste. É simples e fácil do que retestar, onde o testador apenas senta na frente do sistema e insere diferentes valores de entrada manualmente na interface de front-end, é realmente um técnica chata.
P # 23) Quais são os tipos de teste orientado a dados?
Responda:
Existem quatro tipos de testes baseados em dados:
- Envio de dados de teste dinâmico por meio do teclado (teste dirigido por tecla): Em alguns casos, os testadores testam novamente um aplicativo específico com diferentes valores de entrada para validar o cálculo por meio do envio dinâmico. Portanto, para enviar o valor de entrada, os testadores podem usar a seguinte função no TSL; script– create_input_dialog (“rótulo”);
- Testes orientados a dados por meio de arquivos simples (.txt, .doc): Em alguns casos, os testadores fazem o novo teste considerando os dados do arquivo simples. Os testadores reúnem esses arquivos simples de bancos de dados / clientes antigos.
- Testes orientados a dados por meio de objetos front-end: Em alguns casos, os testadores criam scripts de automação considerando os valores do objeto de front-end, como lista, menu, tabela, janela de dados, ocx, etc.
- Testes baseados em dados via planilha do Excel: Em alguns casos, os testadores usam a ajuda desse teste baseado em dados para executar o script para várias entradas. Essas múltiplas entradas residem em colunas de uma planilha do Excel. Temos que coletar esses dados de teste das tabelas de back-end.
P # 24) Como escrever uma consulta para obter o segundo maior valor de uma determinada coluna de uma tabela?
Responda: Esta é uma consulta para obter o segundo maior valor de uma determinada coluna de uma tabela.
SELECT MAX(COLUMN_NAME) FROM TABLE_NAME WHERE COLUMN_NAME <(SELECT MAX(COLUMN_NAME) FROM TABLE_NAME);
Por exemplo,
Para obter a segunda maior nota da coluna 'Notas' de uma tabela 'Alunos'
SELECT Max(Marks) from Students WHERE Marks<(SELECT Max(Marks) from students);
Q # 25) Como escrever uma consulta para obter o 10ºmaior salário de uma mesa de funcionário?
Responda: Esta é uma consulta para obter o enésimo maior salário de uma mesa de funcionários,
SELECT * FROM Employee Emp1 WHERE ( n ) = ( SELECT COUNT( DISTINCT ( Emp2.Employee_Salary ) ) FROM Employee Emp2 WHERE Emp2.Employee_Salary >= Emp1.Employee_Salary );
Aqui, você pode substituí-los por qualquer número.
Por exemplo, se você quiser obter o décimo salário mais alto, substitua n por 10.
SELECT * FROM Employee Emp1 WHERE (10) = ( SELECT COUNT( DISTINCT ( Emp2.Employee_Salary ) ) FROM Employee Emp2 WHERE Emp2.Employee_Salary >= Emp1.Employee_Salary );
P # 26) Como escrever casos de teste a partir de requisitos, os requisitos significam a funcionalidade exata do AUT?
Responda: Sim, os requisitos devem significar a funcionalidade exata do AUT.
Para fazer isso,
- Examine o requisito para entender a funcionalidade geral.
- Em seguida, decida quais métodos de design de teste são adequados para escrever casos de teste - métodos de design de teste Black Box como; Particionamento de equivalência, análise de valor limite, adivinhação de erro e representação gráfica de causa-efeito.
- Depois de decidir qual método de design de teste é adequado, escreva seus casos de teste na análise de requisitos e na fase de design.
Dessa forma, você garantirá que todos os requisitos sejam testáveis.
Q # 27) Qual é o cenário de teste para testar um banco de dados migrado de um SQL Server para outro?
Responda: Em primeiro lugar, precisamos verificar quais melhorias e mudanças aconteceram no SQL Server para o qual planejamos migrar.
Próximo, projetar o caso de teste de acordo com a seguinte consideração,
- Um tipo de dados que foi usado.
- O comprimento do campo de dados do SQL Server (servidor para o qual estamos migrando os dados) deve ser igual ao do SQL Server de onde estamos retirando os dados.
- Cada tarefa deve ser organizada corretamente.
Q # 28) O que significa o RDBMS e quais são os principais RDBMS usados pelo SQL?
Responda: RDBMS significa Relational Database Management Systems. Os principais RDBMS envolvidos com SQL incluem Sybase, Oracle, Access, Ingres, Microsoft SQL Server, etc.
Q # 29) Explique os testes de desempenho e seus gargalos.
Responda: O teste de desempenho é uma técnica de teste de software para determinar o desempenho de um sistema em termos de velocidade, sensibilidade e estabilidade sob uma carga de trabalho pesada. Este teste requer ferramentas caras e testadores bem treinados e experientes para operação.
Q # 30) O que é CMMI e descreve os diferentes níveis de CMM?
Responda: CMMI significa Capability Maturity Model Integration é um modelo de treinamento e avaliação de desenvolvimento de processos de vários processos de negócios em engenharia de software.
Os cinco níveis de maturidade do CMM para uma organização são:
- Inicial: Nesse nível, as organizações não têm nenhuma técnica e ambiente verificados, então geralmente o orçamento e o cronograma das organizações são excedidos.
- Repetivel: Nesse nível, as organizações possuem técnicas e diretrizes básicas para limitar o custo e o tempo de cronograma, capazes de repetir os mesmos no próximo projeto semelhante.
- Definiram: Neste nível, todas as técnicas são bem organizadas e explicadas de forma clara e padronizada.
- Gerenciou: Nesse nível, as organizações são muito mais desenvolvidas do que no nível Definido. Aqui, as técnicas são contatadas usando técnicas estatísticas e outras técnicas quantitativas.
- Otimizando: As organizações tentam com determinação desenvolver desempenho por meio do progresso técnico moderno.
P # 31) Qual é o significado do registro em um banco de dados?
Responda: Em um banco de dados, um registro é o conjunto de valores / campos de uma entidade específica.
Por exemplo, Registro Office_Employee, Book Record, etc.
Esperamos que você goste dessas perguntas detalhadas da entrevista do Database com respostas. Informe-nos em caso de dúvidas.
eclipse ide para c / c ++
Leitura recomendada
- Perguntas e respostas da entrevista
- Perguntas e respostas da entrevista de teste de ETL
- Teste de banco de dados com JMeter
- Algumas perguntas interessantes da entrevista de teste de software
- 25 melhores perguntas e respostas da entrevista para testes ágeis
- As 20 perguntas e respostas mais importantes da entrevista de teste de API
- Perguntas e respostas de teste de software (parte 1)
- As 30 principais perguntas e respostas da entrevista de teste de segurança