A contratação dos melhores engenheiros de garantia de qualidade (QA) é fundamental, pois eles cuidarão dos padrões de desenvolvimento de software da sua empresa e os aplicarão.
De certa forma, eles são os guardiões da reputação da sua empresa, portanto, você deve se certificar de escolher os melhores candidatos.
É por isso que é tão importante fazer as perguntas certas na entrevista de garantia de qualidade e combiná-las com outras avaliações de habilidades, como testes de habilidades. O uso de ambas as abordagens permitirá que você avalie de forma abrangente a experiência e o conhecimento dos candidatos e se certifique de que eles são a opção certa.
Você pode usar nosso teste de Engenheiro de teste/QA para avaliar os candidatos e convidar apenas os melhores para a entrevista. Dessa forma, você economizará tempo e dinheiro e se concentrará apenas nos candidatos que têm as habilidades certas: Os candidatos com bom desempenho nesse teste compreendem os fundamentos da garantia de qualidade.
Neste artigo, reunimos um guia completo para ajudar você a avaliar os engenheiros de garantia de qualidade, incluindo o seguinte:
O que é garantia de qualidade?
As qualidades a serem observadas em um engenheiro de garantia de qualidade
Uma lista de 50 perguntas de entrevista sobre garantia de qualidade para usar ao entrevistar seu próximo engenheiro de garantia de qualidade (que você também pode incluir como perguntas personalizadas em testes on-line)
Também fornecemos exemplos de respostas a cada pergunta com explicações para ajudar você a avaliar as habilidades e o conhecimento de seus candidatos.
Se os desenvolvedores de software fossem médicos, os engenheiros de QA seriam os conselhos médicos estaduais que os inspecionam e garantem que não estão fazendo nada perigoso.
Essa é a principal diferença entre um engenheiro de QA e um desenvolvedor de software: O último cria aplicativos, enquanto o primeiro inspeciona o código e mantém os padrões.
Os engenheiros de garantia de qualidade asseguram que os usuários finais tenham uma experiência positiva e, ao mesmo tempo, reduzem riscos como solicitações de reembolso (devido à insatisfação do cliente), problemas com o código-fonte, litígios devido a mau funcionamento do software etc.
Portanto, eles darão suporte aos desenvolvedores durante todo o ciclo de vida do desenvolvimento de software, desde a criação do aplicativo até o teste e a implementação.
Isso significa que os engenheiros de QA devem ter muito conhecimento em diferentes áreas e ser capazes de:
Identificar bugs de software com sucesso
Usar as estratégias de teste apropriadas
Usar as ferramentas corretas de automação e gerenciamento de testes
Saber encontrar e ler a documentação apropriada e muito mais
Um engenheiro de garantia de qualidade precisa ter as habilidades e a experiência relevantes para ser bem-sucedido em sua função.
Os engenheiros de QA precisam ter experiência em garantia de qualidade, bem como o conhecimento prático correto de ferramentas de QA, fluxos de trabalho e linguagem (vocabulário ou jargão). Eles podem ter um diploma de bacharel em ciência da computação ou em uma área relacionada, embora isso não seja obrigatório.
Você pode avaliar as habilidades dos candidatos antes da fase de entrevista com um robusto teste on-line de Engenheiro de teste/QA.
No entanto, não são apenas essas habilidades técnicas que são importantes. Habilidades interpessoais e habilidades cognitivas podem superar a experiência e as habilidades técnicas, que os candidatos conscientes podem aprender no trabalho.
Aqui estão as três principais qualidades de um engenheiro de QA bem-sucedido:
Espera-se que os engenheiros de QA trabalhem em equipes. Eles também podem estar em contato com outros departamentos, como o financeiro e a gerência sênior, e se reportar a eles.
É imprescindível ter sólidas habilidades de comunicação e capacidade de trabalhar com outras pessoas em todos os níveis.
Os engenheiros de garantia de qualidade estão na vanguarda da construção e manutenção da reputação da empresa.
Por esse motivo, pessoas altamente motivadas, com iniciativa própria e que sempre buscam maneiras de melhorar seu trabalho e ajudar os outros serão uma adição valiosa para a equipe.
Você pode avaliar seus candidatos quanto a isso usando um teste de motivação.
Conforme explicado anteriormente, os engenheiros de QA trabalham em estreita colaboração com os desenvolvedores de software e, ocasionalmente, com outras equipes e departamentos. É importante que eles não só entendam a cultura da empresa, mas também estejam alinhados a ela e possam se integrar perfeitamente à sua equipe.
Uma boa maneira de avaliar isso é usar o teste de Afinidade Cultural, no qual é possível comparar os valores e comportamentos dos candidatos com os da sua organização.
Você deve fazer dois tipos de perguntas para entrevista de teste de QA: perguntas sobre personalidade e cultura e perguntas técnicas.
As perguntas técnicas permitem descobrir se o candidato tem as habilidades e o conhecimento especializado, enquanto as perguntas sobre personalidade e cultura ajudam a avaliar se ele se encaixará na equipe e nos negócios atuais.
Nesta seção, você encontrará 10 perguntas de entrevista de QA relacionadas a personalidade e cultura, além de exemplos de respostas para cada uma delas.
Lembre-se de que as habilidades técnicas não são o ponto principal de um recrutamento bem-sucedido.
Com essa pergunta, você dá aos candidatos a chance de falar sobre sua personalidade, além de suas habilidades. Procure candidatos que demonstrem paixão em vez de falar apenas sobre sua experiência e habilidades.
Alguns candidatos a QA podem responder "não" a essa pergunta. Você está procurando um "sim".
Quando surgem problemas de produção, os engenheiros de QA costumam ser um ativo valioso e ajudam a resolvê-los com eficiência. Para identificar problemas, eles devem criar casos de teste sempre que possível. Como resultado, a garantia de qualidade minimiza o número de problemas que um produto terá no final.
Um candidato que responder "sim" a essa pergunta tem maior probabilidade de trabalhar em equipe e estar motivado a fazer o que for preciso para superar obstáculos.
Aqui você está tentando avaliar a experiência e o conhecimento do candidato sobre ferramentas, software e metodologias de QA.
Mas você também está verificando evidências de trabalho em equipe, colaboração, habilidades de resolução de problemas e muito mais.
Procure por paixão e orgulho. Os engenheiros de garantia de qualidade capazes têm orgulho de seus projetos anteriores e adoram falar sobre eles.
Aqui, a pessoa provavelmente explicará como lidou com períodos de muito trabalho no passado.
Seguiu um cronograma rígido? Ou se sente mais confortável com um cronograma menos fixo, o que lhe permite adaptar-se conforme necessário e resolver problemas inesperados à medida que surgem? Eles sabiam quando pedir ajuda? Conseguiu priorizar as tarefas com eficiência?
Essa é uma ótima pergunta para verificar se o candidato tem a personalidade certa para se encaixar em uma equipe existente.
Essa é uma pergunta esclarecedora para engenheiros de qualidade, pois pode revelar sua verdadeira paixão pelo trabalho. Procure candidatos realmente envolvidos em projetos anteriores e que demonstrem uma atitude de "recusar-se a falhar".
Aqui, você está dando aos candidatos a chance de brilhar!
Essa pergunta é importante porque revela traços de personalidade desejáveis (ou indesejáveis).
Ninguém pode dizer que nunca comete erros. Portanto, é um sinal de alerta se um candidato tentar insinuar que seu trabalho é 100% livre de erros. Ele pode ser alguém que foge dos problemas e não trabalha em equipe.
Procure candidatos que sejam honestos sobre seus erros e falhas, mas que mostrem como trabalharam sozinhos e com outras pessoas para resolver o problema e o que aprenderam com a experiência.
Essa é uma pergunta divertida, mas pode revelar muito sobre a criatividade do candidato.
Perguntas como essa podem mostrar se o candidato é capaz de pensar com os próprios pés e fora da caixa, o que são características excelentes para um engenheiro de QA.
Essa pergunta é ideal se você estiver contratando um membro de QA para liderar uma equipe ou se a função tiver o potencial de progredir para uma posição de liderança no futuro.
Também é uma boa ideia verificar se o candidato se encaixaria bem com a pessoa que provavelmente o liderará se ele conseguir a posição.
Aqui, você está procurando candidatos que falem sobre capacitação, honestidade, autonomia, ótima comunicação e escuta ativa.
Você pode considerar essa pergunta um truque, pois não há uma única métrica que seja mais importante do que todas as outras.
Um engenheiro de garantia de qualidade usará métricas diferentes, dependendo do tipo de teste que realizar e dos objetivos da equipe.
O objetivo dessa pergunta é ver se ele sabe como escolher as métricas certas, dependendo dos testes e objetivos específicos, e quais fatores leva em consideração. É uma boa maneira de ver como eles pensam.
Como você provavelmente sabe, recrutar novos funcionários é um negócio caro. Ao fazer essa pergunta, você pode ver onde o candidato se vê em um futuro próximo e intermediário, se o cargo e a empresa podem atender às expectativas dele e se ele pode atender às suas.
Nesta seção, você encontrará 40 perguntas técnicas para funções de engenharia de QA, além de exemplos de respostas para todas elas. Essas perguntas permitirão que você avalie o conhecimento e a experiência de seus candidatos em garantia de qualidade de software.
Um bug de software é uma falha ou erro no código do software. Um bug impede que o software funcione corretamente.
Essa é uma pergunta importante para avaliar as habilidades de gerenciamento de tempo dos candidatos.
Gravidade é o nível de dificuldade para corrigir um problema, enquanto prioridade é o nível de importância para resolvê-lo. A gravidade nem sempre é igual à prioridade.
A gravidade nem sempre é igual à prioridade. Um problema pode ser difícil de resolver, mas não ser de alta prioridade. Por outro lado, um problema pode ser fácil de corrigir, mas ter alta prioridade.
Um exemplo de um problema de alta gravidade e baixa prioridade pode ser um mau funcionamento do software de um aplicativo interno que não é usado com frequência e tem soluções alternativas.
Um exemplo de um problema de baixa gravidade e alta prioridade pode ser o carrinho de checkout de uma loja on-line em que está faltando um link crucial para os termos e condições da loja.
Os comandos Assert e Verify têm muito em comum. Ambos verificam se as condições do código são atendidas. O que se segue após a execução do comando faz a diferença:
Um comando Assert com falha pausará o teste e interromperá a execução do código
Um comando Verify com falha ainda executará o restante do código
Um plano de garantia de qualidade descreve como uma equipe ou organização monitorará o processo de teste. Um processo de controle de qualidade revela defeitos e sugere maneiras de melhorar o software. O processo de testes é como a garantia e o controle de qualidade encontram e corrigem os bugs.
É importante iniciar a garantia de qualidade o mais rápido possível. Quanto mais cedo os analistas de QA, os testadores e os líderes estiverem envolvidos no processo, menos dores de cabeça haverá no desenvolvimento do software. É possível testar o software antes que ele esteja totalmente funcional, realizando testes estáticos.
Esta é uma versão padrão do processo de teste:
Verificar requisitos
Planejar
Analisar
Projetar
Implementar
Executar
Concluir
Fechar
Um plano de teste descreve os detalhes do teste a ser realizado. Ele descreve as funções, as soluções, os recursos e os possíveis riscos antes do início do teste.
Os planos de teste devem incluir o seguinte:
O escopo do teste
A abordagem
Os recursos necessários
O cronograma do(s) teste(s) pretendido(s)
Não é necessário entrar em todos os detalhes ao criar um plano para automação de testes.
Em vez disso, os candidatos devem mencionar alguns aspectos importantes de um plano de teste. Por exemplo, eles poderiam explicar como projetar, executar e gerenciar testes e como relatar os resultados da automação de testes.
Nos casos de uso, as funções são explicadas em termos de suas causas e efeitos. Isso garante que a ação do usuário e o sistema estejam se comunicando adequadamente.
As estratégias de teste descrevem como o software é testado durante o desenvolvimento.
Uma estratégia de teste abrange todos os aspectos do teste, incluindo registros de teste, ferramentas, prioridades e grupos, em contraste com o plano de teste, que descreve um único teste.
Não. Um plano de teste organiza e coleta casos de teste.
Uma estratégia de teste é uma descrição da abordagem de teste. O gerente ou líder de QA gerencia as estratégias de teste, enquanto os testadores de QA gerenciam os planos de teste.
Aqui estão alguns exemplos de diferentes tipos de teste:
Testes entre navegadores
Testes de caixa preta
Testes de caixa branca
Testes de regressão
Testes de integração
Testes de volume
Testes de carga
Testes de estresse
Testes exploratórios
Testes unitários
Testes funcionais
Testes alfa
Testes beta
Testes de agitação
Testes de fumaça
Testes de desempenho
O teste manual pode ser uma escolha melhor em alguns casos porque:
O custo do teste manual pode ser menor do que o do teste automatizado
O teste manual permite que você veja o produto da perspectiva do usuário final
A realização de um teste manual de GUI é mais intuitiva e os resultados são mais precisos; o teste automatizado da GUI é complicado devido à acessibilidade dos recursos visuais e das preferências
Um teste manual pode ser mais fácil de ser executado por novas equipes ou por pessoas que não têm experiência com garantia de qualidade, o que significa que pode ser implementado mais rapidamente
Da mesma forma, o teste manual é ideal para projetos de curto prazo com poucas reutilizações de scripts de teste
Bons casos de teste descrevem claramente os parâmetros sob os quais o teste é realizado e os erros que o testador espera encontrar.
O teste funcional garante que os aspectos cruciais do software atendam aos requisitos e às especificações. Os testes não funcionais examinam aspectos importantes, mas não críticos, como estresse, tempos de carregamento, desempenho e muito mais.
Escrever um caso de teste e executar um teste de regressão imediatamente é a melhor maneira de agir. Dessa forma, os futuros testes de software poderão detectar esse bug específico.
O teste de software se concentra em garantir que o software seja funcional e atenda aos requisitos do usuário. Os testes de QA se preocupam com o monitoramento do processo de produção do software.
No contexto de testes, testware refere-se a componentes de teste, como planos de teste, casos de teste e dados utilizados para projetar e conduzir testes.
Um número de compilação é atribuído pela equipe de desenvolvimento a um software instalado que vai para a equipe de testes.
O número de versão é atribuído pelo desenvolvedor ou testador a um software instalado antes de liberá-lo para o cliente.
Alguns dos desafios relacionados à automação na garantia de qualidade de software são:
A necessidade de dominar as ferramentas de automação
A reutilização potencial dos scripts de automação
A adaptabilidade dos casos de teste para a automação
A automação de casos de teste complicados
Um lançamento com bugs é o processo de liberação de um software ou aplicativo para uma equipe de testes com o conhecimento de que a versão contém bugs. Antes da entrega final, os bugs podem ser removidos, o que significa que sua prioridade e gravidade são baixas.
O termo vazamento de bugs (do inglês "bug leakage") é usado para descrever uma situação em que os bugs são descobertos pelos clientes e não pelos testadores de software durante os testes.
Uma estrutura de teste orientado por dados automatiza o teste dos diferentes valores de input no software/aplicativo sob test. Esses valores são obtidos diretamente dos arquivos de dados. Os arquivos podem conter pools de dados, arquivos CSV, arquivos Excel, etc.
O ciclo de bugs tem as seguintes etapas:
O testador identifica um bug e o atribui ao gerente de desenvolvimento
A equipe de desenvolvimento determina se o defeito é válido e se está dentro do escopo do projeto
Se o defeito não for válido, a equipe de desenvolvimento o rejeita
Se o bug não fizer parte da versão atual (ou seja, estiver fora do escopo), será corrigido em uma data posterior
A equipe de desenvolvimento corrige o bug se ele for um defeito válido
Além disso, os seguintes status de bug são usados:
Duplicado, se o defeito já for conhecido
Em andamento, se os desenvolvedores estiverem trabalhando para corrigir o problema
Corrigido, se a equipe de desenvolvimento já tiver corrigido o bug
Fechado, se o bug passar no teste final
O processo de testar todas as ramificações do código ao mesmo tempo é chamado de teste de ramificação. Por outro lado, o teste de limite se preocupa com os limites do software.
O teste ágil envolve testar o software usando a metodologia ágil. Diferentemente de outros métodos de teste, aqui os engenheiros de QA não esperam que os desenvolvedores concluam o código antes de testá-lo. Em vez disso, a programação e o teste ocorrem simultaneamente. A interação contínua com os clientes também é necessária.
As auditorias de qualidade são exames independentes e sistemáticos dos procedimentos de QA destinados a avaliar sua eficácia.
Nos testes de carga, um aplicativo é testado sob cargas pesadas, mas esperadas. Nesse caso, as solicitações, as mensagens, os usuários e os dados constituem a carga.
No teste de estresse, os testadores submetem o sistema a cargas ou acelerações que excedem a faixa normal.
No teste de volume, os engenheiros de QA verificam se o sistema pode lidar com as quantidades esperadas de solicitações, dados e uso do usuário.
Os engenheiros de QA e de software podem resolver com sucesso os problemas de desenvolvimento de software se usarem os cinco princípios a seguir:
Os requisitos de software devem ser completos, claros e acordados por todas as partes ao definir os critérios de requisitos
É necessário um cronograma realista que inclua tempo para planejar, projetar, testar, corrigir bugs e retestar
Os engenheiros de QA precisam começar a testar assim que a equipe de desenvolvimento tiver desenvolvido um ou mais módulos
As equipes de desenvolvimento precisam criar protótipos rápidos durante a fase de design para que os clientes possam entender facilmente o que esperar
Todos os envolvidos no projeto devem usar ferramentas de comunicação em grupo
O acrônimo CRUD significa Create (criar), Read (ler), Update (atualizar) e Delete (excluir). Os testes podem ser realizados usando instruções SQL.
O teste de thread é um método de teste top-down. Nele, a integração progressiva dos componentes ocorre depois que a equipe de desenvolvimento implementa subconjuntos dos requisitos, em vez de integrar gradualmente os componentes na hierarquia.
O gerenciamento de configuração refere-se ao processo de controle e documentação de todas as alterações feitas durante a vida útil de um projeto. O gerenciamento de configuração envolve controle de liberação, controle de alterações e controle de revisão.
Durante o teste Ad Hoc, o testador tenta quebrar o sistema testando aleatoriamente sua funcionalidade. Isso pode incluir testes negativos.
Os stubs de teste são chamados de componentes de software que precisam ser testados. Os drivers de teste chamam os componentes a serem testados.
Os stubs de teste usam uma abordagem top-down, enquanto os drivers de teste usam uma abordagem bottom-up.
A triagem de bugs é um processo no qual os engenheiros de QA:
Certificam-se de que os relatórios de bugs estão completos
Atribuem e analisam os bugs
Identificam o proprietário adequado do bug e atribuem o bug a ele
Fazem os ajustes necessários na gravidade do bug
Determinam a prioridade do bug
Para projetar casos de teste, os engenheiros de QA podem usar um gráfico de causa e efeito para representar graficamente as entradas e as saídas associadas.
Os testadores de QA mapeiam os scripts de teste para os requisitos usando uma matriz de teste.
Como regra, o desenvolvimento orientado por testes envolve a preparação de casos de teste antes de escrever o código. Consequentemente, você escreve o código para os testes antes de escrever o código do aplicativo.
MR significa Modification Request (Solicitação de modificação). Sua finalidade é relatar erros, problemas ou sugestões de software. Também é conhecido como relatório de defeitos.
Um engenheiro de QA pode usar as seguintes técnicas para conduzir a validação:
Obter verificação e validação independentes
Identificar a equipe interna que não está envolvida com validação e verificação
Realizar outra avaliação independente
A garantia de qualidade de software é fundamental para o sucesso e a lucratividade de uma empresa. A contratação dos melhores engenheiros de QA é imprescindível se você quiser garantir que os usuários finais fiquem satisfeitos com o seu produto, e todos sabemos que a satisfação do cliente tem um impacto direto sobre os lucros.
Por esse motivo, você precisa ter certeza de que está fazendo as perguntas certas aos candidatos na fase de entrevista para poder avaliá-los com precisão e escolher os melhores.
Outro método de seleção de valor inestimável à sua disposição é o teste de habilidades, que é uma maneira eficiente e econômica de avaliar as habilidades dos candidatos no início do processo de contratação.
Com os testes de habilidades, você poderá identificar os candidatos mais talentosos e convidá-los para uma entrevista, reduzindo o tempo e o esforço necessários para fazer uma contratação.
Para obter os melhores resultados, use o teste de Engenheiro de teste/QA da TestGorilla em combinação com outros testes, como os nossos testes de personalidade e de julgamento situacional. Encontre os melhores candidatos que permitirão que sua equipe atinja suas metas agora e no futuro.
Em minutos, você cria avaliações para selecionar as pessoas candidatas ideais, economizar tempo e contratar profissionais excelentes.
Sem spams. Cancele a assinatura quando quiser.
Com nossos testes, fica muito fácil encontrar a pessoa certa para sua vaga e tomar decisões acertadas e justas durante todo o processo.