Feather Background Waves Background
Ir para o conteúdo principal
Feather Background Waves Background
Feather Background Waves Background
  1. JMeter em Português/

Habilidades para Melhorar o Código

·4 minutos
Novato - This article is part of a series.
Part 6: This Article

skills

Por vezes, um artesão investe grandes quantidades de tempo desenvolvendo suas habilidades e perfeccionando sua técnica; o resultado dessa invenção é refletido na qualidade do seu produto. Da mesma forma, um engenheiro de testes de software deve investir uma grande quantidade de tempo para crescer e madurar certas habilidades para realizar melhor e mais precisos testes. Desde o início, posso dizer que não existe receita mágica, curas ou guias para melhoria sem a palavra “prática”. Esta é onde a frase “a prática faz o perfeito” é crucial para progresso.

Estes engenheiros de teste de software que automatizam as testes não-funcionais se encontram na interseção de dois conjuntos mínimos de habilidades: aqueles de um Testador (engenheiro de teste) e de um Programador (desenvolvedor de software). Há muitas mais talentos que precisamos possuir, mas para agora, focarei nas que ajudarão a melhorar o desenvolvimento dos nossos scripts de testes não-funcionais.

Existem vários autores e colegas que concordam que um programador deve ter, além de outras habilidades:

  • Auto-treinado (você precisará aprender sozinho)
  • Criativo (inventar soluções para problemas)
  • Lógico (garantir que as soluções sejam coherentes)
  • Resiliente (se levantar novamente e novamente até os gansos se tornarem leões)

Também um testador deve ter, além de outras habilidades:

  • Analítico (dividir e conquistar)
  • Abstração (conceituar o todo ou as partes do todo)
  • Comunicação (saber como escutar, ler, escrever e falar corretamente)
  • Criatividade (imaginar cenários onde coisas falham)
Qual habilidade eu deveria desenvolver?>

Qual habilidade eu deveria desenvolver? #

Acho que essas 8 habilidades que descrevi estão os que devemos focar. Parece que ambos são o domínio de um desenvolvedor ou testador. No entanto, a base deve ser mais do sistema engineer ou até mesmo do engenheiro puramente, pois esses são os recursos que geralmente desenvolvemos durante as universidades.

Autodidata>

Autodidata #

Você precisa dedicar algum tempo lendo e aprendendo novas tecnologias, linguagens de programação e soluções a problemas complexos. Ler sobre o último ajuda bastante para desenvolver pensamento lateral. A melhor dica seria procurar artigos sobre como se tornar autodidata e não morrer tentando.

Criatividade e Creatividade>

Criatividade e Creatividade #

A criatividade não se limita apenas à arte tangível; também há exemplos de arte intangível, como poesia, literatura e dança. O mesmo é verdadeiro em nossas escritas; a criatividade reflete-se nas soluções inovadoras que podemos imaginar e programar para resolver situações desejáveis ou indesejáveis em nosso teste.

Abstração>

Abstração #

Abstraccição (informática) é a maneira como o computador evoluiu. Tínhamos sempre construído sobre as camadas superiores, criando linguagens de alto nível para focarmos em como podemos fazer mais com menos, ao invés de reinventar a roda. Gracias a isso, deixamos trás linguagens de baixo nível, como assembler, e podemos usar Java para escrever testes de software.

Comunicação>

Comunicação #

Sabendo como escutar, ler, escrever e falar corretamente ajudará você a entender as necessidades do cliente: o que eles precisam? E como podemos lhes ajudar? Também ajuda a entender o ambiente de teste, que é essencial para compreender os desafios e, portanto, desenvolver soluções eficazes. Também ajuda a buscar e gerar padrões que poderiam ajudá-lo a determinar as flutuações críticas mais importantes ou processos empresariais.

Analítico>

Analítico #

O processo de análise envolve desmembrar o problema em partes menores que são muito mais fáceis de resolver do que o todo. Este processo também envolve avaliar possíveis soluções mentalmente antes de transformá-las em realidade. O processo de análise basicamente envolve colocar você dentro do problema e avaliar objetivos simples que ajudarão a resolver-o.

Lógica>

Lógica #

A lógica nos permite conceber e gerar algoritmos, métodos ou funções baseados em estruturas pré-existentes ou nativas de diversos linguagens de programação, com o objetivo de resolver problemas. Ao desenvolver nossa lógica, abstração e análise, podemos criar soluções mais complexas que podem abranger um maior número de padrões.

Resiliência>

Resiliência #

A resiliência é uma forma de vida, e temos que aceitar que os sistemas e a tecnologia estão constantemente avançando e não pararão para perguntar se estamos preparados ou não. Temos que nos preparar e adaptar diariamente nesta selva tecnológica onde o mais preparado emergirá vitorioso.

Conclusão>

Conclusão #

Para desenvolver essas habilidades, é necessário colocá-las em prática diariamente. Sugiro seguir o método de 21 dias descrito por Dr. Maxwell Maltz no seu livro Psycho-Cybernetics. Apesar de que todos aprendemos de maneiras diferentes, dedicar algum tempo a desenvolver essas características irá certamente ajudar-nos a se tornarem melhores engenheiros de testes de software. Não desista e elimine procrastinação durante o descanso ou enquanto esperamos que a equipe de desenvolvimento instale a nova versão no ambiente de teste.



Novato - This article is part of a series.
Part 6: This Article