Liderança em Testes: Introdução

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Nota do editor: Bem-vindo à série Liderança em Testes, do especialista e consultor em testes de software Paul Gerrard. A série foi concebida para ajudar os profissionais de testes com alguns anos de experiência — especialmente os que integram equipas ágeis — a destacarem-se nas suas funções de liderança e gestão de testes. Este artigo […]

Nota do editor: Bem-vindo à série Liderança em Testes, do especialista e consultor em testes de software Paul Gerrard. A série foi concebida para ajudar os profissionais de testes com alguns anos de experiência — especialmente os que integram equipas ágeis — a destacarem-se nas suas funções de liderança e gestão de testes.

Este artigo começa pelo princípio: em que consiste, afinal, o teste de software? Irá aprender os conceitos básicos de testes de software que irão enquadrar a sua forma de pensar à medida que aborda a arte e a ciência da engenharia da qualidade.

Subscreva a newsletter da The QA Lead para receber uma notificação quando forem publicados novos artigos da série — e aprofunde os seus conhecimentos no curso de Liderança em Testes do Paul. Se o fizer, utilize o nosso código de cupão exclusivo QALEADOFFER para obter $60 de desconto no curso!

Quando é gestor de testes num projeto, é muito provável que as pessoas partam do princípio de que é o especialista em tudo o que está relacionado com testes. É provável que os outros membros da equipa tenham as suas próprias opiniões bem fundamentadas ou excêntricas sobre testes; alguns poderão ter (ou, pelo menos, afirmar que têm) mais experiência do que você. 

As expectativas em relação aos testes são frequentemente irrealistas e até as pessoas experientes assumem posições pouco refletidas sobre aquilo que os testes podem alcançar. Algumas pessoas irão pôr em dúvida a sua competência, o seu valor para a equipa ou até as suas motivações. Pode ser difícil.

Ao longo da sua carreira na gestão de testes, terá de se adaptar a circunstâncias novas e em constante mudança. Irá lidar com partes interessadas do negócio e com intervenientes séniores do projeto. Irá integrar equipas de diferentes dimensões, compostas por pessoas com percursos muito variados. Poderão ter uma vasta experiência ou, na realidade, pouca ou nenhuma.

A sua função poderá variar entre ser o profissional responsável pelos testes, liderar uma equipa grande ou supervisionar os testes num projeto, prestar aconselhamento a uma equipa ágil ou determinar de que forma os testes se enquadram num regime de entrega contínua.

Antes de começarmos a utilizar termos como testes, parte interessada e objetivos das partes interessadas, é melhor sermos bastante claros sobre aquilo de que estamos a falar.

Definição de “Teste”

A palavra teste é utilizada como substantivo e como verbo. Refere-se aos testes enquanto atividade e ao resultado dessa atividade. Refere-se às pessoas ou organizações que solicitam essa atividade e às que utilizam os resultados. Refere-se, sobretudo, às pessoas que se autodenominam profissionais de testes e aos sistemas complexos nos quais trabalhamos.

Se quisermos falar de testes independentes do contexto, precisaremos de uma definição de teste que seja independente do contexto, por isso procurei a definição de teste no site dictionary.com. Entre as muitas páginas de referências à palavra teste e às suas aplicações em diversas áreas, a definição do American Heritage Dictionary é a mais adequada:

Teste: (substantivo) um procedimento para avaliação crítica; um meio de determinar a presença, a qualidade ou a verdade de algo; uma experiência

Não existe apenas uma definição; existem, antes, três variações. Bem, penso que isto não é assim tão mau, pois as três, em conjunto, fornecem-nos os fundamentos de que precisamos. Vejamos cada uma delas com mais atenção.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Um procedimento para avaliação crítica

A avaliação crítica envolve um juízo criterioso sobre a verdade ou o mérito de algo. Um teste é um procedimento, normalmente composto por uma série de etapas que incluem alguma forma de preparação, execução, recolha de resultados, análise e interpretação. Esta não é uma descrição definitiva de um procedimento de teste. Poderá haver mais etapas e estas etapas principais poderão ser subdivididas.

O procedimento não exige necessariamente documentação previamente preparada, mas alguns testes são documentados dessa forma (e os testes automatizados são sempre executados com base em scripts, de algum modo). O mais importante é existir um processo de pensamento perspicaz no centro de um teste.

Este processo de pensamento é impulsionado pela necessidade de avaliar o sistema em teste relativamente à sua adequação, consistência, comportamento, exatidão, fiabilidade ou qualquer outro aspeto ou propriedade relevante.

Um meio de determinar a presença, a qualidade ou a verdade de algo

Um teste pode determinar facilmente a presença (ou ausência) de algo, mas a qualidade é uma questão diferente: o termo está carregado de conotações emocionais, mas somos salvos pelo mesmo dicionário. A qualidade pode ser “uma característica, propriedade ou atributo essencial ou distintivo”. Agora podemos perceber que um teste pode revelar essas propriedades.

Note que não estou a utilizar o termo qualidade para refletir a relação entre um utilizador ou uma parte interessada e um produto. A qualidade é como a beleza — está nos olhos de quem a vê. Não se deixe envolver em discussões sobre a forma de medir a qualidade (através de testes). Costumo evitar por completo o termo começado por Q.

Note que não estou a utilizar o termo qualidade para refletir a relação entre um utilizador ou uma parte interessada e um produto. A qualidade é como a beleza — está nos olhos de quem a vê. Não se deixe envolver em discussões sobre a forma de medir a qualidade (através de testes). Costumo evitar por completo o termo começado por Q.

Pode um teste determinar a verdade de algo? Bem, isto também faz bastante sentido. Normalmente, precisamos de testar uma afirmação como “este sistema cumpre algum requisito”, ou “este sistema comporta-se de determinada forma”, ou “este sistema é aceitável”, entre outras. Está envolvido um certo grau de avaliação subjetiva, mas podemos perceber que um teste ou vários testes podem fornecer evidências para que alguém exerça essa avaliação e tome uma decisão.

Um ensaio

A noção de ensaio implica que o processo de testar um sistema nos ajudará a avaliá-lo relativamente às suas qualidades. O objetivo dessa avaliação é normalmente tomar uma decisão.

A decisão pode consistir em aceitar ou rejeitar o sistema, mas também pode passar por expor as suas deficiências para que possam ser corrigidas de alguma forma. Um teste também pode influenciar um indivíduo ou uma organização a mudar de direção – repensar um projeto; flexibilizar ou alterar um requisito; eliminar um componente e começar de novo; comprar em vez de construir ou construir em vez de comprar.

Uma forma natural de encarar um sistema sob teste é considerá-lo como estando a ser julgado e que será avaliado de alguma forma.

More Articles

Definição de testes

A partir da nossa definição do substantivo teste, podemos facilmente derivar um verbo.

Testar: (verbo) avaliar criticamente; determinar a presença, a qualidade ou a veracidade de algo; realizar um ensaio.

Até aqui, tudo bem.

Mas não tão bem assim, na realidade. Infelizmente, a profissão de testes é assolada por problemas terminológicos. Não há forma de apresentarmos aqui um glossário definitivo. Nos seus projetos, para evitar mal-entendidos, sugiro que perguntem qual é o objetivo de qualquer tipo de teste definido, em vez de dependerem de uma definição presumida para o determinar.

Tipos comuns de testes de que ouvirá falar

Apresentar um tutorial sobre cada um destes tipos de testes de software está fora do âmbito deste artigo, mas, enquanto profissional de testes de software, ouvirá falar bastante destes (alguns dos quais provavelmente já pesquisou):

  • Testes de caixa preta
  • Testes de regressão
  • Testes unitários
  • Testes beta
  • Testes manuais
  • Testes automatizados ou testes de automação
  • Testes finais
  • Testes de esforço
  • Testes de segurança
  • Testes de desempenho
  • Testes de caixa branca
  • Testes de aceitação
  • Testes de integração
  • Testes de carga
  • Testes de sistema
  • Testes não funcionais

Independentemente do tipo de teste de que está a falar, o meu conselho é perguntar sempre qual é o objetivo do teste, mesmo que pareça ter um nome comummente aceite, como teste unitário ou teste de aceitação. A interpretação do significado destes termos pode variar de equipa para equipa.

Subscreva a newsletter do The QA Lead para receber uma notificação quando forem publicados novos capítulos da série — e aprofunde os seus conhecimentos no curso Liderança em Testes do Paul. Se o fizer, utilize o nosso código de cupão exclusivo QALEADOFFER para obter um desconto de $60 no curso!

Leitura relacionada: 7 FERRAMENTAS BÁSICAS DE ENGENHARIA DA QUALIDADE E PORQUE PRECISA DELAS

Paul Gerrard
Paul is an internationally renowned, award-winning software engineering consultant, author, and coach. He is the host of the Technology Leadership Forum and the Programme Chair of the 2014 EuroSTAR Testing conference.

You may also like