Muitos estereótipos estão associados aos testes: eles o tratam como um início rápido de TI com a perspectiva de um salário alto, mas não vêem isso como uma profissão séria. Parece que o teste é uma rotina contínua, onde não há lugar para criatividade e realização das próprias idéias.

Juntamente com o chefe do departamento de QA / QC da Redmadrobot e o curador do nosso curso
Software Testing Marishunya_QA, descobrimos quais habilidades um testador precisa ter, onde desenvolver nos testes, com o que a rotatividade de pessoal está realmente relacionada e por que bons programadores não devem assumir a responsabilidade testador.
O que o departamento de testes faz?
Muitos dizem que o testador deve "quebrar o produto" - encontrar uma vulnerabilidade que tornaria impossível o uso do aplicativo. Isso é fundamentalmente errado. O testador deve considerar o sistema de todos os lados, pensar em como o aplicativo pode se comportar em várias situações, verificar a "proteção contra o tolo" - o que acontecerá se você digitar, por exemplo, o número em vez do sobrenome.
Se falamos de aplicativos móveis, muitas pessoas pensam que o teste é limitado à rotação da tela, ou seja, casos de uso padrão. Um engenheiro no processo de teste faz a pergunta: “O que um novo recurso pode afetar? Em que situações algo pode dar errado? ” Adquira uma loja online: um programador implementa uma função de desconto para um código promocional. Se ele começar a checar a si próprio, entrará no cesto, por exemplo, no menu principal - ele estará convencido de que tudo funciona e não pensará que isso possa ser feito de três outras maneiras, para as quais você também precisa registrar uma chamada de função. O testador deve seguir o caminho de todos os usuários, gravar casos de teste para vários cenários e depois retornar a eles. Portanto, o departamento de testes acompanha o produto durante todo o seu desenvolvimento e está no centro do ciclo de vida do software em forma de V.

O testador deve conhecer os requisitos de negócios e as nuances técnicas, pois testa especificações e casos de uso; ele também precisa definir suas notas junto com outros membros da equipe para planejar a entrega corretamente, às vezes chuta o desenvolvedor, porque no final do sprint o gerente de projeto vai ao departamento de QA / QC para perguntar se o aplicativo foi testado.
O testador pode afetar todas as funções do projeto e deve ser capaz de provar a cada participante por que é necessário fechar um bug específico ou atrasar completamente a liberação. Um especialista competente e experiente que desde o início participa do desenvolvimento da aplicação, mesmo na fase de coordenação do trabalho, pode reduzir o tempo para estabilizar o produto e, portanto, reduzir o preço de um erro. Se os testadores, mesmo na fase de revisão, perceberem um erro no texto, o custo do erro será a hora de trabalho do analista para adicionar algumas linhas. Quando os erros já são encontrados no estágio de montagem, você precisa pedir ao analista para reescrever, refazer o desenvolvedor e verificar novamente os testadores - este é o dia do trabalho e a transferência do release, ou mesmo a exceção dos recursos do assembly de lançamento
QA e QC: qual é a diferença?
Na Rússia, os conceitos de garantia de qualidade (garantia de qualidade) e controle de qualidade (controle de qualidade) são confusos. Frequentemente, você pode ver uma representação esquemática em que o CQ está localizado dentro do controle de qualidade e o próprio teste está dentro do CQ.

É muito mais correto descrever isso:

De fato, o controle de qualidade e o controle de qualidade são duas coisas diferentes e funcionam paralelamente. Grosso modo, você pode ensinar testes simples a quase todos: sente-se à mesa, faça a montagem beta do aplicativo e diga: "Verifique como ele funciona". O QC é um engenheiro que conhece as abordagens, vê o produto ao vivo, desenvolve uma estratégia de teste e conhece os princípios básicos, isto é, controla a qualidade do próprio produto. O CQ trabalha diretamente com os desenvolvedores, compila uma base de casos e organiza os testes.
O controle de qualidade é uma pessoa que fornece qualidade não no nível do produto fabricado, mas toda a empresa como um todo, isto é, é responsável pelos processos e fornece as condições para a operação correta do controle de qualidade, coordena os departamentos para vários produtos e elabora planos de teste. Responsabilidade O controle de qualidade começa com as negociações com os clientes, trabalhando com os departamentos relacionados e criando interações, continua no processo de desenvolvimento e termina já na apresentação do produto. Afeta não apenas aspectos técnicos, mas também legais. Na empresa, todos os departamentos podem funcionar bem: as vendas são vendidas, os programadores codificam, os gerentes de projeto controlam os processos. No entanto, para que o mecanismo funcionasse sem derrapagens, a interação entre os departamentos era clara e o resultado era um produto de primeira classe; era necessária garantia de qualidade - essa é a garantia de qualidade.
Como se tornar um testador?
Atualmente, não há departamentos ou áreas especiais no campo de testes nas universidades russas; portanto, não há requisitos educacionais para os candidatos, embora ter uma especialidade técnica ou cibernética seja uma grande vantagem.
Na maioria das vezes, nas vagas de testador, você pode atender aos seguintes requisitos:

O principal requisito para um candidato é pensar em algoritmos e sistemas. É aconselhável ter algum tipo de formação técnica e conhecer a teoria. O que é teste, QC, QA e como eles diferem? Que tipos de teste existem e como combiná-los? O que é um design de teste, caso de teste, plano de teste? Você precisa conhecer pelo menos uma linguagem de programação orientada a objetos, o básico de bancos de dados, arquitetura cliente-servidor e trabalhar em vários sistemas operacionais.
Se isso anteriormente era um problema, agora a Internet está cheia de recursos especializados, como um
fórum sobre Teste de Software . Se falamos de livros, a lista de referências abaixo:
- “Testing Software Computer”, Cem Kaner, Jack Falk, Hung Q. Nguyen
- “Principais processos de teste. Planejamento, preparação, implementação, melhoria ”, Rex Black
- “Teste de software. Curso básico ”, Svyatoslav Kulikov
O mercado agora tem um grande problema com o pessoal, porque, além das habilidades técnicas, é importante ter uma mente inquisitiva, poder transmitir seu ponto de vista e defendê-lo em qualquer nível. Também é muito importante para um testador mergulhar na área de assunto para discutir com os analistas de negócios em termos iguais e explicar-lhes por que algumas de suas idéias não funcionarão corretamente. Uma boa qualidade para um testador é ser “preguiçoso o suficiente”, porque pessoas preguiçosas tendem a otimizar processos para não perder tempo e tempo extra com eles no futuro.
“Garantia e controle de qualidade são algo novo para a Rússia. O problema é um mal-entendido do propósito e dos objetivos dos testes em geral. Eles criam um departamento, mas não sabem o que fazer com ele. Não há tarefa claramente definida, e é por isso que não há motivação para trabalhar para o resultado. Há sete anos, comecei a trabalhar em testes na Ucrânia e agora enfrento o mesmo mal-entendido que conheci na época. Na Rússia, a maioria dos clientes é do setor público e bancário, com sua burocracia pesada e desajeitada. Na Ucrânia, eles responderam por apenas cerca de 20% do mercado, o resto são empresas privadas que podem contar seu dinheiro. ”
Marina Kulikova, Chefe de QA / QC, Redmadrobot
Como ser um testador?
Entrar na profissão é simples, mas crescer e se desenvolver ainda mais é muito mais difícil. Se compararmos os testadores com os programadores, os últimos serão "profundos" durante suas carreiras. O testador está no centro do ciclo de vida do produto; portanto, ele precisa ver toda a imagem, às vezes interceptar as funções de um gerente de projeto e se envolver na análise do produto, ou seja, se desenvolver “em amplitude”. O testador obtém muitas habilidades de áreas relacionadas, muitas vezes entende mal o escopo de seu campo, olha em volta e entra em outra coisa: programação, proprietário do produto ou análise. Como resultado, os especialistas em testes geralmente mudam de profissão e os departamentos de QA / QC sofrem com a falta de pessoal altamente qualificado.

Embora o teste seja realmente uma indústria interessante, onde a criatividade às vezes não é menor do que no próprio desenvolvimento. O testador geralmente precisa trabalhar com a falta de dados de entrada, nas condições de especificações estritas ou nos requisitos estritos do cliente, sem mencionar o fato de que, às vezes, você precisa inserir o código sozinho com suas próprias mãos. Ao crescer para posições de liderança, você precisa se comunicar muito com os outros departamentos e com os clientes, comprovando seu ponto de vista no controle de qualidade.
Você pode aprender mais sobre testes e obter experiência prática em nosso curso de
Teste de Software , onde Marina Kulikova falará sobre técnicas de design de teste e como garantir a qualidade do seu software em qualquer condição.