Testador para uma pequena empresa como esta

“Somos uma pequena empresa de alimentos” - é com essas palavras que eu sempre começo a história sobre o local de trabalho atual de cada candidato que veio para uma entrevista. Somente por essa frase, uma pessoa pode entender imediatamente quais prós e contras ela enfrentará se decidir conectar seu destino conosco.

A pequena mercearia em que trabalho, é claro, não possui seu próprio RH , mas a necessidade de novos funcionários ainda surge. Sou apenas um programador, em nenhum caso reivindicando o título de TeamLead ou PM (de onde eles devem vir), querendo trabalhar com pessoas boas, adequadas e, principalmente, profissionais (na medida do possível dentro da estrutura do contexto já indicado).

Felizmente, tive a chance de procurar um testador, e não ... por exemplo, um vendedor.

Como você provavelmente já entendeu, este post é sobre como encontrar um testador não comum para um programador comum. Na minha opinião, a experiência acabou sendo interessante, mas primeiro as primeiras coisas.

O artigo de forma alguma reivindica as melhores práticas . Eu só queria mostrar minha abordagem nesse assunto.

Artigos na busca de testadores está cheio no Habr


Sim, nem um pouco. Eu li muitos deles, aprendi algo útil para mim, mas há um significativo: MAS todos são escritos, se não por mestres em seu ofício, pelo menos por pessoas que entendem algo em testes ou caça + não se esquecem do orçamento.

Por que exatamente eu?


Simplesmente, eu me tornei o único dos programadores interessados ​​em tocar nessa área de TI (do outro lado das barricadas) e me afastar um pouco das tarefas de trabalho.

Não gosto quando o RH é estupidamente enviando mensagens em massa, lance ofertas baseadas em tags-chave, sem ir mais fundo etc.

Talvez essa fosse minha maior motivação - abordar o processo de contratação da maneira mais responsável e eficiente (possível), provar / mostrar a mim mesmo: "bem, você pode fazê-lo normalmente"

Exigências


Como eu mesmo não o testei com o teste, os requisitos foram feitos de acordo:

  • mentalidade analítica;
  • compreensão de tarefas em testes de software;
  • a experiência do testador e a educação em TI serão uma vantagem.

Na apresentação proger (pé no chão), o testador é aquele que procura bugs e pode descrever em detalhes o processo de reproduzi-los.

Retomar o processo de revisão


E assim, a vaga é publicada em um site conhecido, passamos ao processo de seleção de candidatos. Abaixo, tentei descrever teses especificamente o que estava pagando, ou vice-versa, não prestei atenção ao resumo:

  1. Fazendo um currículo (a presença de todos os tipos de erros) - por que preciso de um testador que não consiga sequer testar seu currículo? (parece ser banal, mas foi encontrado em ~ 20% dos casos)
  2. Eu absolutamente não me importo com idade, sexo, aparência, estado civil, etc. (li várias histórias sobre as “garotas” de RH ).
  3. Ter experiência como testador - acho que está tudo claro: pelo menos alguma experiência é melhor que nenhuma.
  4. Disponibilidade da educação : o mais importante é que não haja humanidades; no entanto, no processo de trabalho, você precisará tirar conclusões lógicas consistentes e não fornecer informações irregulares. (não leve esse item a sério)
  5. Uma carta de apresentação / bloco "Sobre Mim" geralmente é muito ruim aqui: todo mundo escreve como alguém que é ele quem é o único que precisamos, que ele é o melhor, que somos a companhia dos seus sonhos etc.

    Mas, é claro, há exceções às regras : por exemplo, quando um candidato indica que ele descobriu um defeito específico em algum site ou aplicativo conhecido e, o mais importante, ele o registrou , isso é definitivamente uma vantagem no karma.
  6. As principais habilidades são um ponto muito interessante, não estamos interessados ​​em todas essas tags de controle de qualidade : Teste funcional, compilação de casos de teste , UI de teste etc. etc., embora seja melhor, é claro, tê-los presentes.

    Vantagens separadas merecem tags indicando Selenium e outras ferramentas de automação de teste.

    Mais importante: prestamos atenção às habilidades de "não testador" , por exemplo: Python , Unity , PHP , Compass-3D , Sql , etc. (Eu vou te dizer por que mais tarde)
  7. Cursos / Certificados - um ponto muito controverso / controverso: se o candidato não tem experiência como testador ou sem formação em TI, a presença deste item é bem-vinda.

    Geralmente, os candidatos anexam listas de verificação que serviram como "trabalho de graduação" - você deve admitir que já há algo para ver.

Conversa pessoal


E assim, com base nas “regras / recomendações” acima, selecionamos os candidatos nos quais estamos interessados, vamos além - a comunicação pessoal. Não indiquei especificamente a palavra assustadora "entrevista" , porque não vou brincar com um candidato a um policial ruim / bom, etc. Sinceramente, quero me comunicar especificamente, construir um diálogo para que o processo ocorra da maneira mais confortável e interessante para todas as partes. Pelas mesmas razões, não faço perguntas técnicas específicas (bem, não esquecemos que não tenho conhecimento para fazer essas perguntas).

Abaixo está uma lista de tópicos / perguntas com os quais eu gostaria de conversar, descubra as respostas:

  1. Local de trabalho anterior (se houver) - tudo está de acordo com o padrão:
    • o que exatamente você fez e como exatamente você fez?
    • por que você decidiu mudar?
    • qual era o tamanho da equipe e qual era a equipe no projeto?
    • Em que tipo de projetos você estava trabalhando? (a menos que a NDA permita isso)
    • Quais metodologias de gerenciamento de projetos você usou?
    • etc.
  2. Educação - Pessoalmente, não me importo com sua presença ou ausência, está finalizado ou não, é um ponto ou uma correspondência etc., estou interessado na posição do meu interlocutor sobre esse assunto, por que ele tomou essa ou aquela decisão por si mesmo sobre esse assunto.
  3. Principais habilidades (aquelas do currículo do candidato) - nesta fase, você pode aprender muitas coisas interessantes e úteis. É importante descobrir exatamente como ele adquiriu essas habilidades.

    Alguns exemplos
    • Há um candidato cuja habilidade principal é indicada, por exemplo: - Unidade , durante uma conversa, uma pessoa tenta desenvolver jogos em seu tempo livre, ou seja, fica imediatamente claro que existe interesse no campo de TI e que conhecimentos / habilidades humanas podem ser considerados dignos de aplicação;
    • Outro exemplo: se uma pessoa conhece o Sql ou alguns fundamentos do Php , que, a propósito, ele compreendeu no último local de trabalho, porque lidava com uma montanha de programadores, que precisavam ser monitorados e inseridos em uma linha de código especificamente quebrada. A conclusão é que a pessoa diante de nós não é desajeitada;
    • Também há exemplos negativos: o candidato nas habilidades especificadas em Python - parece ser legal, mas no decorrer da conversa, ele certamente não conhece YP, ele não leu nenhum livro, apenas ouviu que o rapaz é legal e é por isso que ele apontou. ( WTF!? )
  4. Perguntas sobre os bugs mais interessantes / complexos que você encontrou - aqui, o mais importante é prestar atenção em quais emoções você será apresentado: se nesse momento uma pessoa estiver com os olhos ardendo, uma tempestade de emoções, etc. - Definitivamente, um bom sinal, o que significa que uma pessoa está cansada de seu trabalho. Além disso, pergunte como exatamente uma pessoa conseguiu pegar esses bugs inesquecíveis / únicos.
  5. Testando na vida real - neste caso, eu acho, prof. deformação é boa. Uma pessoa deve ser distorcida a partir de batentes de software com os quais é encontrada em toda parte. Pergunte ao entrevistado sobre essa experiência, com certeza, ele tem algo a lhe dizer (foi triste observar que ~ 50% não tiveram essa experiência).
  6. Interesse pessoal nos projetos / direção da empresa (não é necessário, mas será uma boa vantagem).

    Alguns exemplos para entender
    • Se você estiver desenvolvendo um software que, digamos, construa a rota ideal de viagem enquanto viaja, seria bom que a pessoa que você gostaria de viajar e encontrasse pessoalmente problemas que seu aplicativo resolve;
    • Se você estiver desenvolvendo jogos, é recomendável que o testador goste de jogar, acompanhe todas as atualizações mais recentes etc.
  7. Contra-perguntas - fico muito feliz quando elas são feitas, principalmente quando há muitas. É claro que o candidato está interessado em seu local de trabalho, horário de trabalho, pilha de tecnologia, equipe etc. Mas quando o candidato tem um interesse genuíno nos projetos que você está realizando - custa muito! Você não tem idéia de como é bom ouvir quando eles dizem que essa foi a entrevista mais interessante / incomum da vida deles.

Tarefa de teste


O que você achou? Não é tão simples!
Não tenha preguiça de fazer uma tarefa de teste! Certifique-se de ouvir! E é claro que não deve estar em um pedaço de papel!

Especialmente, no joelho (neste caso, é apenas à mão), foi implementada uma aplicação simples ( CRUD com a entidade usuário) com batentes obviamente e também "TK".

Cardumes na lógica do programa:

  • falta de validação de dados nos campos de texto;
  • o controle do calendário não é limitado de forma alguma ao inserir a data de nascimento do usuário (você pode especificar a data de nascimento amanhã, etc.);
  • a data de criação / salvamento do usuário está indicada incorretamente (-1 dia a partir da data correta);
  • idade do usuário calculada incorretamente (sem usar arredondamentos);
  • quando o aplicativo foi fechado, os dados não foram salvos;
  • desligamento do programa após 5 minutos trabalho (na minha opinião, o bug mais engraçado);
  • ao alterar os dados de um usuário existente, o campo do nome do meio sempre permanece inalterado na lista de todos os usuários;
  • o campo de idade não foi atualizado quando a data de nascimento foi alterada (atualize somente ao alternar entre usuários).

Não pode no layout:

  • a presença de erros ortográficos;
  • As informações adicionais do TextBlock sobre o usuário foram removidas ao inserir um grande conjunto de dados;
  • falta de layout adaptável (com o tamanho inicial da janela, todas as regras, com uma alteração - tudo vai bem);
  • falta de localização em um dos campos do usuário.

Cardumes de desempenho (que quase ninguém encontrou):

  • adicionar um registro inadequadamente aumenta a carga na CPU;
  • ao excluir um registro, a memória é preenchida inadequadamente.

Ao emitir uma tarefa de teste, o estilo de instituição de bugs não era indicado especificamente - era interessante observar diferentes variações, mas basicamente tudo era o mesmo (lista / lista de casos de teste ), às vezes a presença de capturas de tela agradava.

Além disso, os sujeitos foram convidados (se desejado) a pensar sobre o que, em sua opinião, era possível adicionar / modificar / remover na parte funcional do software testado.

Obviamente, é aconselhável que o teste seja emitido / realizado antes da sua conversa, para que, nesse caso, possa ser discutido.

Uma observação interessante: houve candidatos sem experiência profissional que fizeram o teste melhor do que aqueles que tinham experiência por trás deles.

Por que exatamente ele?


Antes de revelar todos os cartões, darei algumas estatísticas: em duas semanas de pesquisa, a vaga foi assistida mais de 500 vezes, 50+ candidatos responderam, dos quais ~ 10 foram selecionados para conversas pessoais e tarefas de teste, eles receberiam a terceira oferta. Também me ocorreu que cerca de um terço de todos os candidatos considerados tinha experiência como testador em grandes empresas, das quais todos estavam ouvindo falar.

Mas o resultado superou todas as minhas expectativas: uma garota com aparência de modelo (não havia foto no perfil para meninas de RH “ela foi imediatamente drenada de suas palavras), com uma experiência econômica e de trabalho superior incompleta como testadora em duas empresas (uma das quais é muito grande) .

Eles levaram isso precisamente para um pensamento fora do padrão: ao executar uma tarefa de teste, "desmontou" o programa, indicando eventualmente todos os bugs especialmente ocultos até a linha do código.

Como resultado, depois de mais de seis meses de trabalho, não temos alma nele. Um programador oculto acordou em nosso testador - e estamos todos dispostos a ajudá-la com isso.

Em vez de uma conclusão


Por fim, gostaria de deixar algumas dicas óbvias que, por algum motivo, poucas pessoas seguem:

Para o empregador - sem falta, dê feedback, indique exatamente o que o candidato não possui (não seja preguiçoso!).

Para o solicitante - não "insira TI" por uma questão de dinheiro; se você não tiver experiência, preencha sua mão (abra qualquer aplicativo / site e teste mais).

Source: https://habr.com/ru/post/pt483510/


All Articles