Como aprender a testar o software

Acredita-se que, por meio de testes, você possa acessar facilmente a TI. Perguntamos aos nossos especialistas em testes como implementar isso sem entrar em programas de educação especializada nas universidades. Descobriu-se que você pode se limitar a uma base de ciência da computação, um livro de testes e a escolha certa de onde obter sua primeira experiência. É verdade que isso deve ser temperado com o próprio interesse e zelo.

Sob o corte - nossas dicas e respostas para perguntas comuns de iniciantes. Há pouco sobre onde ir a seguir quando parece que o teto do conhecimento está próximo.

imagem

O testador precisa de uma base em TI?


Francamente, desejável.

A maioria dos nossos especialistas, de uma forma ou de outra, gosta de TI desde a infância, ou pelo menos estudou em universidades especializadas, ou seja, já teve algum treinamento básico antes de vir para o teste. Alguns deles começaram como desenvolvedores (estudaram como desenvolvedor) - não havia áreas de "teste" separadas há 10 anos. Portanto, diante de nossos olhos, simplesmente não temos um "anti-exemplo" desse caminho.

Agora, na área de TI, existem muitos que não passaram por esse treinamento. E é um pouco mais difícil para eles avançarem. Para lidar com as tarefas de teste, você deve pelo menos ser capaz de instalar o sistema operacional, entender como implantar o aplicativo de teste e o ambiente necessário, como criar um repositório no Git, respostas do Google às suas perguntas, vasculhar recursos especializados como o Stackoverflow. De fato, isso fornece uma base comum em ciência da computação.

Mas mesmo esse conhecimento pode ser dominado através de livros ou cursos na Internet. Atualmente, não há falta de fontes de informação. O principal é que há interesse e tempo que podem ser alocados para isso.

Testadores ou desenvolvedores?


Teste O teste é diferente.

Os requisitos para um testador manual iniciante não são muito altos. Talvez este seja o "caminho mais fácil para a TI". Aqui você precisa conhecer os princípios básicos dos testes, sobre os quais falaremos um pouco mais tarde, e ter a base mencionada acima. É verdade que os testadores manuais estão se afastando gradualmente para testar produtos de software com mais rapidez e eficiência. Portanto, de uma forma ou de outra, ao longo do tempo, todo o "freio de mão" começa a escrever código ou a se envolver em métricas e análises. Mas isso não significa que você não possa iniciar sua carreira no status de um freio de mão juna.

A automação de teste está mais próxima do desenvolvedor. Na base de conhecimento, cada automatizador geralmente possui pelo menos uma linguagem de programação - aquela na qual os autotestes estão sendo desenvolvidos (essa nem sempre é a principal linguagem de desenvolvimento em um projeto). Estando envolvido na automação, também é importante conhecer os padrões de design e aplicar os princípios gerais de desenvolvimento - extensibilidade, legibilidade, facilidade de reutilização. Em essência, um autoteste é o mesmo programa que deve corresponder a um cenário predeterminado.
Para começar a trabalhar como um automatizador, além de testar o conhecimento em geral, você precisa ter um conhecimento mínimo em programação orientada a objetos, imagine como escrever o "Hello World!" Mais simples.

Escolhendo uma direção, não vale a pena olhar para a popularidade momentânea de especialistas no mercado de trabalho. Os indicadores médios de demanda e salários em TI são uma coisa muito específica, dependem, entre outras coisas, de conhecimentos relacionados. Quem diria, mas os especialistas em desenvolvimento de alguns Delphi estão agora em demanda no setor bancário, apesar do fato de que em outros setores o idioma não está em demanda geral. Aqui tudo funciona de acordo com as leis do mercado: existem poucos especialistas, mas a demanda por eles permanece, porque alguém precisa apoiar o legado.
Então nos testes. Agora, há uma demanda por automação JS. É ótimo porque as necessidades de negócios são grandes, mas as pessoas que entraram nesse caminho com a primeira aparição de interesse no mercado ainda não tiveram tempo de aprender. Depois que eles aprendem e vão trabalhar, a situação pode mudar.

Nesse mundo volátil, é o conhecimento básico - entender o que e como testar em princípio, quais abordagens estão disponíveis - e a capacidade de absorver informações rapidamente, ajudando você a se reorientar rapidamente para uma pilha de tecnologia adjacente.

O que ler?


Os testes e a TI em geral são uma indústria em expansão, portanto você pode encontrar ceticismo em relação aos livros. Eles têm muito "ciclo de produção". Para escrever, publicar, distribuir - por um longo tempo. É mais que o dobro se estamos falando de literatura traduzida.

No entanto, nosso departamento de testes recomendou um livro quase por unanimidade - "Testing Dot Com", de Roman Savin. Este é o livro mais famoso sobre o tema, que apresenta de maneira simples e fácil os conceitos e processos básicos nos testes manuais. E, embora tenha sido publicado há muito tempo, o conhecimento básico estabelecido ainda é relevante. Talvez tenha sido lido por 80% de todos os testadores nos países da CEI.

Outras recomendações podem ser facilmente encontradas nas "listas de N livros da Internet para o iniciante". Mas, em geral, nossa equipe de testes acredita que a base do livro de Roman Savin será suficiente para iniciar o processo de auto-educação.

Vale a pena ir a cursos, ainda mais pagos?


A opinião de nossos especialistas sobre os cursos é mista.

Qualquer programa de treinamento é útil, pois fornece muita informação de uma só vez, de maneira estruturada. As informações são coletadas em fragmentos convenientes para o desenvolvimento, divididos em estágios. Nível por nível, você pode seguir o currículo, como em um jogo, e obter conhecimento útil.

Você pode ir aos cursos com um dos dois objetivos - fechar as lacunas no conhecimento ou consolidar as informações já conhecidas. Dependendo dos objetivos, tudo será assimilado de maneiras diferentes. Porém, devido à abundância de novos conhecimentos, nem 100% das informações recebidas serão liquidadas. Desse ponto de vista, o auto-estudo em um projeto específico é mais útil. As informações coletadas ou a resposta encontrada definitivamente permanecerão em sua mente. É verdade que isso levará um pouco mais de tempo.
Nem todas as paredes valem a pena perfurar com sua testa. E o equilíbrio certo, onde vale a pena ouvir o palestrante nos cursos e onde - para tentar aprender algo sozinho, todos determinam por si mesmos. Esse equilíbrio existe em qualquer outro campo: você provavelmente já sabe que é mais fácil estudar independentemente ou ouvir um professor.

Vamos seguir para os detalhes. Várias vezes em conversas com nossos especialistas em testes, os cursos de Alexey Barantsev surgiram, por exemplo, em testes funcionais para testadores manuais ou em automação. Mas é claro que o leque de oportunidades de aprendizado não se limita a elas.

Os cursos mencionados de forma negativa, não daremos aqui. Todos ganham o máximo que podem e a educação profissional é a mesma coisa que tudo o resto. Portanto, antes de você pagar a alguém pelo desenvolvimento de uma profissão, vale a pena gastar tempo pesquisando no mercado.

Os currículos são melhor escolhidos por referência. Ao mesmo tempo, você não deve assistir a resenhas nos sites dos próprios cursos ou instituições educacionais que os promovem. É melhor procurar comentários negativos nas redes sociais. O feedback positivo geralmente é deixado por quem ainda está estudando - que não pode expressar tudo o que pensa sobre o processo de aprendizagem. A verdade é revelada quando eles são liberados e começam a repensar o que aconteceu com eles. A propósito, é provável que você encontre um negativo sobre qualquer instituição de ensino, a única questão é quanto será e qual será o seu conteúdo.

Bons cursos devem incluir mais do que apenas postar vídeos e depois coletar trabalhos de casa. É necessário feedback normal com o professor ou mentor, que explicará qual é o erro, em que direção vale a pena seguir, a fim de resolver corretamente o problema. E você pode assistir a vídeos de graça (e depois resolver problemas da Internet).

A comunidade em torno da aprendizagem provavelmente será importante para alguns. Decisões conjuntas reúnem a equipe, enquanto desenvolvem as habilidades necessárias para o trabalho em equipe subsequente.

Devo ir à conferência?


As conferências são um elemento muito útil do mundo de TI. Antes de tudo, é uma plataforma para o intercâmbio de experiências. Aqui você raramente encontra um relatório que responda a uma pergunta particular momentânea em uma situação específica. Mas você pode se deparar com abordagens para resolver problemas semelhantes que são bastante aplicáveis ​​à sua situação.

Em algumas conferências, é possível encontrar relatórios "básicos" que permitem reunir conhecimento inicial em um novo segmento, por exemplo, em automação. Mas, com mais frequência, é claro, são informações para profissionais mais experientes. Em geral, uma conferência é um local para networking e conhecimento relacionado (ao lado da sua especialização atual, por exemplo, em outro idioma).

Vale ressaltar que a maioria dos assuntos discutidos nas conferências está na Internet. Eventos únicos podem proporcionar uma experiência realmente óbvia.

Muitos documentos de conferência podem ser encontrados em gravações on-line. O principal é não se concentrar em vê-los. Se você assistir muitos vídeos, mas praticar um pouco, o autodesenvolvimento sensato não funcionará. Tudo precisa de um equilíbrio. A propósito, diferentemente da exibição de relatórios, uma presença pessoal em conferências também costuma ser conhecidos, comunicação com pessoas com as quais você pode discutir problemas e questões atuais.

Onde obter a primeira experiência?


Experiência de teste real só pode ser obtida no trabalho em um projeto real. Quanto mais código você escrever com suas próprias mãos, mais eficientemente você resolverá os seguintes problemas, porque a teoria que você lê sem praticar é rapidamente esquecida.
Em um projeto real, o treinamento será muito mais eficaz. Surgirão problemas concretos, suas soluções podem ser encontradas no Google ou nos fóruns. Um caminho traçado de forma independente ajudará bastante no futuro. Naturalmente, esse caminho não deve ser traçado do zero - portanto, já falamos sobre onde procurar conhecimento inicial.

Juntamente com uma base comum, qualquer projeto dará um certo grau de especialização. Talvez esteja testando produtos para diferentes sistemas operacionais, aplicativos cliente-servidor ou ferramentas para servidores. Tudo isso exigirá suas habilidades de acompanhamento.

Valioso quando os colegas o acompanham ao longo do caminho. Portanto, é muito importante para um iniciante escolher a empresa certa. Para um recém-chegado, é melhor ter uma organização grande, onde as pilhas de tecnologia para cada tipo de produto já estão definidas, todos os processos são construídos, há documentação de teste e muitas equipes podem procurar uma solução ou pedir conselhos. A princípio, uma abordagem sistemática dos testes e da ideologia da troca interna de experiências é muito mais importante do que o salário prometido. E, também, seremos francos: nas grandes empresas, a responsabilidade por decisões estratégicas incorretas é bastante confusa, para que você possa ganhar experiência com segurança sem arriscar todo o negócio do seu empregador.

Em pequenas empresas e startups, a atitude em relação aos testes geralmente é diferente. Alguém está testando algo em algum lugar - e bom. Como testar corretamente, eles não dirão. Pelo contrário, ignorando todos os procedimentos na sexta-feira à noite, eles farão o upload de novos lançamentos para produção e os testarão mais tarde.

É melhor ir a tais "danças selvagens" para especialistas mais treinados que entendem qual é o desvio dos processos clássicos. Para uma pessoa sem experiência, trabalhar neste modo produzirá apenas mingau na cabeça. Muito provavelmente, ele não aprenderá nada de bom aqui.

Em geral, se você não tiver sorte com seu local de trabalho, não é necessário coletar itens com urgência. O principal é encontrar um especialista em quem você possa confiar na busca das soluções certas - um tipo de mentor e consultor. A propósito, o mentor não precisa ser pesquisado entre colegas. Pode ser um estranho que lhe dirá o que estudar e para onde procurar. É verdade que é improvável que alguém de fora esteja imerso no assunto do projeto. A comunicação com eles provavelmente terá que ser lembrada sobre a NDA.

Junho, meio, sénior. Existe um caminho a mais?


Em seu projeto, o testador geralmente é forçado a se limitar à pilha de tecnologias existente. Mudar a pilha, bem como experimentos ousados, geralmente é bastante caro ou associado a uma mudança no local de trabalho. No entanto, dentro da estrutura da pilha, em algum lugar até o nível sênior você tem problemas suficientes - este não é um ano de trabalho duro e auto-educação.

Quando parece que você descansou no teto, você pode se tornar um gerente ou se aprofundar - para estudar novas estruturas e ferramentas, aumentando seu preço no mercado de trabalho. É importante que, ao estudar abordagens diferentes, você tenha uma visão muito integrada que o ajudará a resolver melhor problemas aparentemente insolúveis, mesmo dentro da sua pilha.

Como no desenvolvimento, nos testes, há uma pequena proporção de tarefas que envolvem conhecimento mais profundo, por exemplo, matemática. A conversa sobre isso começa onde a matemática aparece e no próprio desenvolvimento - em grandes cargas, etc. Essa é outra área de crescimento potencial para aqueles que conseguem encaixar estruturas lógicas realmente em larga escala em suas cabeças (e que estão entediados com tarefas de teste padrão). Existem muito poucas tarefas desse tipo no mercado. Mas, devido a eles, a possibilidade de um autodesenvolvimento ainda permanece para aqueles que não desejam seguir o caminho gerencial do desenvolvimento.

Sitelinks


Os materiais de teste estão disponíveis em http://www.protesting.ru/ . Há muita teoria e pouca prática. Você pode encontrar informações básicas sobre quais tipos de teste são, o que é um caso de teste, plano de teste etc. É verdade que esse recurso está em desenvolvimento desde os anos 2000, então algumas informações conseguiram se tornar desatualizadas. Mas na base aqui você pode encontrar exemplos valiosos.

O fórum sobre o recurso https://software-testing.ru/forum/ é um tipo de analógico Habr para testadores (na maior parte para automação). Há muitas informações úteis exatamente no nível inicial - em Habré, na seção de testes, há artigos mais avançados, e os textos para iniciantes aparecem cada vez menos e o público aceita pior.

Mais duas boas fontes de informação:https://tproger.ru/digest/free-software-testing-books/ e https://automation-remarks.com/ .

Agradecemos aos especialistas em testes de nossa empresa por sua ajuda na preparação do artigo!

PS Publicamos nossos artigos em vários sites do Runet. Assine nossas páginas no VK , FB , Instagram ou no canal Telegram para aprender sobre todas as nossas publicações e outras notícias do Maxilect.

All Articles