use case use case testing complete tutorial
Para começar, vamos entender ‘O que é caso de uso?’ e mais tarde iremos discutir ‘O que é Teste de Caso de Uso?’ .
Um caso de uso é uma ferramenta para definir a interação do usuário necessária. Se você estiver tentando criar um novo aplicativo ou fazer alterações em um aplicativo existente, várias discussões serão feitas. Uma das discussões críticas que você deve fazer é como representará o requisito para a solução de software.
Os especialistas de negócios e desenvolvedores devem ter um entendimento mútuo sobre o requisito, pois é muito difícil de atingir. Qualquer método padrão para estruturar a comunicação entre eles será realmente uma bênção. Isso, por sua vez, reduzirá as falhas de comunicação e aqui é o lugar onde o caso de uso entra em cena.
Este tutorial fornecerá uma imagem clara sobre o conceito de caso de uso e teste, cobrindo assim os vários aspectos envolvidos com exemplos práticos para facilitar o entendimento de quem é completamente novo no conceito.
O que você aprenderá:
- Caso de uso
- Quem usa documentos de 'Caso de uso'?
- Tipos de casos de uso
- Elementos em casos de uso
- Representação
- Como escrever um caso de uso?
- Diagrama de casos de uso
- Ações do usuário
- O que é Teste de Caso de Uso?
- Conclusão
- Leitura recomendada
Caso de uso
O caso de uso desempenha um papel significativo nas fases distintas do Ciclo de Vida de Desenvolvimento de Software. O Caso de Uso depende de 'Ações do Usuário' e 'Resposta do Sistema' às Ações do Usuário.
É a documentação das 'Ações' realizadas pelo Ator / Usuário e o 'Comportamento' correspondente do Sistema às 'Ações' do Usuário. Casos de Uso pode ou não resultar no cumprimento de uma meta pelo 'Ator / Usuário' nas interações com o sistema.
No caso de uso, iremos descrever ‘Como um sistema responderá a um determinado cenário?’ . É 'orientado para o usuário' e não 'orientado para o sistema'.
É 'orientado para o usuário': Vamos especificar 'quais são as ações realizadas pelo usuário?' E 'O que os atores veem em um sistema?'
Não é 'orientado para o sistema': Não especificaremos 'Quais são os dados de entrada fornecidos ao sistema?' E 'Quais são os resultados produzidos pelo sistema?'
A equipe de desenvolvimento precisa escrever os ‘Casos de uso’, pois a fase de desenvolvimento depende muito deles.
O redator do caso de uso, os membros da equipe e os clientes contribuirão para a criação desses casos. Para criá-los, precisamos ter uma equipe de desenvolvimento montada e a equipe deve estar bem ciente dos conceitos do projeto.
Depois de implementar o caso, o documento é testado e o comportamento do Sistema é verificado de acordo. Em um caso, a letra maiúscula ‘A’ denota ‘Ator’, a letra ‘S’ denota ‘Sistema’.
Quem usa documentos de 'Caso de uso'?
Esta documentação oferece uma visão geral completa das diferentes maneiras pelas quais o usuário interage com um sistema para atingir o objetivo. Uma documentação melhor pode ajudar a identificar os requisitos de um sistema de software de uma maneira muito mais fácil.
Esta documentação pode ser usada por desenvolvedores de software, testadores de software e também por Stakeholders.
Usos dos Documentos:
- Os desenvolvedores usam os documentos para implementar o código e projetá-lo.
- Os testadores os usam para criar o casos de teste .
- As partes interessadas da empresa usam o documento para compreender os requisitos de software.
Tipos de casos de uso
Existem 2 tipos.
Eles estão:
- Dia ensolarado
- Dia chuvoso
# 1) Casos de uso em dias ensolarados
Eles são os casos primários que têm mais probabilidade de acontecer quando tudo vai bem. Eles têm alta prioridade do que os outros casos. Depois de concluir os casos, o entregamos à equipe do projeto para revisão e garantimos que cobrimos todos os casos necessários.
ciclo de vida de bugs em teste de software
# 2) Casos de uso em dias chuvosos
Eles podem ser definidos como a lista de casos extremos. A prioridade de tais casos virá depois dos ‘Casos de uso Sunny’. Podemos buscar a ajuda de Stakeholders e gerentes de produto para priorizar os casos.
Elementos em casos de uso
Abaixo estão os vários elementos:
1) Breve Descrição : Uma breve descrição explicando o caso.
2) Ator : Usuários que estão envolvidos em Ações de Casos de Uso.
3) Pré-condição : Condições a serem satisfeitas antes do início do caso.
4) Básico Fluxo : ‘Fluxo básico’ ou ‘Cenário principal’ é o fluxo de trabalho normal no sistema. É o fluxo de transações feitas pelos Atores na realização de seus objetivos. Quando os atores interagem com o sistema, como é o fluxo de trabalho normal, não haverá nenhum erro e os atores obterão a saída esperada.
5) Suplente fluxo : Além do fluxo de trabalho normal, um sistema também pode ter um 'fluxo de trabalho alternativo'. Esta é a interação menos comum feita por um usuário com o sistema.
6) Exceção fluxo : O fluxo que impede um usuário de atingir a meta.
7) Postagem Condições : As condições que precisam ser verificadas após a conclusão do caso.
Representação
Um caso geralmente é representado em um texto simples ou diagrama. Devido à simplicidade do diagrama de caso de uso, ele é considerado opcional por qualquer organização
Exemplo de caso de uso:
Aqui vou explicar o caso de ‘Login’ em um ‘Sistema de Gestão Escolar’.
Nome do caso de uso | Conecte-se | |
---|---|---|
3b | ID de aluno inválido inserido 4 vezes. S: O aplicativo fecha | |
Descrição do caso de uso | Um login de usuário no Sistema para acessar a funcionalidade do sistema. | |
Atores | Pais, alunos, professor, administrador | |
Condição prévia | O sistema deve estar conectado à rede. | |
Pós-condição | Depois de um login bem-sucedido, um e-mail de notificação é enviado para o ID de e-mail do usuário |
Cenários Principais | Número de série | Degraus |
---|---|---|
Atores / usuários | 1 | Insira nome de usuário Digite a senha |
dois | Validar nome de usuário e senha | |
3 | Permitir acesso ao sistema | |
Extensões | 1a | Nome de usuário Inválido O sistema mostra uma mensagem de erro |
2b | senha inválida O sistema mostra uma mensagem de erro | |
3c | Senha inválida por 4 vezes Aplicativo fechado |
Pontos a serem observados
- Erros comuns que os participantes cometem com o Caso de Uso é que ele contém muitos detalhes sobre um caso específico ou não contém detalhes suficientes.
- Estes são modelos textuais, se necessário, podemos ou não adicionar um diagrama visual a eles.
- Determine a pré-condição aplicável.
- Escreva as etapas do processo na ordem correta.
- Especifique o requisito de qualidade para o processo.
Como escrever um caso de uso?
Os pontos resumidos abaixo o ajudarão a escrever estes:
=> Quando estamos tentando escrever um caso, a primeira questão que deve ser levantada é 'Qual é o principal uso para o cliente?'. Essa questão fará com que você escreva seus casos da perspectiva do usuário.
=> Devemos ter obtido um modelo para estes.
=> Deve ser produtivo, simples e forte. Um caso de uso forte pode impressionar o público, mesmo que haja pequenos erros.
=> Devemos numerar.
=> Devemos escrever a etapa do processo em seu pedido.
=> Dê nome próprio aos Cenários, a nomeação deve ser feita de acordo com a finalidade.
=> Este é um processo iterativo, o que significa que quando você os escreve pela primeira vez, não será perfeito.
=> Identifique os atores do sistema. Você pode encontrar vários atores no sistema.
Exemplo ,se você considerar um site de comércio eletrônico como a Amazon, podemos encontrar atores como compradores, vendedores, revendedores atacadistas, auditores, fornecedores, distribuidores, atendimento ao cliente, etc.
Inicialmente, vamos considerar os primeiros atores. Podemos ter mais de um ator com o mesmo comportamento.
Por exemplo , tanto o comprador como o vendedor podem ‘Criar uma conta’. Da mesma forma, 'Comprador e Vendedor' podem 'Pesquisar o Item'. Portanto, esses são comportamentos duplicados e precisam ser eliminados. Além de usar os casos duplicados, devemos ter casos mais gerais. Portanto, precisamos generalizar os casos para evitar duplicação.
=> Devemos determinar a pré-condição aplicável.
Diagrama de casos de uso
O Diagrama de Caso de Uso é uma representação pictórica das Ações de um usuário em um sistema. Ele fornece uma ótima ferramenta neste contexto; se o diagrama contém muitos atores, é muito fácil de entender. Se for um diagrama de alto nível, não compartilhará muitos detalhes. Mostra ideias complexas de uma forma bastante básica.
Fig No: UC 01
Conforme mostrado no Fig No: UC 01 representa um diagrama onde o retângulo representa um ‘Sistema’, oval representa um ‘Caso de uso’, a seta representa um ‘Relacionamento’ e o Homem representa um ‘Usuário / Ator’. Mostra um sistema / aplicativo, depois mostra a organização / pessoas que interagem com ele e mostra o fluxo básico de 'O que o sistema faz?'
Fig No: UC 02
Fig No: UC 03 - Diagrama de caso de uso para login
Este é o diagrama de caso de uso do caso de 'Login'. Aqui, temos mais de um ator, todos são colocados fora do sistema. Alunos, professores e pais são considerados os atores principais. É por isso que todos eles são colocados no lado esquerdo do retângulo.
Admin e Staff são considerados atores secundários, então os colocamos no lado direito do retângulo. Os atores podem efetuar login no sistema, então conectamos os atores e o caso de login com um conector.
Outras funcionalidades encontradas no sistema são Redefinir senha e Esqueci a senha. Eles estão todos relacionados ao caso de login, então os conectamos ao conector.
Ações do usuário
Essas são as ações que são realizadas pelo usuário em um sistema.
Por exemplo: Pesquisando no local, adicionando um item aos favoritos, tentando entrar em contato etc.
Observação:
- Um sistema é ‘tudo o que você está desenvolvendo’. Pode ser um site, um aplicativo ou qualquer outro componente de software. Geralmente é representado por um retângulo. Ele contém casos de uso. Os usuários são colocados fora do 'retângulo'.
- Casos de Uso são geralmente representados por formas ovais que especificam as ações dentro dele.
- Atores / usuários são as pessoas que usam o sistema. Mas às vezes pode ser outros sistemas, pessoa ou qualquer outra organização.
O que é Teste de Caso de Uso?
Ele vem com a técnica de teste Functional Black Box. Por se tratar de um teste de caixa preta, não haverá nenhuma inspeção dos códigos. Vários fatos interessantes sobre isso são apresentados nesta seção.
Ele garante se o caminho usado pelo usuário está funcionando como pretendido ou não. Isso garante que o usuário possa realizar a tarefa com êxito.
Alguns fatos
- Não é um teste que é executado para decidir a qualidade do software.
- Mesmo que seja um tipo de teste de ponta a ponta, não garantirá toda a cobertura do aplicativo do usuário.
- Com base no resultado do teste conhecido do teste de caso de uso, não podemos decidir a implantação do ambiente de produção.
- Ele descobrirá os defeitos nos testes de integração.
Exemplo de teste de caso de uso:
Considere um cenário em que um usuário está comprando um item de um site de compras online. O usuário fará o login primeiro no sistema e começará a realizar uma pesquisa. O usuário selecionará um ou mais itens mostrados nos resultados da pesquisa e os adicionará ao carrinho.
Depois de tudo isso, ele fará o check-out. Portanto, este é um exemplo de série de etapas conectadas logicamente que o usuário executará em um sistema para realizar a tarefa.
O fluxo de transações em todo o sistema de ponta a ponta é testado neste teste. Os casos de uso geralmente são o caminho que os usuários provavelmente usarão para realizar uma tarefa específica.
Portanto, isso torna os casos de uso fáceis de localizar os defeitos, pois inclui o caminho que os usuários têm mais probabilidade de encontrar quando o usuário está usando o aplicativo pela primeira vez.
Passo 1: A primeira etapa é a revisão dos documentos de Caso de Uso.
Precisamos revisar e ter certeza de que os requisitos funcionais estão completos e corretos.
Passo 2: Precisamos ter certeza de que os casos de uso são atômicos.
Por exemplo: Considere um 'Sistema de gerenciamento escolar com muitas funcionalidades como' Login ',' Mostrar detalhes do aluno ',' Mostrar marcas ',' Mostrar presença ',' Contactar a equipa ',' Enviar taxas ', etc. Para este caso, estamos a tentar preparar os Casos de Uso para a funcionalidade de 'Login'.
Precisamos ter certeza de que nenhum fluxo de trabalho normal precisa se misturar com qualquer outra funcionalidade. Deve estar totalmente relacionado apenas à funcionalidade de 'Login'.
Etapa 3: Precisamos inspecionar o fluxo de trabalho normal no sistema.
Depois de inspecionar o fluxo de trabalho, devemos garantir que ele esteja completo. Com base no conhecimento do sistema ou mesmo do domínio, podemos descobrir as etapas que faltam no fluxo de trabalho.
Passo 4: Certifique-se de que o fluxo de trabalho alternativo no sistema esteja completo.
Etapa 5: Devemos ter certeza de que cada etapa do Caso de Uso é testável.
Cada etapa explicada no teste de caso de uso é testável.
Por exemplo, algumas transações de cartão de crédito no sistema não podem ser testadas por motivos de segurança.
Etapa 6: Depois de reviver esses casos, podemos escrever os casos de teste.
Devemos escrever casos de teste para cada fluxo normal e fluxo alternativo.
Por exemplo , Considere o caso 'Mostrar notas do aluno', em um sistema de gestão escolar.
Nome do caso de uso: Mostrar notas do aluno
Atores: Alunos, professores, pais
Condição prévia:
1) O sistema deve estar conectado à rede.
dois) Os atores devem ter uma ‘carteira de estudante’.
Caso de uso para 'Mostrar notas do aluno':
Cenário Principal | Número de série | Degraus |
---|---|---|
R: Ator / S: Sistema | 1 | Digite o nome do aluno |
dois | Sistema valida o nome do aluno | |
3 | Digite a ID do aluno | |
4 | Sistema valida a ID do aluno | |
5 | Sistema mostra notas do aluno | |
Extensões | 3a | ID de aluno inválido S: Mostra uma mensagem de erro |
Caso de teste correspondente para o caso 'Mostrar notas do aluno':
Casos de teste | Degraus | resultado esperado |
---|---|---|
PARA | Exibir lista de notas do aluno 1 - Fluxo normal | |
1 | Digite o nome do aluno | O usuário pode inserir o nome do aluno |
dois | Digite a ID do aluno | O usuário pode inserir a ID do aluno |
3 | Clique em Exibir Marca | O sistema exibe as notas do aluno |
B | Exibir lista de notas do aluno 2 - ID inválida | |
---|---|---|
1 | Repita as etapas 1 e 2 de Exibir lista de notas do aluno 1 | |
dois | Digite a ID do aluno | Sistema exibe mensagem de erro |
Observe que a tabela de casos de teste mostrada aqui contém apenas as informações básicas. ‘Como criar um modelo de caso de teste’ é explicado em detalhes abaixo.
A tabela exibe o 'Caso de Teste' correspondente ao caso 'Mostrar Marca do Aluno' conforme mostrado acima.
A melhor maneira de escrever casos de teste é escrever os casos de teste para 'o cenário principal' primeiro e, em seguida, escrevê-los para 'Etapas alternativas'. O ' Degraus' em casos de teste são obtidos de documentos de casos de uso. O primeiro ' Etapa' do caso 'Mostrar Marca do Aluno', 'Digite o Nome do Aluno' será o primeiro Etapa no ‘Caso de Teste’.
O usuário / ator deve ser capaz de acessá-lo. Isso se torna o resultado esperado .
Podemos buscar a ajuda de técnicas de design de teste como ‘ análise de valor limite ' , 'Particionamento de equivalência' enquanto preparamos os casos de teste. A técnica de design de teste ajudará a reduzir o número de casos de teste e, assim, reduzir o tempo necessário para o teste.
Como criar um modelo de caso de teste?
Quando estamos preparando os casos de teste, devemos pensar e agir como o usuário final, ou seja, colocar-se no lugar de um usuário final.
Várias são as ferramentas disponíveis no mercado para auxiliar neste contexto. ' TestLodge 'é um deles, mas não é uma ferramenta gratuita. Precisamos comprá-lo.
Precisamos de um modelo para documentar o caso de teste. Vamos considerar um cenário comum, ‘FLIPKART login’ com o qual todos nós estamos familiarizados. A planilha do Google pode ser usada para criar a tabela de casos de teste e compartilhá-la com os membros da equipe. Por enquanto, estou usando um documento Excel.
Aqui está um exemplo
=> BAIXE este modelo de tabela de caso de teste aqui
Primeiro de tudo, nomeie a folha de caso de teste com um Nome apropriado. Estamos escrevendo casos de teste para um módulo específico em um projeto. Então, precisamos adicionar o 'Nome do Projeto' e a ‘Módulo de Projeto 'Colunas na tabela de casos de teste. O documento deve incluir o nome do criador dos casos de teste.
Portanto, adicione 'Criado por' e 'Data de criação' colunas. O documento deve ser revisado por alguém (líder da equipe, gerente de projeto, etc.), então adicione 'Revisados pela' coluna e ‘Data da Revisão’ .
Próxima coluna é ‘Cenário de Teste’ , aqui fornecemos o Exemplo de Cenário de Teste ‘Verificar login do Facebook’ . Adicione as colunas ‘Test Scenario ID’ e ‘Descrição do Caso de Teste’ .
Para cada cenário de teste, iremos escrever 'Casos de teste ’. Então, adicione as colunas ‘Test Case ID’ e ‘Descrição do Caso de Teste ’. Para cada cenário de teste, haverá ‘Pós-condição’ e 'Condição prévia' . Adicione as colunas 'Pós-condição' e 'Pré-condição'.
Outra coluna importante é 'Dados de teste' . Ele conterá os dados que usamos para teste. Um cenário de teste deve assumir um resultado esperado e o resultado real. Adicione a coluna 'Resultado esperado' e 'Resultado real'. 'Status' mostra o resultado da execução do cenário de teste. Pode ser aprovado / reprovado.
Os testadores irão executar os casos de teste. Precisamos incluí-lo como 'Executado por' e ‘Data de execução’ . Adicionaremos 'Comandos' se houver algum.
Conclusão
Espero que você tenha uma ideia clara sobre casos de uso e testes de caso de uso.
Escrever esses casos é um processo iterativo. Você só precisa de pouca prática e um bom conhecimento de um sistema para escrever esses casos.
Em suma, podemos usar o 'teste de caso de uso' em um aplicativo para encontrar os links ausentes, requisitos incompletos, etc. Localizá-los e modificar o sistema proporcionará eficiência e precisão ao sistema.
Você tem experiências anteriores com casos de uso e testes? Sinta-se à vontade para compartilhar conosco na seção de comentários abaixo.
Leitura recomendada
- Teste Funcional Vs Teste Não Funcional
- Tutoriais detalhados do Eclipse para iniciantes
- Teste Alfa e Teste Beta (um guia completo)
- Tutorial de teste de DevOps: como o DevOps afetará os testes de controle de qualidade?
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Tutorial de teste de usabilidade: um guia de primeiros passos completo
- Tutorial de teste de GUI: um guia completo de teste de interface de usuário (IU)
- Tutorial de teste destrutivo e teste não destrutivo