• Nenhum resultado encontrado

4 ESTUDO DE CASO APLICAÇÃO DA PRIORIZAÇÃO DE TESTES

4.2 PROCESSO DE TESTES DA EMPRESA

4.2.3 Projetar casos de testes

Quem realiza esta atividade é o analista de testes.

A seguir serão apresentados os procedimentos para a construção de casos de testes, bem como o preenchimento dos documentos padrão.

Para a empresa, um “Caso de teste” é um conjunto de entradas de teste, condições de execução e resultados esperados desenvolvidos para um objetivo específico, como, por exemplo, testar o caminho de determinado programa ou verificar o cumprimento de um requisito específico.

O caso de teste deve especificar a saída esperada e os resultados esperados do processamento. Numa situação ideal, no desenvolvimento de casos de teste, espera se encontrar o subconjunto dos casos de teste possíveis com a maior probabilidade de encontrar a maioria dos erros.

Para confecção dos casos de testes, a primeira atividade é mapear os artefatos (itens a serem testados), como regras de negócio, regras de telas, etc.

4.2.3.1 Mapeamento dos itens de testes

O mapeamento dos itens de testes deve ser a primeira tarefa realizada, antes de iniciar a construção do caso de teste. Este mapeamento tem como objetivo clarificar e organizar o escopo de trabalho. Esta atividade deve ser realizada em conjunto com a revisão da especificação. O quadro a seguir apresenta os itens de teste.

Figura 4 - Mapeamento dos itens de teste.

Itens de teste – artefatos 1 – Requisitos funcionais 2 – Regras de negócio 3 – Regras de tela 4 - Mensagens (...) Fonte: Autores.

Cada item de teste deve ser relacionado e numerado no documento de caso de teste, de modo que seja possível referenciá-lo nos casos de testes, durante a modelagem.

4.2.3.2 Elaborar casos de testes

Depois do mapeamento dos artefatos, começa-se a fazer os casos de teste.

A elaboração de casos de testes deve ser realizada, utilizando o modelo de testes padrão usado pela empresa. Neste documento, cada cenário ou ideia de teste deve ser disposto em um tópico, explodindo-o para os seus respectivos casos de testes.

A construção de casos de testes se dá por meio do preenchimento de listas de verificação, montagem de checklist, roteiros e tabelas de decisão, sendo o uso de cada um destes modelos facultativos. O analista de testes deve selecionar a forma de representação mais adequada para a situação que pretende atacar.

A seguir são apresentados alguns desses artefatos e procedimentos.

4.2.3.2.1 Listas de Verificação

A lista de verificação é uma tabela na qual cada item ou linha é composto por um ID, uma pré-condição, uma ação a ser realizada, uma verificação e a rastreabilidade para os itens de teste correspondentes. Um exemplo pode ser visualizado na figura a seguir.

Figura 5 - Exemplo de caso de teste.

Fonte: Empresa apresentada na pesquisa.

A pré-condição é de preenchimento opcional, ficando a cargo do analista de testes identificar se é necessário satisfazer alguma situação prévia antes de realizar o teste.

A ação e a verificação devem ser escritas no imperativo e de modo direto. Se deve assumir que o teste será executado por um profissional que já conhece o sistema e está habituado com ele, logo, não são necessários muitos detalhes nestas descrições.

Figura 6 - Exemplo de ação e verificação no caso de teste.

Exemplo:

Ação: Excluir um item de contrato que possua termo de supressão vinculado.

Verificação: Deve ser exibida a mensagem "Não é possível excluir item com aditivo vinculado". Fonte: Autores.

A coluna rastreabilidade deve ser preenchida com os números que referenciam os itens de testes, de modo que cada número esteja dentro de colchetes (conforme no quadro anterior). Esta rastreabilidade permitirá maior agilidade na manutenção dos casos de testes, bem como na identificação de qual artefato da modelagem não está sendo atendido pelo produto, quando alguma verificação não for satisfeita.

4.2.3.3 Abordagens para execução de testes

As abordagens que os analistas de testes podem usar para cada cenário são inúmeras, cabendo a ele decidir qual a melhor (ou o conjunto das melhores) para cada situação.

Alguns exemplos de abordagens são:

Não testar.

Realizar Testes Exploratórios.

Realização de testes de acordo com a experiência do testador, sem seguir nenhum documento de testes.

Construção de casos de testes.

Ações e verificações descritas pelo analista de testes para que o testador possa executar os testes.

Aplicar checklist

O checklist é um modelo muito semelhante à lista de verificação. A diferença básica é o fato de não existir a indicação de uma ação a ser executada no sistema para que a verificação seja realizada. Um checklist é composto apenas por verificações que o testador precisará de alguma forma realizar.

Tabela de Decisão

As Tabelas de Decisões devem ser utilizadas quando o teste a ser realizado depender de uma série de dados de entrada, que quando relacionados produzem uma saída específica e que precisa ser validada. Este modelo traz maior facilidade na execução de testes que realizam diversas vezes a mesma operação (ou com pouca variação) com alteração de dados de entrada e saída.

Os modelos de tabela de decisão inseridos no modelo de caso de teste são apenas exemplos e podem ser customizados da forma que for necessário para que atendam a necessidade do teste que está sendo construído.

Vale lembrar que os testes devem ser construídos, assumindo que o testador que o executará posteriormente já tem conhecimento suficiente para utilizar apenas a tabela de decisão como roteiro, sem a necessidade de nenhuma informação adicional.

Roteiros de Testes

Os roteiros devem ser utilizados nos casos que a sequência de passos executada pelo testador para realizar determinado teste é importante para a verificação final. Ao se deparar com

este tipo de situação, o roteiro deve ser utilizado, a fim de garantir a correta execução do caso de teste.

No roteiro, cada passo deve ser acompanhado por uma verificação, e cada verificação deve ser acompanhada por pelo menos um item na coluna rastreabilidade. Os passos e as verificações devem ser escritos no imperativo e com detalhes suficientes para que o objetivo do teste seja alcançado.

Automação de testes

Esta é a abordagem na qual são utilizadas ferramentas de software para a execução dos testes.

Estes abaixo podem ser realizados com o uso da ferramenta Eclipse ou uma ferramenta de automação de testes.

• Automação de testes unitários.

• Automação de testes de serviços.

• Automação de testes de interface.

A abordagem para cada cenário é livre e pode ser usada a combinação de várias delas, o analista de testes deve defini-la, de acordo com as suas restrições dentro do projeto, tais, como prazo, custo, equipe disponível, etc.

Depois de finalizado o projeto dos testes passa-se para a etapa de execução. Essa fase não será abordada nesta seção.

Na continuação serão apresentados os casos de uso nos quais foram aplicadas as técnicas de priorização de testes.

Documentos relacionados