No scrum não existe uma fase específica de teste. De acordo com Schwaber e Sutherland (2016, p. 6), no scrum, os times de desenvolvimento
[...] são multifuncionais, possuindo todas as habilidades necessárias, como equipe, para criar o incremento do produto. O scrum
não reconhece títulos para os integrantes do Time de Desenvolvimento
que não seja o Desenvolvedor, independentemente do trabalho que está
sendo realizado pela pessoa e não há exceções para esta regra.
Individualmente os integrantes do Time de Desenvolvimento podem ter
habilidades especializadas e área de especialização, mas a
responsabilidade pertence ao Time de Desenvolvimento como um todo.
Na
prática, testes iterativos são executados durante todo o
desenvolvimento, como os testes de unidade e os testes de caixa preta.
Uma funcionalidade só é considerada concluída quando todos os testes
foram executados durante o desenvolvimento. O analista de teste, no scrum,
faz parte do time de desenvolvimento e assume várias responsabilidades,
como as de líder, arquiteto e responsável pela automatização. Este
profissional participa ativamente no levantamento de requisitos e
definição de escopo, tratando com grande relevância a necessidade do
cliente, considerando os objetivos que o software deve alcançar à medida
que ele é entregue. Ao fim de cada sprint, o analista de
testes, junto com o time, é responsável por garantir que todos os testes
automatizados tenham sido executados sem falhas.
De acordo com Cockburn e Highsmith (2001), para alcançar os resultados adequados, o testador realizará algumas tarefas, como:
- participar das discussões de definição de arquitetura;
- participar das definições de tecnologias utilizadas;
- identificar as necessidades do ambiente de teste;
- identificar restrições tecnológicas;
- identificar ferramentas de teste necessárias para auxiliar na execução do projeto;
- utilizar mapa mental para auxiliar no entendimento das funcionalidades/requisitos;
- identificar os “melhores” analistas de teste para o projeto em questão;
- identificar a necessidade de suporte do time de suporte/operações.
- estimar o tempo de teste.
Este profissional ganha um papel importante
na modelagem ágil, pois participará ativamente do desenvolvimento,
implantando técnicas eficientes de testes de software, levando em
consideração o negócio e suas necessidades.
O time, como um todo, sempre atuará para o benefício do
projeto, portanto, o testador, componente agora agregado ao time,
integra-se, participando ativamente e colaborando de forma significativa
na criação de um software com o mínimo de falhas, defeitos e erros.
De acordo com Duong (2016), o analista de teste, como
importante membro do time, participa ativamente de todos os processos,
apoiando o scrum master, que faz a mediação, e consultando o product owner para esclarecer eventuais dúvidas. A Figura mostra as principais etapas e membros envolvidos em um projeto scrum:
Metodologia ágil scrum
Fonte: Kalakruthi / shutterstock
Como engajar efetivamente os analistas de testes durante uma sprint,
uma vez que nada ainda foi construído? De acordo com Hasija (2012), os
analistas de testes participam de cerimônias e cumprem suas
responsabilidades junto com outros membros do time scrum. Além de criar os casos de teste, os analistas de testes também podem colaborar com o product owner,
ajudando-o a escrever os casos de teste de aceitação. Os analistas
criam cenários de caso de teste, com base nos requisitos do usuário,
identificando e documentando cenários complexos. A participação dos
testadores durante o planejamento de entregas e iterações, quando as
histórias de usuário estão sendo estimadas, pode ajudar o time a
elaborar estimativas mais reais.
Ainda de acordo com Hasija (2012), os analistas de testes
devem assumir a responsabilidade de planejar, organizar e envolver o
time scrum nos testes. Considerando que poucos desenvolvedores gostam de fazer testes, os analistas e o scrum master
devem procurar manter o objetivo e as metas de testes visíveis a todos e
manter o time motivado. Todos os membros do time devem estar preparados
para participar dos testes, sempre que requisitados. Essa prática
mantém a equipe mais equilibrada, divide entre todos a responsabilidade
de concluir os testes e dar a velocidade necessária para retornar os
testes mais rapidamente, contribuindo para a aumentar a qualidade do
produto. O analista de testes também deve registrar o resultado dos
testes e reportá-lo ao product owner.
“A automação é o melhor amigo do analista de testes, pois
possibilita maior capacidade de repetição, consistência e melhor
cobertura dos testes de cada funcionalidade do software. De certa forma,
isso é verdadeiro em um projeto Scrum, com ciclos de sprint curtos, de
duas a quatro semanas, pois o analista geralmente tem pouco tempo para
testar a aplicação. Durante cada sprint de duas semanas, o analista deve
desempenhar os testes completos dos novos recursos sendo incluídos
durante o sprint, assim como deve desempenhar testes de regressão
completos para todas as funcionalidades já implementadas. Como seria
esperado, essa responsabilidade cresce significativamente a cada sprint,
na mesma proporção que a automação dos testes reduz a pressão sofrida
pelos testadores.
Testes automatizados retornam rapidamente resultados, quando o
Time implementa o processo de Integração Contínua. Sempre que é
necessário construir uma nova versão do produto, os testes automatizados
podem ser executados, retornando os resultados imediatamente, tanto
para indicar se os novos recursos estão funcionando corretamente, como
para dizer se houve problemas em recursos que estavam funcionando em
versões anteriores. Sem automação, o analista de testes precisaria
realizar esses testes manualmente - uma tarefa monótona e sujeita a
erros. A automação dos testes é útil para detectar os defeitos o quanto
antes, e para dar ao analista mais tempo para testar os casos limítrofes
dos novos recursos sendo desenvolvidos. Por fim, a automação dos testes
ajuda o analista a realizar os testes com muito mais eficiência e
efetividade”.
Fonte: Hasija (2012).
Nenhum comentário:
Postar um comentário