Arquivo da categoria: Testes de Software

O papel do tester em várias fases de um projeto Scrum

O Scrum é composto por várias fases durante o processo de desenvolvimento do software, contando com a criação do Product Backlog, Planejamento da Sprint e muito mais.

Uma das vantagens do Scrum na minha visão é que permite uma maior iteração entre os membros da equipe, incluindo o Tester!

Vale ressaltar que algumas atividades podem variar de acordo como cada equipe trabalha, porém ao meu ver devemos aproveitar ao máximo as pessoas da equipe para que possam atuar cada vez mais no time.

Portanto neste artigo abordarei sobre a experiência que estou passando com meu time atual e minha visão do que mais poderia ajudar.

Vamos começar pelo início do projeto, quando temos nossos primeiros contatos com o cliente, no levantamento para o Product Backlog. Nesta fase o Analista de testes pode auxiliar o Scrum Master levantando dúvidas pertinentes e começando a adquirir um conhecimento sobre o que está por vir para o desenvolvimento do Software.

No Grooming e na criação de critérios de Aceite é uma fase muito importante, pois ajuda a ter conhecimento sobre as Regras de Negócio e as características do sistema. Na minha opinião, se um Critério de Aceite bem elaborado já é melhor que um documento de Caso de Uso para entendimento do negócio, poder participar de uma reunião dessas é melhor ainda! Isso nos auxilia para o planejamento dos Testes futuros e possuir um melhor embasamento para a Planning.

Outro ponto que podemos ajudar é na definição de como o sistema irá funcionar, pois muitas vezes a forma que o cliente especifica o sistema não será de fácil uso, cabendo a nós tentar se passar pelo papel de usuário e dar sugestões para deixar o sistema prático.

Na reunião de Planning, podemos atuar junto ao time na estimativa, ajudando a decidir o que poderá ser feito na sprint. Não é porque não estaremos desenvolvendo que não podemos participar das estimativas, pois temos que levar em consideração a complexidade da funcionalidade e o nosso tempo para planejamento e realização dos testes.

Em alguns casos necessitamos de mais tempo para testar do que desenvolver, pois muitas vezes precisamos testar o layout de uma aplicação Web em vários navegadores, criar vários cenários para garantir que aquela Regra de Negócio esteja correta e retestar os defeitos que foram surgindo durante o desenvolvimento.

Portanto, é muito importante participarmos da planning para que fique claro o motivo da estória X possuir um valor mais alto para o Tester.

Durante a Sprint inicia nosso trabalho de planejamento, identificar e criar nossos cenários para conduzir os testes, além disso podemos acompanhar o desenvolvimento, tentando antecipar caso exista alguns defeitos para que já sejam corrigidos!

Se possível comente com a pessoa que liberou para testes algo que ela criou se realmente ficou bom, principalmente quando é algo difícil e não houve muitos problemas, afinal reconhecer um bom trabalho sempre é bom e não precisa surgir somente de superiores!

Na daily, como todos os outros membros da equipe temos a missão de passar nosso status para o time. Nessa hora é muito importante passar um feedback do status dos testes, como está o sistema, se está surgindo muitos defeitos ou se existe algo que te impede de realizar algum teste, como por exemplo, um defeito impeditivo ou até mesmo o sistema fora por um bom tempo.

Final de Sprint e vamos para a Demo! Nesta fase a atividade é simples e clara, apresentar para o cliente o que foi desenvolvido durante a sprint! Nesta hora também é importante coletar a opinião do cliente para saber se tudo está de acordo como ele deseja e se está satisfeito com o resultado.

Para completar, vamos para a Retro para coletar as considerações de cada membro da equipe sobre a sprint. Nas suas indicações sobre o que temos que continuar e o que precisamos melhorar sobre como foi os testes, como por exemplo, se houve muitos defeitos graves que envolviam regras de negócio ou simples ajustes, como foi a correção dos mesmos, foi rápida e efetiva ou no reteste dos defeitos o problema persistiu ou surgiu outro defeito em consequência, etc.

Como podemos ver, o Tester pode ajudar em várias fases de um projeto que roda Scrum, não ficando somente na atividade de planejar e testar, agora cabe a equipe envolvê-lo mais e claro, haver uma pró-atividade do próprio!

Caso você  tenha alguma dúvida sobre Scrum e esteja iniciando seus estudos, você pode conferir um artigo que criei quando comecei a estudar sobre o assunto: Clique aqui.

Gostaria de aproveitar para agradecer a um amigo pela revisão do artigo, obrigado pela ajuda Elton Saheki!

Até a próxima!

Vinicius Sabadoti

Anúncios

Criando Mapas Mentais para planejamento de testes

Primeiramente, gostaria de começar este artigo dando uma prévia sobre os mapas mentais. Segundo o wikipédia, Mapa mental é o nome dado para um diagrama, voltado para gestão de informações. Um mapa mental pode nos ajudar para os estudos, armazenar idéias, auxiliar na criação de manuais e também para a organização de nossos Casos de Testes!

Existem vários programas que auxiliam-nos na criação, dentre eles gratuitos e pagos. Para escolher o seu basta ver de acordo com sua necessidade. Atualmente uso a versão gratuita do Xmind e a única coisa que sinto falta é de poder gerar um PDF dos meu mapas (coisa que a versão paga faz). Se você tiver interesse em ver vários exemplos de Mapas Mentais, basta dar uma “googleada”.

A idéia de usar os mapas mentais surgiu de acordo com a minha necessidade atual, quando comecei a trabalhar com a Metodologia Scrum. Conheci os mapas mentais através de outros amigos da área que trabalham com testes e logo me interessei pela simplicidade.

Diferente de um Caso de testes, onde crio um passo-a-passo para realizar um teste, no mapa mental, escrevo alguns itens que me lembre sobre o que deve ser validado. Se preferir, colocar alguns itens do critério de Aceite podem ajudar também.

A organização pode ser feita como você desejar. Se você estiver trabalhando com SCRUM você pode criar um mapa mental para cada estória, sendo os itens principais cada task de testes. Para cada task, podemos descrever o que deve ser validado.

Para simplificar, veremos um exemplo abaixo, que trata sobre os testes de compatibilidade nos navegadores:

Como podemos ver, na imagem acima coloquei somente o que devo me lembrar para fazer os testes de compatibilidade, onde inclui os nomes dos navegadores.

É possível incluir imagens e símbolos nos mapas mentais que ajudam no controle dos testes. Neste caso, os símbolos com o V em verde, são os testes que já realizei, enquanto os X estão pendentes. Com o símbolo de exclamação, uso-o para identificar que ocorreu um problema, precisei abrir um bug para ele.

Podemos também utilizar para colocar regras de Negócio, validação de Campos, conforme exemplo abaixo:

Na imagem acima, para a primeira task cito todos os campos da página para validação e na segunda task, algumas regras para validação. Uma outra abordagem que poderia ser feita é escrever em forma de Ação>Reação, não seria bem um ponto de Ação e Verificação como em um caso de testes, mas uma coisa mais ampla como: 1. Realizar Compra com Cartão de Crédito Válido>Sistema confirma o pedido e envia e-mail ao cliente informando os dados da compra.

Vejo o uso dos mapas mentais uma alternativa interessante, porém devem ser avaliados de acordo com a situação e a necessidade de cada um. Falo isso como por exemplo no meu caso, onde não preciso ter que necessariamente criar casos de testes, e não preciso ficar evidenciando todos os passos que executo quanto estou realizando meus testes.

Avalie, experimente e se quiser teste esta maneira de mapear seus testes, quem sabe ajude com o seu dia-a-dia!

Abraços e até a próxima!

Vinicius Sabadoti

Obs: Nesta última imagem acabou saindo a primeira também no slide, infelizmente não consegui arrumar no WordPress. Toda vez que insiro mais de uma imagem ele acaba fazendo isso.  Se alguém souber como acertar dá um dica! Valeu ; )

27/02/2011 – Atualizando:

Pessoal estou atualizando o post e inserindo mais duas opções de programas para criação de mapas Mentais. Agradeço ao Maurício e ao Lucas pelas dicas de outros programas:

Freemind: http://freemind.sourceforge.net/wiki/index.php/Main_Page

MindMeister: http://www.mindmeister.com/pt


Começando a estudar Scrum!

Fala pessoal! Vamos tratar de um assunto que andei estudando bastante últimamente: Scrum! Quando comecei a trabalhar com testes a metodologia para desenvolvimento de projeto sempre foi RUP (Rational Unified Process).

Portanto, meus conhecimentos sobre Scrum eram bem básicos e atualmente estou para começar em um projeto que trabalha com o mesmo.

A partir desse momento que surgiu ainda mais a necessidade de estudar sobre o assunto para estar preparado. Durante os estudos surgiram algumas dúvidas de como estudar, o que estudar e a curiosidade de entender o papel da equipe de testes, de cada tester, Casos de Uso e por fim acabei descobrindo coisas diferentes do que tinha em mente!

Quero colocar neste post algumas referências sobre o assunto e na medida que for aprendendo e descobrindo coisas novas atualizarei na medida do possível. Se você souber de algo interessante que não citei por aqui sinta-se a vontade em deixar um comentário, pois irá me ajudar e a quem estiver começando também!

Primeiramente comecei a procurar literaturas com definições sobre o Scrum, lendo mais de uma vez e não somente uma fonte. Acredito que é muito importante ler em vários meios pois assim o estudo não fica cansativo e é bom para conhecer algumas idéias e a forma que alguns autores trabalham sobre o assunto.

 Até o momento encontrei  estes Artigos interessantes:

Guia definitivo do SCRUM: Este é um guia do Scrum e é mantido pelos seus criadores Ken Schwaber and Jeff Sutherland. Este guia está disponível em vários idiomas inclusive em Portugês.

Artigo SCRUM: Este é um artigo criado pelo Fabrício no blog QualidadeBR sobre o tema.

Scrum em menos de 10 minutos: Vídeo que trata sobre o Scrum bem interessante. Provavelmente você vai precisar ver mais de uma vez, pois ele fala bem rápido mas é bem interessante.

Mapa Mental sobre Scrum: Por fim, achei muito interessante este mapa Mental que aborda um resumo bem legal e fala sobre a diferença com RUP.

Para quem já leu sobre o Scrum nos artigos acima, deparou-se com alguns termos como User Stories, Critérios de Aceite que podem ser conferido nestes dois artigos:

User Stories: O que são? Como usar?

Critérios de Aceitação das User Stories: Uma breve descrição de como criar

Aqui temos alguns artigos que abordam sobre Testes em times Ágeis. Foram nestes artigos que descobri muita coisa interessante e das diferenças do time de testes que trabalha com RUP e testes com Scrum. Como é a atividade, a participação, importância, etc.

O papel do analista de Testes dentro dos processos ágeis – Uma Introdução

Papel do “Time de Teste” em projetos SCRUM

Scrum no Teste de Software: Trabalho de Conclusão de Curso de MBA de Teste de Software.

Vocabulário básico para testadores ágeis: Artigo do Camilo Ribeiro que trata sobre termos Ágeis para testadores.

Uma Abordagem de Construção e Testes orientada pelos Critérios de Aceite

Alguns blogs sobre Scrum e metodologia Ágil que encontrei:

ScrumHalf

Scrum em Ação

Cantinho do Agile

Agile Caelum

O Rogério contribiu indicando o site improveit citando alguns links interessantes:

http://improveit.com.br/sitemap
http://improveit.com.br/scrum
http://improveit.com.br/xp

Alguns livros:

Agile Project Management with SCRUM

Lean Software Development An agile toolkit

Agile Testing: A Practical Guide for Testers and Agile Teams

– Scrum e XP direto das trincheiras: livro disponível para download gratuito (dica da Leciane Marcari 🙂 )

Sites sobre eventos:

Eventos de TI  (possui vários eventos cadastrados e não somente de SCRUM).

Agile Brazil

Revista de testes abordando Scrum:

Revista Testing Experience sobre Agile Testing

Por fim, um podcast do Elias Nogueira em uma entrevista com a Tatiane Fukuda que trabalha no Yahoo! com processos ágeis. Clique aqui para escutar.

Para começo na minha opinião já é um bom guia para poder aprender sobre o assunto e ficar por dentro! Espero que gostem e que possa ajudar a quem estiver no mesmo barco!

Abraços!

Vinicius Sabadoti


Extensões para auxiliar os Testes em Software Web

Olá pessoal, neste post gostaria de compartilhar algumas extensões que conheço e que podemos utilizar para o nosso dia-a-dia em testes de sistema Web.

São extensões para os navegadores Firefox e Chrome, que você pode instalar facilmente em seu navegador. Infelizmente
algumas extensões para o Firefox até o momento em que escrevo não funcionam para a última versão (6.0). Mas mesmo assim acho interessante listar pois muitas vezes em nossos testes não podemos utilizar a versão atual do Firefox (o que acontece no meu caso, por exemplo).

Segue abaixo a minha lista:

1. Gerador de CPF e CNPJ.

Para quem utiliza CNPJ e CPF em seus testes muitas vezes precisa ficar sempre acessando um site específico para gerar estes tipos de dados. Com este aplicativo é possível inserir com apenas um clique o CPF/CNPJ.

Após a instalação, a extensão adiciona um ícone no canto inferior direito do navegador (versão Firefox). Quando você desejar informar um CNPJ, basta escolher o campo desejado e clicar com o botão direito do mouse em cima do ícone. Para incluir o CPF basta fazer o mesmo procedimento, porém clicando com o botão esquerdo em cima do ícone.

Caso você não tenha selecionado um campo, o sistema exibe um pop-up com o CPF ou CNPJ conforme clicado pelo usuário.

Para a versão do Chrome, a extensão fica instalada do lado da barra de endereços do navegador e você pode clicar sobre o ícone e é apresentado uma caixa com as opções de CPF ou CNPJ. Você pode também clicar com o botão direito do mouse sobre o campo que deseja incluir o valor e escolher a opção desejada.


Firefox: https://addons.mozilla.org/pt-BR/firefox/addon/gerador-de-cpf-e-cnpj/
(Segundo o site as versões que suportam esta extensão são: Firefox 3.0 – 3.6)

Chrome:

https://chrome.google.com/webstore/detail/ieifkajhcbdlbmmjkbmpomooeepmciin

2. Selenium Expert (Selenium IDE)

Se você precisa preencher algum formulário simples esta extensão pode te ajudar bastante. Para usar, você deverá primeiro apertar o botão que simboliza o REC que conhecemos e preencher o formulário conforme desejado. Após o terminar o preenchimento dos campos basta clicar novamente no ícone para que deixe de gravar as suas ações. Após terminar a gravação, basta acionar o Play quando desejar preencher novamente o formulário.

O que achei ruim deste aplicativo é que muitas vezes ele não identifica o campo na hora da gravação (ou pode ser por falta de experiência minha). Portanto quando você aciona a extensão para executar o que foi gravado algumas vezes ele poderá falhar

No meu caso, uso o aplicativo para preencher os campos de um teclado virtual. Isto ajuda bastante, já que o teclado virtual sempre muda a ordem das letras e oculta às teclas que estão ao lado do mouse quando passa pelo teclado.

Links:

Firefox: https://addons.mozilla.org/pt-BR/firefox/addon/selenium-expert-selenium-ide/
(Segundo o site as versões que suportam esta extensão são: Firefox 1.5 – 6)

3. iMacros.

O iMacros possui a mesma função que o Selenium. A vantagem que vejo aqui no Imacros é que possui a opção de Loop. Com esta opção você pode decidir quantas vezes o script gravado vai ser executado.
Alguns campos que não foram identificados no Selenium foram possíveis preenchê-los pois a extensão reconheceu os campos. Porém em algumas situações o que acontece ao contrário!

Links:
Firefox: https://addons.mozilla.org/pt-BR/firefox/addon/imacros-for-firefox
(Segundo o site as versões que suportam esta extensão são: Firefox 3.0 – 7.0a1)

Chrome: https://chrome.google.com/webstore/detail/cplklnmnlbnpmjogncfgfijoopmnlemp?hl=pt-BR

4. Firebug.

Este aplicativo é mais voltado para desenvolvedores, porém uma das finalidades dele é ajudar a encontrar defeitos de HTML, CSS e JavaScript. Ao acionar o Firebug ele permite você verificar o código da página e editar os campos.

Links:
Firefox: https://addons.mozilla.org/pt-BR/firefox/addon/firebug/
(Segundo o site as versões que suportam esta extensão são: Firefox 3.6 – 5)

Chrome: https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench?hl=pt-BR

5. Captura de Tela

Esta extensão infelizmente está disponível somente para o Google Chrome. Ela permite você tirar screenshot do site.
Ela te oferece 3 opções: Selecionar a área em que deseja tirar o screenshot, Capturar a parte visível do site no momento, ou seja, você está no início do site, a imagem será a área que aparece para você. Por último, a opção que eu mais gostei! Tirar o screenshot do site inteiro.

Após realizar a captura da imagem, ela é apresentada em uma nova aba e permite você editar a imagem antes de salvá-la. Portanto se você deseja marcar algum elemento, colocar uma seta ou inserir um texto é possível.

Links:
Chrome: https://chrome.google.com/webstore/detail/alelhddbbhepgpmgidjdcjakblofbmce?hl=pt-BR#

Bom pessoal, no momento as que mais uso são estas. Se alguém quiser compartilhar mais alguma extensão fique a vontade para colocar nos comentários! Será de grande valor. Espero que tenham gostado e que possam ter ajudado de alguma maneira.

Abraços e até a próxima!

Vinicius Sabadoti


BVT – Saiba como é o teste de BVT e entenda a sua importância.

O teste de BVT (Build Validation Test) sempre é realizado quando existe uma atualização no código do sistema e será introduzido no ambiente atual.
Esta atualização pode ter sido feita pelo motivo da chegada de uma nova funcionalidade para testes ou até correção de defeitos, para que assim a equipe de teste possa realizar os retestes dos defeitos em abertos.

O intuito do teste de BVT é testar toda a funcionalidade do sistema e podemos definir o escopo de acordo com a necessidade, tempo disponível, etc pois em sistemas de grande porte esta validação poderá durar um dia inteiro ou até mais. Geralmente as verificações são feitas com a maioria dos cenários positivos, com uma atenção maior nas funcionalidades que geram mais impacto, onde houveram a atualização do código e correção do defeito.

Para a execução destes testes geralmente não utilizamos nenhuma ferramenta e não há necessidade de coletar as evidências para tudo o que for validado, mas sim quando um defeito for encontrado.
Para o auxílio do testes, pode ser utilizado uma lista com todas as funcionalidades contendo os itens mais importantes.
Quando um defeito é encontrado é muito importante verificar a criticidade e qual o impacto que ele irá gerar, seja tanto na funcionalidade quanto para a execução dos testes que estão por vir após a BVT.
Quando são encontrados vários defeitos de grande impacto, a melhor decisão é não autorizar o deploy e continuar com o ambiente atual sem a atualização deste novo código.

Com assim, não autorizar nova build?

Isso mesmo, imagine uma situação em que a equipe de testes possui uma grande quantidade de Casos de Testes ainda para executar e a build que está validando possui um defeito que impacta diretamente com os testes e caso a equipe autorize a atualização do ambiente irá impactar e atrasar a execução dos Casos de Testes pendentes.

Mesmo que a equipe fique sem o novo código que liberariam alguns defeitos, ela pode continuar com os testes ainda pendente. Nesta situação será mais vantagem continuar como está do que liberar uns defeitos para reteste.
Porém esta regra vale para o outro lado. Muitas vezes é interessante liberar uma build mesmo que possua um ou mais defeitos encontrados na validação, para isso deve-se avaliar a criticidade dos mesmos e se a build irá liberar mais Casos de Testes do que impactar.

Até agora estamos falando quando encontramos um defeito ou não, agora imagine que a build possui um defeito grave e infelizmente ele não foi descoberto? Isso pode acontecer e com certeza o dano será maior! Então nem preciso falar o quão importante este teste é e que ele deve ser verificado com muita atenção pela equipe de testes.

Por fim, terminada a validação devemos analisar e decidir o que deverá ser feito. Caso a build seja aprovada, basta aguardar o deploy e mão na massa ; )

Abraços!

Vini Sabadoti


Primeiros passos com Testes de Performance

Pessoal, neste post gostaria de fazer uma pequena introdução sobre testes de performance. Neste caso, não irei falar muita teoria e sim alguns itens essenciais para iniciar os estudos.

Atualmente estou participando de uma célula de estudos referente ao assunto e irei aproveitar pra postar um pouco no blog o aprendizado, pois não é que falam que quando ensinamos aprendemos duas vezes? Acredito que sim.

A minha intenção é criar vários artigos relacionados ao tema, e manter sempre atualizado este post, pois ele será o “start up”, um guia para começarmos os estudos.

Segue abaixo alguns itens que na minha visão é necessário para começar a estudar performance, caso alguém que já atua na área quiser sugerir algo, fique a vontade para colocar nos comentários, será de grande valor a ajuda.

Bom, chega de balela e vamos começar a falar sobre o assunto e conhecer do que precisamos para entrar no mundo dos testes de performance:

Gostar de leitura.

Não há como fugir! Existe muito conceito teórico sobre testes de performance, e se você quer ser um profissional da área, é obrigatório a leitura. Tenho certeza que você não vai querer ficar “boiando” quando conversar com algum profissional da área e discutir alguns conceitos como: load balancer, Throughput, Think Time, entre outros (sentiu o drama né?).

Inglês.

A maioria dos materiais de qualidade sobre o assunto que você encontrar na internet estão em inglês, portanto quanto mais conhecer o idioma melhor. Sem contar que a maioria das ferramentas pelo meu conhecimento estão em inglês. A ferramenta da Rational, Rational Performance Tester, até possui o idioma português, porém mesmo assim o interessante é utiliza-lá em inglês para praticar o idioma.

Conhecimento em programação.

Para executar estes tipos de testes é necessário um bom conhecimento em programação.

Neste caso, é importante saber programação, pois para alguns testes você irá reparar que não basta somente gravar um script de testes.

Há a necessidade de fazer um código, por exemplo, para gerar o CPF para inserir no sistema toda vez que o teste for executado, e você não vai poder colocar sempre o mesmo valor (é ai que entra a programação, você irá criar um código customizado para o seu script fazer esta tarefa).

Se você utilizar a ferramenta Rational Performance Tester (Ferramenta IBM), você utilizará a linguagem Java para codificar e caso utilize o LoadRunner (Ferramenta HP), poderá optar pelas linguagens C, Java ou Visual Basic.

Conhecimento em várias áreas de TI

Existem várias razões que podem impactar a performance de um sistema, seja uma query que foi mal elaborada, um problema na rede, consumo da memória do computador, etc. Portanto, neste caso quando você se deparar com algum determinado problema que ocorre, ficará fácil direcionar sua pesquisa ao foco do problema.

Infra-estrutura:

Diferente do mundo da programação, para os testes de performance instalar a ferramenta não siginifica que você conseguirá estudar e fazer exercícios práticos. Pois precisamos de uma aplicação, onde toda a funcionalidade dela esteja OK (de nada adianta testar performance se ela possui problemas em sua funcionalidade).

Sem contar que envolve toda uma infra-estrutura necessária (hardware potente, boa rede, servidor, etc).

Até o momento da minha jornada, deparei com estes itens para continuar com os meus estudos, porém conforme eu vou descobrindo novidades irei atualizando este post.

No próximo artigo sobre testes de performance irei citar algumas leituras e tentarei abordar o assunto mais para o lado técnico.

Até a próxima!

Abraços.


8 dicas para uma escrita de Casos de Testes

Para as execuções dos testes funcionais, é comum a Criação de um Caso de Teste para a execução de cada condição de teste identificada pela equipe.

Geralmente este documento inicia falando sobre o objetivo do teste, seguido por uma pré-condição, que lista todos os itens ou condições que devem estar disponíveis para realizar o teste.

Em seguida, descrevemos a pós-condição que possui uma breve descrição do que deverá acontecer no término do teste.

Finalmente, partimos para a descrição do passo-a-passo, onde para cada passo descrito deve conter um ponto de verificação citando o resultado do passo executado.

Descrevendo desta maneira, temos a impressão de que tudo parece ser muito simples e fácil, basta seguir os passos descritos e os testes poderá ser executado facilmente.

Muito bom se fosse verdade! Se o Caso de Testes não for bem escrito, poderemos correr o risco de perder uma execução do teste e recomeçar tudo novamente.

Abaixo, cito 8 itens que acho interessante ficar atento quando criamos um Caso de testes:
1. Defina bem a pré-condição do teste:

Na minha opinião, definir muito bem a pré-condição poderá garantir 50 % da execução dos testes. Quando ela é bem descrita não corremos o risco de perdermos o teste, pois é muito desconfortável deparar com um passo pedindo para executar uma ação no sistema que pode não estar preparada, pois não foi citada na pré-condição. (simples exemplo: pedir a exclusão de um usuário específico cadastrado, e na pré-condição não citar a criação de um usuário para excluir).

Escreva de forma clara a pré-condição, se necessário faça como se fosse um passo-a-passo mesmo. Cite em ordem de prioridade as ações que devem ser feitas, como deve ser criada a massa de dados para o testes e o que deve ser feito por primeiro, segundo, etc.

Deste maneira o testador não irá descobrir somente no momento da execução o que devia ter preparado antes de iniciar os testes.

2. Escreva os Casos de Testes conforme citado no Caso de Uso.

O Caso de Uso contém todas as informações necessárias de como o sistema deve funcionar. Portanto, desenvolvedores e testadores não precisam imaginar ou supor como deve funcionar o sistema (salve exceções, em que há necessidade de discustir algumas regras).

Crie os Casos de Testes baseado no Caso de uso, assim a chance do sucesso dos testes será grande.

Um bom ponto de atenção, é que devemos sempre estar atentos com as atualizações dos Casos de Uso, pois muitas vezes as regras são alteradas e consequentemente pode ser necessário atualizar os Casos de Testes.

Nem todo Caso de Uso pode ter sido escrito de forma clara e conter todas as informações necessárias, neste caso não tenha medo de procurar o Analista de Requisitos que escreveu o documento.

3. Defina um bom título para o Caso de Testes.

Sei que não é uma tarefa fácil escrever em poucas palavras um bom título para o caso de Testes. Se possível coloque no Caso de Testes se cenário a ser testado é uma condição positiva ou negativa e o que será feito.

Muitas vezes o sistema a ser testado possui uma grande quantidade de Caso de Testes criados, portanto definir um bom título poderá permitir um acesso fácil para eventuais consultas destes documentos.

4. Cuidado com o português (escrita).

Este é um ponto que não só devemos tomar cuidado com o português na escrita do Caso de Testes, e sim com o nosso dia-a-dia. Muitas vezes, os Casos de testes são revisados por um membro da equipe e chegando até ao cliente do sistema para revisão do mesmo.

5. Numerar os Passos.

Esta é uma boa forma de organizar melhor os passos, auxiliando durante a execução dos testes. A numeração nos passos permite o testador se organizar melhor com os passos e caso ocorra a necessidade de parar os testes por um minuto, ele saberá em qual passo voltar.

6. Escreva os passos na forma imperativa

Use as palavras na forma imperativa, como “Digite um nome no campo”, “Escolha uma opção”, etc. Utilizando estes termos passamos a mensagem de que realmente deve ser feita uma ação e organizamos melhor nossos casos de testes seguindo um padrão na escrita.

7. Seja claro com os pontos de verificação.

Nunca deixe dúvidas com os pontos que devem ser verificados. Troque frases como: “o sistema PODE exibir uma mensagem” por “o sistema DEVE exibir uma mensagem”. Desta maneira não deixamos dúvida do que pode acontecer ao executar aquele passo e se acontecer algo diferente do descrito, teremos um defeito.

8. Atenção ao colocar imagens e nome de Campos.

Se o Caso de Teste não possuir o objetivo de verificar a usabilidade e o layout do sistema, tome muito cuidado ao citar os nomes do campo.
Como já citado, os Casos de Uso podem sofrer por atualizações que são impactadas no sistema, fazendo com que seja necessário mudar algum layout do sistema ou campo fazendo com que fique diferente do citado no Caso de Testes.

Por mais que alguns pontos citados parecem ser óbvios, quem já passou pela execução e criação de Casos de Testes sabe que na realidade é diferente. Sempre busque melhorar os Casos de Testes, pois com certeza todos da equipe tem a ganhar.

Não tenha medo de escrever demais, ou deixar o Caso de Testes comprido, desde que haja a necessidade. É melhor as vezes pecar pelo excesso do que deixar faltando algo!

Caso queiram citar mais algum ponto sintam-se livres para citar nos comentários que será muito bem-vindo!