## Tela de módulo - **Responsável:** Daniel ## Edição de usuários - **Responsável:** Daniel ## Tela de criar aulas - **Responsável:** Lucas ## Tela de atualizar aulas - **Responsável:** Lucas ## Tela de editar módulos - **Responsável:** Lucas ## Tela de Usuário - **Responsável:** Thalysson ## Tela de login - **Responsável:** Thalysson ## Tela de alterar senha - **Responsável:** Thalysson --- # Plano de Teste **Plataforma de matemática** ## 1 - Introdução A plataforma de matemática é um projeto da fábrica de software que tem o objetivo de trazer as aulas dadas pelo Marcos, o cliente, para que os alunos possam se manter sempre atualizados. Eles acessarão o site da plataforma de matemática, escolherão um módulo que quiserem visualizar, assistirão às aulas, farão as atividades e no final marcarão a aula como feita. ## 2 - Arquitetura O framework utilizado para a implementação do front-end da plataforma de matemática é o NEXT.JS, que possui uma arquitetura orientada a componentes, pois é baseado no React. Para o armazenamento, consulta e alteração de dados da aplicação, será usada uma API que disponibiliza um conjunto de serviços REST. ## 3 - Categorização dos Requisitos em Funcionais x Não Funcionais Requisito Funcional | Requisito Não Funcional | -----------|--------| RF001 – O sistema deve permitir o cadastro de usuários | NF001 – O sistema deve ser desenvolvido em web | RF002 – O sistema deve permitir que o usuário realize login | NF002 – O banco de dados utilizado deverá ser o MySQL Workbench | RF003 – O sistema deve permitir o cadastro de módulos | NF003 – O sistema deve ser acessível via Browser, como Google Chrome, Internet Explorer e Mozilla Firefox. | RF004 – O sistema deve permitir a listagem de módulos | | RF005 – O sistema deve permitir o cadastro de novas aulas dentro de módulos | | RF006 – O sistema deve permitir a listagem de aulas dentro dos módulos | | RF007 – O sistema deve permitir remover uma aula | | RF008 – O sistema deve permitir a visualização de uma vídeo-aula | | RF009 – O sistema deve permitir o download de PDFs de uma aula | | RF010 – O sistema deve permitir marcar uma aula como feita | | RF011 – O sistema deve permitir visualizar os usuários | | RF012 – O sistema deve permitir editar os usuários | | RF013 – O sistema deve permitir inseir usuários com um csv | | ### Casos de Teste Funcionalidades | Comportamento Esperado | Verificações | Critérios de Aceite | -----------|--------|--------|--------| Login | ● Ao digitar seu usuário e senha corretamente o usuário irá logar na plataforma. <br> | ● Login no Sistema com sucesso <br>● Usuário Inválido <br>● Usuário não preencheu o campo obrigatório <br>● Senha Incorreta <br>●Deve existir e estar visível: Imagem identificada como imagem-m4, Formulário de login identificado como form-login, Label do campo matrícula, Input do campo matrícula, Label do campo senha, Input do campo senha, Checkbox (opção interativa de "lembrar senha")| ● Ter acessibilidade no sistema <br>● Redimensionar a Tela Funcionalidades | Comportamento Esperado | Verificações | Critérios de Aceite | -----------|--------|--------|--------| Listagem de módulos | ● Ao entrar na tela inicial o usuário irá ver uma lista com todos os módulos. <br> ● Deve ser exibido um ícone com as iniciais do usuário no navigation/cabeçalho. <br>● O card do módulo deverá ter título, imagem e descrição. <br> ● O usuário deve poder navegar entre as telas disponíveis no navigation da tela principal. <br> ● O administrador deve poder cadastrar um novo módulo. <br> ● O usuário deve poder entrar em um módulo ao clicar nele.| | Funcionalidades | Comportamento Esperado | Verificações | Critérios de Aceite | -----------|--------|--------|--------| Cadastrar módulos | ● O administrador deverá poder inserir um título para o módulo. <br> ● O administrador deverá poder inserir uma descrição para o módulo. <br> ● O administrador deverá poder inserir uma imagem para o módulo. <br> ● O administrador deverá poder selecionar uma turma para o módulo. <br> ● O administrador deverá ver a pré-visualização de como ficará o card do módulo em tempo real. | ● Mínimo de 2 caracteres ao título. <br>● Máximo de 45 caracteres ao título. <br> ● Mínimo de 10 caracteres à descrição. <br> ● Máximo de 200 caracteres à descrição. <br> ● Máximo de 5MB do tamanho da imagem. <br> ● Deve selecionar uma turma. <br> ● Deve cadastrar um módulo com sucesso.| ● Cadastrar o módulo na tela de módulos/tela principal. <br> ● Cadastrar o módulo no banco de dados.| Funcionalidades | Comportamento Esperado | Verificações | Critérios de Aceite | -----------|--------|--------|--------| | Login | ● O usuário deve conseguir fazer o login na página. | ● Ao colocar a matrícula errada deverá aparecer uma mensagem de erro no campo de matrícula ; <br> ● Ao colocar a senha errada deverá aparecer uma mensagem de erro no campo de senha; <br> ● Os campos de inserção de matrícula e senha devem ser exibidos corretamente. | ● Após preencher todos os campos corretamente e seguir adiante deverá entrar na página principal. | | Renderização da Tela | ● Os elementos principais da página devem ser exibidos corretamente ao carregar a tela. | ● O botão de abrir modal deve estar visível. <br> ● O player de vídeo deve existir. <br> ● O título deve ser exibido com o texto "Introdução à Álgebra: Conceitos Básicos". <br> ● A descrição e os conteúdos devem existir. <br> ● Botões e cabeçalho devem ser exibidos. | ● Ao acessar a URL `http://localhost:3000/aula?modulo_id=2`, os elementos mencionados devem estar presentes e visíveis conforme especificado. | | Reprodução do Vídeo | ● O vídeo da aula deve ser carregado e visível com origem no YouTube. | ● O `iframe` do vídeo deve existir e estar visível. <br> ● A URL do vídeo deve conter a palavra "youtube.com". | ● O vídeo deve carregar em um `iframe` e ser visível ao usuário em até 2 segundos. <br> ● A origem do vídeo deve ser o YouTube. | | Redirecionamento de PDF | ● O botão de conteúdo e gabaritos devem abrir arquivos PDF ao serem clicados. | ● A função `window.open` deve ser chamada com URLs contendo `/api/arquivo?path=` após clicar em: <br> ○ `aula-conteudo-0` <br> ○ `aula-gabarito-1` <br> ○ `aula-gabarito-2`. | ● Ao clicar nos botões de conteúdo e gabaritos, os arquivos PDF devem abrir corretamente na URL fornecida. | | Abrir e Fechar Modal | ● O modal de aula deve abrir e fechar corretamente através dos botões específicos. | ● O botão "fechar modal" deve fechar o modal e exibir o botão "abrir modal". <br> ● O botão "abrir modal" deve abrir o modal e esconder o botão "abrir modal". | ● O modal deve alternar entre visível e invisível ao clicar nos botões "abrir" e "fechar". | | Troca de Aula | ● O usuário deve conseguir selecionar outra aula para assistir e atualizar os dados exibidos. | ● Ao selecionar `modal-aula-1`, o título deve mudar para "Equações de 1º Grau: Resolução e Aplicações". <br> ● O vídeo, descrição e conteúdos devem ser exibidos corretamente. | ● Após selecionar outra aula, os elementos (título, vídeo, descrição e conteúdos) devem ser atualizados corretamente. | ## 4 - Classificação de Bugs Os Bugs serão classificados com as seguintes severidades: ID | Nível de Severidade | Descrição -----------|--------|-------- 1 | Blocker | ● Bug que bloqueia o teste de uma função ou feature causa crash na aplicação. <br>● Botão não funciona impedindo o uso completo da funcionalidade. <br>● Bloqueia a entrega. 2 | Grave | ● Funcionalidade não funciona como o esperado <br>● Input incomum causa efeitos irreversíveis 3 | Moderada | ● Funcionalidade não atinge certos critérios de aceitação, mas sua funcionalidade em geral não é afetada <br>● Mensagem de erro ou sucesso não é exibida 4 | Pequena | ● Quase nenhum impacto na funcionalidade porém atrapalha a experiência <br>● Erro ortográfico<br>● Pequenos erros de UI ### 5 - Definição de Pronto Será considerada pronta as funcionalidades que passarem pelas verificações e testes descritos neste TestPlan, não apresentarem bugs com a severidade acima de Minor, e passarem por uma validação de negócio de responsabilidade do time de produto.