Profissão: Testador

Testador: Isso é um bug ou um recurso?
Desenvolvedor: Até agora, esse é um recurso.
bash.im


Um engenheiro de testes é minha primeira especialidade na área de TI nos anos 2010, como, talvez, para muitos. Era um clássico "entre em TI": naquela época havia apenas uma educação econômica e 4 anos de experiência em trabalho analítico em telecomunicações. Das habilidades: olhos ardentes, um grande desejo, um conhecimento médio da administração do UNIX e um modelo OSI aprendido de cor (sem muita compreensão do que fazer a seguir). 87 perguntas na entrevista (de “o que é chmod 777” e “como o ssh funciona” para “nos falar sobre os princípios do TCP e explicar com exemplos”) - e a posição de engenheiro de teste está em minhas mãos. Um pouco mais tarde, em 2 anos, havia tudo: orgulho, desespero, decepção, excelente trabalho, crescimento rápido, projeto interessante, etc. Se eu soubesse um pouco mais sobre a profissão de testador, não haveria muitos minutos e horas desagradáveis. Bem,deixe que aqueles que escolherem seu caminho ou mudarem de direção não os tenham - este artigo é para você. 


Quem é esse?


Um testador (vou chamá-lo um pouco, explicarei um pouco mais tarde o motivo da reserva), ele também é um engenheiro de controle de qualidade (Quality Assurance) - um especialista que verifica a qualidade do software e o nível de conformidade com necessidades predeterminadas e resultados esperados. Em seu trabalho, ele usa várias ferramentas, estratégias de teste, está incluído nos comandos SCRUM, etc. 

Às vezes, existem dois "tipos" principais de testadores.

  1. O testador é um testador iniciante que realiza principalmente testes manuais de acordo com os planos de teste descritos anteriormente. Os caras de mau nome geralmente se ofendem.


    Este é um testador, mas rapazes e meninas ainda são testadores! (minuto de chauvinismo de TI)
  2. — junior lead, , , -, ( ).

Esta é uma classificação muito ampliada e não muito séria. De fato, os testadores são diferentes: especialistas em testes automatizados, testadores de DBMS, analistas de testes, testadores, testadores de DevOPs e assim por diante. Tudo depende de quais habilidades cada especialista individual combina. 

Em geral, o trabalho de um engenheiro de teste pode ser reduzido para a seguinte ordem: software recebido → determinou o conjunto de testes necessário → comparou a posição real de batentes, muletas, bicicletas e bugs com o resultado esperado do programa (complexo hardware-software) → bugs iniciados → você trabalha com eles até que eles fechem. Tudo isso, é claro, em um ciclo.

Eu direi imediatamente: os primeiros meses de trabalho em testes se assemelham ao dia da marmota, você faz a mesma coisa, executa os mesmos testes várias vezes, passa ou falha ou falha, inicia bugs e parece que esse trabalho definitivamente não é para você, mas antes para um estudante ou macaco. E esse sentimento de si é monstruosamente deprimente e igualmente monstruosamente falso. Tudo muda quando a experiência chega. 

Aqui estão os estágios pelos quais você provavelmente passará no trabalho como testador do zero.

Os primeiros 2-3 meses - treinamento. Se a empresa for boa e avançada, eles fornecerão a você um mentor que o ajudará a dominar todas as metodologias de teste adotadas pela empresa, mostrar o equipamento, falar sobre o software, as tarefas deste software e, certamente, sobre os clientes. Às vezes, após os resultados de um treinamento com um mentor, você precisa passar por um pequeno exame (mini-entrevista). Isso é completamente normal porque é o controle de qualidade que é uma divisão importante no caminho para o cliente e seu bom trabalho é a garantia de que seu produto no negócio de outra pessoa começará a funcionar e não estragar. Se a empresa realmente não se importa com o desenvolvimento dos funcionários, você terá que conseguir tudo sozinho, mas não vou dizer que é muito ruim: com o auto-estudo, a imersão no software é muito mais profunda e você entende muito mais do que o mentor experiente diz sobre o produto, que ele conhece muito bem. 

Eles gostam de novatos em testes - às vezes encontram os bugs mais interessantes e inesperados, que há muito são esquecidos por funcionários que trabalham há muito tempo.

História. Uma nova garota veio a uma empresa, que não se mostrou de forma alguma, estudando silenciosamente o software e os princípios de seu trabalho com diferentes equipamentos. Quando ela apenas começou a testar, os críticos chegaram do grande e mau cliente federal (o bug mais maléfico, pior apenas o bloqueador) - o software se recusou a fechar. Carregou o código inteiro, gritou um com o outro, verificou todas as conexões, etc. Após três horas de arremesso, a garota chiou:
- E então a cruz está inativa.
De fato, a única função muito óbvia simplesmente não funcionou. Mas os profissionais entraram na selva, e um amador entusiasmado imediatamente notou um comportamento anormal.


Além disso - de vários meses a 2 anos - testes manuais. Você realizará a maioria dos tipos de testes no modo manual, começará a elaborar seus planos de teste e a interagir com os desenvolvedores. Nesse estágio, chega o mesmo dia da marmota, quando parece que os cavalos estão correndo em círculo e ainda mais - rotina e tédio. Isso não é verdade. Durante esse período, o engenheiro de testes constrói um entendimento integrado dos testes, aprende a trabalhar com programadores, vê não apenas o bug em si, mas também analisa suas possíveis causas. A principal coisa que ocorre durante esse tempo é a percepção de que o teste manual deve permanecer no século passado e ... chegou a hora de mudar para a automação de teste quando você começa a dominar uma linguagem de programação (ou usa a masterizada anteriormente) e escreve seus próprios scripts - aqueles que considera necessários por trabalhar com software.A parte muito legal está chegando. (No entanto, muitos testadores, especialmente as meninas, preferem parar nos testes manuais e se tornarem verdadeiros - a propósito, eles são funcionários muito úteis e, como mostra a experiência, os melhores mentores para iniciantes).

A partir de 2 anos - um especialista qualificado, pronto para trabalhar no escritório e no lado do cliente, para testar grandes projetos, não apenas fragmentos e módulos, que conhece profundamente sua especialização e nem todo mundo é muito profundo, capaz de trabalhar não apenas com software especializado, mas também Teste interações em várias configurações de hardware, software e integração. Esses caras falam de forma fria e inteligível em conferências e reuniões, compartilham segredos profissionais, treinam e ... pensam sobre sua futura carreira. Mais sobre isso abaixo.

O trabalho de um testador de software é bom, pois você pode escolher uma empresa relacionada ao que lhe interessa em alguma perspectiva: você pode testar telefonia, software, software comercial, jogos, aplicativos móveis, sistemas de segurança etc. Ao testar um produto em particular, você mergulha profundamente nele, aprende por dentro e no futuro pode se tornar um desenvolvedor ou gerente de projeto / produto com um conhecimento profundo do assunto.

E sim, o teste é uma das melhores maneiras de iniciar uma carreira na área de TI, acessível à maioria dos indivíduos com a cabeça nos ombros. Portanto, se você quiser, mas ainda não está claro o que e onde, vá para testadores, testadores , isso ficará rapidamente claro.

Prós e contras de trabalhar como testador


Esta seção não estava em posts anteriores da série profissões, mas estará aqui. Como existem muitos boatos, disputas em torno do trabalho de engenheiros de teste, alguém a odeia e alguém dedica toda a sua carreira a ela. Então, vamos analisar o que é bom e o que é ruim.

▍ Vantagens


  1. Até certo ponto, o trabalho do testador é mais simples que outras especialidades técnicas e está disponível para muitos interessados ​​no campo de TI. A decisão de todos é cruzar a linha até o intervalo em que o trabalho se torna o mais difícil possível. Se você não for mais longe, eles não o expulsarão dos testes, você ainda estará em demanda.
  2. A necessidade de testadores não desaparecerá enquanto houver tecnologia da informação, comunicações, Internet, robôs, pilotos automáticos etc.
  3. — , . , ( , , ..).
  4. : , , , .
  5. , , , , , .
  6. .
  7. « » , , . . — , .


  1. :-) , : , , , . ?! — , . , , . , , . 

  2. , .

  3. , . .
  4. — , .
  5. — . , « » . , ( ).
  6. - — - , .

A escolha depende de quão próximas as vantagens estão de você e se você está disposto a pagar por elas com o que está listado nos pontos negativos. Em princípio, com a organização adequada do trabalho e a auto-organização de um funcionário, muitos dos pontos negativos são reduzidos a nada.

Onde é necessário?


Ao contrário dos desenvolvedores, o testador não é necessário em todas as empresas em que pelo menos alguma ferramenta ou aplicativo de automação é produzida (mas em vão! Mas essa é a decisão das próprias empresas). No entanto, definitivamente são necessários testadores de todos os níveis em várias empresas.

  • Quaisquer empresas de desenvolvimento, bem como fornecedores de sistemas de software e hardware (de processadores a caixas registradoras e terminais).
  • Desenvolvedores de jogos e aplicativos móveis divertidos.
  • Empresas Fintech: bancos, corretores, instituições financeiras, etc. 
  • Integradores de sistemas que fornecem soluções técnicas complexas e multicamadas para o segmento corporativo.
  • Frequentemente, os testadores de software são necessários no estado das fábricas, empresas automobilísticas, mídia on-line, varejistas, cursos on-line, etc.

A propósito, a profissão de testador é um dos centenários da TI com grande potencial. Porque, mesmo que os robôs programem robôs enquanto houver pessoas, alguém terá que testar todos esses dispositivos e aplicativos em termos de adaptação ao uso humano. Então, são os testadores que se tornarão a última barreira no caminho dos robôs para sacolas de couro bastardas :-) 


salário médio


Veremos um salário em "Habr Career". Leve os dados para o segundo semestre de 2019, independentemente da propriedade de uma pilha específica. 

Para especialistas em testes manuais:
Nível especialista
salário médio
Estagiário (Intern)
33 333 esfregar.
Júnior
44 024 esfregar.
Meio
68 031 esfregar.
Senior
107 203 esfregar.
Apresentador (lead)
146 428 esfregar.

Para especialistas em testes automatizados:
Nível especialista
salário médio
Estagiário (Intern)
36 366 esfregar.
Júnior
61.486 rublos
Meio
88 246 esfregar.
Senior
131.222 esfregar.
Apresentador (lead)
201.461 rublos

Como você pode ver, há todos os motivos para desenvolver e passar para um novo nível de teste.

Requisitos profissionais básicos


Desta vez, não haverá tabelas com as tecnologias mencionadas com mais frequência, porque as metodologias e ferramentas de teste de empresa para empresa podem ser muito diferentes. Considere as habilidades sem as quais uma carreira não funcionará (preste atenção - você pode adquiri-las durante o curso do trabalho, deixá-las tranqüilas no início, mas não de todo).

  • — , + . .
  • — Java, SQL, Python, .
  • Agile, -. 
  • Linux.
  • .
  • OSI ( , .). Wireshark.
  • — Bugzilla, Jira .
  • Selenium — -. . 
  • É aconselhável entender as estratégias para testar caixas pretas, brancas, cinza e descobrir onde você é mais aplicável como especialista.

Esta é a base, com a experiência, você verá onde e quão profundo você precisa mergulhar. 

A propósito, se você não tem absolutamente nenhuma experiência, mas há pouco tempo para se preparar para trabalhos futuros como testador em paralelo com seus estudos, eu tenho três hacks para você.

  1. Torne-se um Freelancer de controle de qualidade para pequenos projetos de teste manual. Eles pagam pouco, mas você aprenderá a pensar como testador, escrever casos de teste e relatar resultados. 
  2. Se o objetivo é testar a web (e isso é mais frequente), crie seu próprio site oblíquo torto, mas completo, sem modelos e CMS pronto. Então você entenderá como o ambiente funciona por dentro e conhecerá o habitat de todos os insetos típicos.
  3. Encontre o programa de qualquer curso de teste, procure materiais nele e acumule a base teórica para passar na primeira entrevista com sucesso.

Qualidades pessoais importantes


Em princípio, um testador pode ser um introvertido ou extrovertido, um jogador ou um ator de papel, gentil ou não. As habilidades comunicativas desempenham um papel em uma equipe, mas a adequação geral geral e a capacidade de expressar os pensamentos são suficientes. Nos testes, você precisa de outras configurações de personalidade mais sutis.

  • Habilidades analíticas para entender os relacionamentos, analisar grandes quantidades de dados, resultados de testes etc.
  • Habilidades de gerenciamento e planejamento de tempo - somente com elas você pode fornecer alto desempenho no contexto de uma carga de trabalho séria.

  • A intuição especial que vem com a experiência é que o testador deve antecipar antecipadamente onde um erro em potencial pode ser esperado.
  • Alto limiar de paciência e resistência ao estresse - é importante testar cuidadosamente o produto, discutir tranquilamente com os desenvolvedores, reproduzir repetidamente o bug, resolver os mesmos casos de teste etc.

  • A capacidade de concentrar e manter a atenção por um longo tempo. A propósito, às vezes é o teste que permite desenvolver essa habilidade e salvá-la para sua futura carreira.

A necessidade de conhecimento de línguas estrangeiras


Talvez o engenheiro de teste seja um tipo raro de especialização em TI, onde você pode conhecer o idioma exclusivamente no nível dos comandos da ferramenta. Isso se deve a dois recursos importantes:

  • muitos artigos e métodos foram traduzidos para o russo;
  • geralmente o volume de conhecimento do idioma é determinado precisamente pelos recursos do produto e da empresa - respectivamente, se a empresa trabalha no mercado inglês, o nível é necessário (por exemplo, para testar a documentação ou se comunicar com a equipe e os clientes internacionais) e, se estiver no mercado russo, os requisitos de idioma são praticamente nulos.

Mas, novamente, se você quiser se tornar uma automação séria ou se desenvolver, precisará da linguagem cada vez mais; portanto, é melhor não perder tempo e ficar em dia com o Intermediário. 

Tive um exemplo quando precisava de um testador com conhecimento de japonês e separadamente - com conhecimento de alemão, inclusive para trabalhar com clientes (remotamente). Então, eles encontraram, treinaram e deram um salário maior do que os desenvolvedores da empresa. Porque os especialistas são únicos. Eles não desapareceram agora :)

Onde estudar


Existe um curso básico de teste de software em especialidades especializadas na universidade, há cursos em universidades corporativas e cursos individuais nas empresas.

Treinamento fundamental para um engenheiro de testes na Rússia não existe.

Talvez seja pela primeira vez em nossa série "Profissão" que destacarei os cursos on-line para o ensino de testes: eles podem realmente atualizá-lo, ensinar os princípios do teste, aprender a encontrar, ver e corrigir bugs etc. Para um iniciante, você pode encontrar uma opção aceitável e segui-la - isso lhe dará confiança na entrevista e no conhecimento da primeira vez.

O melhor treinamento nessa área é passar de trainee para médio ou sênior nas empresas. No contexto dos esforços de auto-educação, geralmente é perfeito. Como regra, após a primeira experiência adquirida em uma empresa, é muito fácil envolver um testador em outras. O principal é encontrar a primeira prática estimada :)

Principais livros e ferramentas de aprendizagem


▍Livros


  • Arbon Jason, Carollo Jeff, Whittaker James "Como testar no Google" - um livro informativo que é melhor ler já com alguma experiência, pelo menos júnior. Mas do que estou falando! Leia e aproveite em qualquer nível, muito útil e bem escrito.
  • Boris Beiser “Testando a caixa preta. Tecnologias para teste funcional de software e sistemas ”é uma literatura clássica para testadores. É mais um livro acadêmico sobre testes, muito sensato.
  • , , « » — ( ).
  • « , -» — , . .

▍-



ArticlesArtigos úteis sobre Habré sobre a própria profissão




Bem, em geral, o hub "Testando sistemas de TI" ao seu serviço. Em Habré, há muita utilidade nesse assunto.

▍ Testadores de festa


A propósito, se eu sou cético em relação a conferências sobre desenvolvimento, recomendo participar de conferências, reuniões, festivais e reuniões de testadores e familiarizar-se cuidadosamente com o programa - você pode encontrar descobertas e técnicas muito interessantes em seu arsenal.

▍ Wikipedia


O teste de software é um ótimo artigo da Wikipedia que apresentará os desafios futuros da profissão de uma só vez. Presto homenagem a ela como a primeira fonte do meu conhecimento em testes. A propósito, ela era muito mais modesta.

O futuro do testador


Além da maneira padrão nos testes (do estagiário ao líder), existem várias maneiras mais prováveis ​​de desenvolver a carreira de um testador.

  • O desenvolvimento de software é uma maneira lógica e não a mais difícil para quem está interessado em linguagens de programação e deseja não apenas escolher o código de outra pessoa e um projeto finalizado, mas também criar algo dentro da equipe.
  • Gestor de projeto. Excelente conhecimento do projeto como um todo, um entendimento das necessidades e exigências dos clientes é um caminho direto para esse ponto.
  • O Scrum Master é uma propagação interessante, que os testadores gerenciam bem graças ao conhecimento do projeto como um todo e à capacidade de planejar com precisão os prazos.
  • Analista de negócios, comerciante - dinheiro, mas posições não tão técnicas para caras com boas habilidades de comunicação.

Em princípio, depois de testar, é bom trabalhar em qualquer cargo nas empresas de TI, de gerente de relações públicas a gerente de projetos e fornecedor de produtos, porque você sabe tudo e um pouco mais sobre o produto e as funções dos funcionários nos projetos da empresa.

Mitos da profissão


▍Testers - a casta mais baixa do setor de TI 


Agora era uma vergonha. Ou é como as Forças Aéreas, mas "não codificou - não é especialista em TI"? O departamento de testes é essencialmente um departamento de controle de qualidade real que não permitirá que a empresa se desonre na frente do cliente (se uma muleta pesada cair em algum lugar, hehe), detectará erros óbvios de UI / UX a tempo, verifique a lógica interna do aplicativo ou serviço. O trabalho integrado de testadores de todas as empresas de TI do mundo fornece um certo nível de qualidade e economiza a milhões de empresas o dinheiro que pode ser perdido em reclamações dos usuários finais sobre bugs intermináveis. 

Os testadores são especialistas em TI fortes e de pleno direito, que diferem em uma abordagem integrada de software e agronegócio, conhecimento profundo do produto e capacidade de ver relacionamentos não óbvios no desenvolvimento. 

▍Testar é apenas encontrar bugs


Não. O teste é um processo complexo de ponta a ponta de trabalho com um produto, seu ambiente de hardware e software e também com documentação. Encontrar um bug é uma questão muito pequena, mas analisar, reproduzir, coletar todas as informações, fazer despejos, elaborar um plano de teste e automatizar tarefas de rotina, descarregar a carga etc. este é um trabalho complexo e multidisciplinar. 


EstOs testadores pagam pouco


No começo, esse não é realmente o trabalho mais bem pago. Concordo que a empresa se ofenda em pagar ao funcionário que, na maioria das vezes, estuda. Mas gradualmente os salários estão crescendo e depende ainda mais da empresa: quando trabalhei, recebi apenas 3 mil rublos. menos que um desenvolvedor de classe média, mas conheço empresas em que os testadores obtêm mais e menos que desenvolvedores. Muito depende do perfil da empresa e das habilidades do testador. É claro que a automação custará mais. Mas a expressão "pague pouco" definitivamente não se refere a testes.

Skills Nenhuma habilidade técnica aplicada


Eu já listei as ações aproximadas dos testadores, e todos eles são estritamente de engenharia. Embora você possa entrar em testes sem formação técnica, não poderá trabalhar sem formação técnica: aprenderá tudo rapidamente ou irá para departamentos não técnicos, porque "humanidades nuas" são uma tristeza no departamento de controle de qualidade. Sim, em algum momento você não precisará ter um conhecimento profundo das linguagens de programação (mas você lembrou que os testadores com conhecimento do desenvolvimento são mais valorizados?), Mas os conhecimentos de engenharia, administração e técnico geral serão úteis para você. Você os usará literalmente todos os dias.

Dica principal


Não haverá conselhos, há muitos deles no artigo. Vou lhe dizer a pior coisa na profissão de testador. Isso é tão assustador que arrepios e tonturas. A primeira chamada independente de teste. Você senta, realiza testes e passa, passa, passa ... E nem um único, mesmo o menor, o mais estúpido e o menor inseto! E você tem medo de não ter isso - ver erros, ser responsável pela qualidade, encontrar algo que deu errado. E que felicidade é essa quando ele é o primeiro, a primeira estranheza no cabeçalho do pacote ou a primeira palavra da interface com um erro de digitação.

Então você terá grandes, críticos e bugs de bloqueio, além de iniciar um bug com toda a importância, mas também passear pelo corredor até os desenvolvedores para expressar tudo sobre o erro encontrado. Mas você nunca esquecerá o primeiro bug que abrirá as portas para o mundo dos testes e da responsabilidade pela qualidade.



Amigos, você passou pelo trabalho de teste? Como foi, seu primeiro bug ou o mais estúpido, engraçado, talvez até assustador? Um tempo de histórias terríveis! Séries anteriores "Profissões ..." Profissão: desenvolvedor back-endProfissão: desenvolvedor front-endProfissão: administrador do sistema








All Articles