TestRail — Configurações personalizadas para o projeto

Introdução

Em muitos projetos nos quais trabalhei, as pessoas não configuravam o TestRail de forma personalizada e usavam as configurações padrão. Portanto, neste artigo, vou tentar descrever um exemplo de configurações individuais que podem ajudá-lo a aumentar a eficiência do seu trabalho. Para exemplificar, vamos considerar um projeto de desenvolvimento de aplicativo móvel.

Um pequeno disclaimer. Este artigo não descreve as funcionalidades básicas do TestRail (há muitos guias para isso) nem contém expressões de vendas que descrevem coloridamente por que você deve escolher este fornecedor para criar um repositório de testes.

Plano de justificativa (o que será implementado)

  1. Requisitos gerais

    1. Qualquer pessoa deve ser capaz de passar pelo caso

    2. Os casos devem manter sua relevância pelo maior tempo possível

    3. Os casos devem cobrir o máximo possível a funcionalidade do aplicativo móvel, na medida em que isso não contradiga os dois primeiros pontos

  2. Divisão entre TestCase e TestScenario

  3. Geração rápida de TestRun de diferentes tipos

    1. Smoke

    2. Regressão

    3. Teste de impacto, etc.

  4. Otimização do suporte aos casos

    1. Abandono de capturas de tela 'mortas' codificadas e transição para 'dados móveis'

Requisitos

Para editar os campos, você precisará de acesso administrativo

Seleção do tipo de projeto

Três tipos de projeto podem ser escolhidos:

TestRail — Configurações personalizadas para o projeto

Vamos escolher o tipo padrão. Nele, todos os casos estarão disponíveis ao mesmo tempo. Usaremos filtragem inteligente e gerenciaremos todos os casos ao mesmo tempo de forma dinâmica.

Adicionando campos para visualizar a lista de casos de teste

Vamos adicionar um campo para exibir a prioridade dos casos de teste:

TestRail — Configurações personalizadas para o projeto

Outros campos também podem ser adicionados.

Configuração de campos e tags do caso de teste

Abrindo o menu de configuração:

TestRail — Configurações personalizadas para o projeto

Precisaremos dos seguintes campos:

Campo 'Resumo' (cabeçalho do caso de teste)

TestRail — Configurações personalizadas para o projeto

Este campo já existe, apenas sistematizaremos seu uso. Vamos dividir os casos em TestCase e TestScenario. Para melhor legibilidade de uma longa lista de casos, é melhor acordar um regulamento sobre como escrever o resumo.

TestScenario:

Exemplo: TestScenario — Cenário principal de uso do aplicativo móvel

TestCase:

Exemplo: MainScreen — Seção de login — Entrada do nome de usuário

Assim, vemos no resumo do caso a compreensão clássica: “o que, onde, quando”. Também visualmente, dividimos os cenários de teste de alto nível dos casos de teste de baixo nível da forma mais adequada para automação.

A tag "StartScreen" (the screen from which the TestScenario begins, and many test cases may affect neighboring screens)

Purpose: we will remove from the text of the test cases standard steps that lead the user to the screen of the current test case. (standard steps to create a specific testing situation) All standard steps for all test cases will be written in one file. I will write more about it separately.

Creating a new field:

TestRail — Configurações personalizadas para o projeto

Filling in the components of the new field:

TestRail — Configurações personalizadas para o projeto

In this case, we are creating a selection field from a list of values. We enter the values for this field:

TestRail — Configurações personalizadas para o projeto

Note that the IDs of the values do not start from one and do not go sequentially. Why was this done? The reason is that if we have test cases recorded with the entered IDs,

TestRail — Configurações personalizadas para o projeto

and after that, we need to create a third screen between two existing ones,

TestRail — Configurações personalizadas para o projeto

we will have to rewrite the IDs, and since the existing test cases are already linked to these IDs, they will simply be deleted. This would be very unpleasant.

A tag "Screen" (the name of the screen affected by the TestCase)

Purpose: one of the anchors for impact testing. For example, developers created a new cool feature. We need to test it, but in order to do so we need to understand what exactly this feature could have affected. By default, we can rely on the paradigm that different screens (Activities) of the application have different classes and therefore make up different components of the application. Of course, in this case, an individual approach is needed.

Example: home_screen, MapScreen, PayScreen, etc.

TestRail — Configurações personalizadas para o projeto

Field "MovableData" (link to a proxy database with variable test data)

Next, we will try to solve the problem of maintaining the relevance of data in test cases:

  1. Links to current layouts (this is much better than doing dead screenshots)

  2. Standard steps to the screen with the test situation

  3. SQL queries

  4. Links to external data and other data

Em vez de inserir dados de teste dentro de cada caso de teste, criaremos um único arquivo externo e faremos referência a ele em todos os casos de teste. Ao atualizar esses dados, não precisaremos percorrer todos os casos de teste para modificá-los, pois poderemos alterar esses dados apenas em um lugar. Se alguém não familiarizado abrir um caso de teste, verá no corpo do caso de teste um link para o arquivo e uma dica para consultá-lo em busca de dados de teste.

Todos esses dados serão organizados em um único arquivo externo, que estará disponível para todos os interessados no projeto. Por exemplo, pode-se usar Google Sheet ou Excel e configurar uma pesquisa dentro do arquivo. Por que esses fornecedores em particular? O fato é que partimos do princípio de que qualquer membro da equipe deve ser capaz de abrir e passar pelo caso de teste sem a necessidade de instalar ferramentas previamente.

Para Google Sheet é possível usar consultas SQL. Exemplo:

=query(DATA!A1:M1146;"
SELECT C,D
WHERE
C contains '"&SEARCH!A2&"'"

Para Excel é possível configurar macros de busca instantânea convenientes. (filtragem) Exemplo no link.

A ideia em si não é nova e está descrita no primeiro livro do testador 'Testando dot com'. (autor Roman Savin) Nós apenas integramos as metodologias sugeridas por Roman Savin no TestRail. Para isso, criaremos um campo com um link para o arquivo criado:

TestRail — Configurações personalizadas para o projeto

preenchemos o valor padrão do link, para que em cada novo caso de teste já haja um link:

TestRail — Configurações personalizadas para o projeto

Se a localização do arquivo externo mudar (prevemos qualquer força maior), podemos facilmente alterar um ou mais campos em todos os casos de teste de uma só vez:

TestRail — Configurações personalizadas para o projetoTestRail — Configurações personalizadas para o projeto

Campo 'Descriptions' (descrição ou ideia do caso de teste, instruções típicas)

Para que pode ser necessário: Neste campo de texto, colocaremos uma breve descrição do caso de teste e instruções típicas.

Exemplo: Todos os dados de teste (modelos atuais, uso de ferramentas e outros dados) deste caso de teste estão designados por links {…} e estão no arquivo MovableData. O link para o MovableData está no campo correspondente na parte superior.

TestRail — Configurações personalizadas para o projeto

Tag 'Component' (componente do aplicativo móvel)

Para que pode ser necessário: para testes de impacto. Se o aplicativo móvel pode ser dividido em componentes (que afetam o mínimo uns aos outros), então as alterações em um componente serão suficientes (com alguns riscos) para serem verificadas dentro desse mesmo componente, reduzindo a necessidade de realizar testes de regressão gerais. Se houver informações de que um componente pode afetar outro, é elaborada uma matriz de testes de impacto.

Exemplo de componentes: GooglePay, Pedido, Usuários, Mapa, Autorização, etc.

TestRail — Configurações personalizadas para o projeto

Tag "TAG" (Outras tags para filtragem)

Marcação de casos de teste com etiquetas para filtragem arbitrária. 

Muito útil para: 

  1. criação rápida de TestRuns para várias tarefas típicas: smoke, regressão, etc.

  2. se os testes serão automatizados ou já estão automatizados

  3. qualquer outra tag

Exemplo: Smoke, Automatizado, WhiteLabel, ParaExcluir, etc.

TestRail — Configurações personalizadas para o projetoTestRail — Configurações personalizadas para o projeto

Configurando a ordem de exibição dos campos no caso de teste

Criamos muitos novos campos, chegou a hora de organizá-los de forma conveniente:

TestRail — Configurações personalizadas para o projeto

Criação de TestRun

Agora criaremos um novo test run com os casos atualizados para realizar testes de smoke em três cliques:

TestRail — Configurações personalizadas para o projeto

Outras dicas úteis

  1. Se houver vários projetos no TestRail, não se esqueça de criar novos campos apenas para seu projeto, caso contrário, os colegas de equipes vizinhas ficarão muito surpresos com a adição de novos campos incomuns. Possíveis desmaios locais.

TestRail — Configurações personalizadas para o projeto

2. Casos com um grande número de campos são mais fáceis de copiar de um grupo similar do que criar novos:

TestRail — Configurações personalizadas para o projeto

3. É possível usar contas em conjunto. Por exemplo: uma conta de administrador e várias contas de usuário.

Conclusão

Os exemplos descritos acima foram implementados em vários projetos e mostraram sua eficácia. Espero que ajudem a melhorar sua compreensão dessas ferramentas e ajudem a criar "test storages" eficazes e convenientes. Fico muito grato se você compartilhar sua experiência de uso do TestRail e dicas úteis nos comentários.

Links:

Site do fornecedor TestRail

Livro: “Teste .COM” (autor Roman Savin)

Muito obrigado pela atenção!

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster