Os testes de sistema realizados neste estudo estão ligados à Interface Gráfica do Usuário (GUI), visando verificar as funcionalidades do sistema como um todo. Em outras palavras, se o sistema atende às expectativas dos requisitos do sistema. Os testes de sistema são realizados sob a abordagem de caixa preta, ou seja, a verificação dos resultados tem como foco o design externo do comportamento do software, sem se preocupar com o código-fonte propriamente dito.
Dessa forma, foi escolhido validar todos os requisitos funcionais do sistema em questão. Nessa abordagem, utilizou-se a ferramenta “Eclipse IDE for Enterprise Java and Web Developers” na versão 2023–09, junto com as ferramentas Selenium e JUnit, para automatizar a realização dos testes em navegador web e automatizar a execução e cobertura do teste, respectivamente.
Foram realizadas duas análises prévias à elaboração dos casos de teste para o sistema: Particionamento por Classes de Equivalência e Análise de Valor Limite.
O Particionamento por Classes de Equivalência foi empregado para lidar com conjuntos de dados de entrada que compartilham o mesmo comportamento. Esta abordagem permitiu identificar tanto partições válidas quanto inválidas, para que posteriormente sejam implementadas na definição dos testes. A análise revelou restrições em alguns atributos, além de esclarecer os formatos aceitos.
Por outro lado, a Análise de Valor Limite apresentou desafios devido à falta de limites explícitos nas interfaces do sistema. Isso exigiu uma abordagem mais observacional para identificar as fronteiras do software. Nesse contexto, será necessário considerar outras estratégias de teste para assegurar eficácia em ambientes com limites variáveis.
Após a análise realizada, para os testes de sistema, foram declarados testes de caso de sucesso, em que todas as entradas e ações são executadas conforme o esperado, resultando nos resultados desejados. Análogo, são conduzidos testes de caso de fracasso, onde identificam situações em que o sistema não se comporta conforme o esperado, expondo limitações, falhas e erros na interface. Toda essa abordagem foi realizada nos requisitos funcionais do sistema.
Para abrir o documento contendo todos os casos de teste implementados, utilize Ctrl + clique
(ou Cmd + clique
no Mac). Link do documento: Casos de Teste Requisitos.
@Before | @After |
---|---|
public void setUp() {
driver = new ChromeDriver();
js = (JavascriptExecutor) driver;
vars = new HashMap<String, Object>();
driver.get("http://localhost:8080/Sistema_Reserva_de_Salas/");
driver.findElement(By.linkText("Cadastre-se.")).click();
}
|
public void tearDown() {
Connection conn = null;
Statement stmt = null;
try {
conn = GerenciadorConexao.getConexao();
stmt = conn.createStatement();
stmt.executeUpdate("DELETE FROM usuario WHERE id > 0");
} catch (Exception e) {
e.printStackTrace();
}
|
// CASO DE SUCESSO
@Test
public void cadastrarse() throws InterruptedException {
driver.findElement(By.id("j_idt13:nome")).click();
driver.findElement(By.id("j_idt13:nome")).sendKeys("Lívia Beatriz Maia de Lima");
driver.findElement(By.id("j_idt13:email")).click();
driver.findElement(By.id("j_idt13:email")).sendKeys("livia.lima30332@ufersa.edu.br");
driver.findElement(By.id("j_idt13:matricula")).click();
driver.findElement(By.id("j_idt13:matricula")).clear();
driver.findElement(By.id("j_idt13:matricula")).sendKeys("2021010871");
driver.findElement(By.id("j_idt13:login")).click();
driver.findElement(By.id("j_idt13:login")).sendKeys("usuario_admin2");
driver.findElement(By.id("j_idt13:senha")).click();
driver.findElement(By.id("j_idt13:senha")).sendKeys("admin");
driver.findElement(By.cssSelector(".ui-button-text")).click();
Thread.sleep(10000);
WebElement alerta = driver.findElement(By.cssSelector(".ui-messages-info-summary"));
assertEquals("Usuário cadastrado com sucesso!", alerta.getText());
}
A tabela apresenta o número total de testes realizados e seu respectivo script executado. Ao todo, foram realizados 228 testes nos requisitos funcionais do sistema.
Requisito | Quantidade | Script |
---|---|---|
REQ001 | 6 | Area Cadastro |
REQ002 | 38 | Conta Cadastro |
REQ003 | 7 | Login |
REQ004 | 5 | Recuperar Senha |
REQ005 | 14 | Alterar Dados |
REQ006 | 23 | Cadastrar Reserva |
REQ007 | 4 | Excluir Reserva |
REQ008 | 1 | Visualizar Detalhes da Reserva |
REQ009 | 1 | Validação realizada manualmente |
REQ010 | 1 | Listar Reserva |
REQ011 | 1 | Listar por Data |
REQ012 | 1 | Visualizar por Sala |
REQ013 | 18 | Gerenciar Usuário - Editar Gerenciar Usuário - Excluir Gerenciar Usuário - Listar |
REQ014 | 72 | Gerenciar Espaços - Cadastro (Bloco) Gerenciar Espaços - Editar (Bloco) Gerenciar Espaços - Excluir (Bloco) Gerenciar Espaços - Cadastrar (Sala) Gerenciar Espaços - Editar (Sala) Gerenciar Espaços - Excluir (Sala) Gerenciar Espaços - Listar (Sala) |
REQ015 | 30 | Cadastrar Reserva em Lote |
REQ016 | 4 | Excluir Reserva em Lote |
REQ017 | 1 | Listar Todas as Reservas |
REQ018 | 1 | Listar Reservas em Lote |
Funcionalidade | Script |
---|---|
Ativação de Conta | Ativar Conta |
Sair do Sistema | Logout |
Dessa forma, os principais resultados identificados durante a realização desses testes foram: