Ideia principal: Usar um exemplo de código Java para ilustrar como criar e analisar diferentes cenários de teste, aprimorando a compreensão dos princípios e práticas de teste.
- Exemplo de código:
public class Calculator { public int add(int a, int b) { return a + b; } public int subtract(int a, int b) { return a - b; } public int multiply(int a, int b) { return a * b; } public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("Division by zero"); } return a / b; } } - Cenários de teste:
- Cenário de teste positivo para o método
add:- Entrada:
add(5, 3) - Saída esperada:
8 - Objetivo: Valida se o método adiciona corretamente dois números positivos.
- Entrada:
- Cenário de teste negativo para o método
divide:- Entrada:
divide(10, 0) - Saída esperada:
IllegalArgumentException - Objetivo: Garante que o método lide adequadamente com a divisão por zero, lançando uma exceção conforme esperado.
- Entrada:
- Cenário de teste de limite para o método
multiply:- Entrada:
multiply(Integer.MAX_VALUE, 2) - Saída Esperada: Normalmente resultaria em um erro de estouro; o comportamento depende do manuseio do sistema.
- Objetivo: Testa como o método lida com situações que podem levar ao estouro de número inteiro.
- Entrada:
- Cenário de teste positivo para o método
Main Idea: Using a Java code example to illustrate how to create and analyze different test scenarios, enhancing the understanding of testing principles and practices.
Content:
- Code Example:
public class Calculator { public int add(int a, int b) { return a + b; } public int subtract(int a, int b) { return a - b; } public int multiply(int a, int b) { return a * b; } public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("Division by zero"); } return a / b; } } - Test Scenarios:
- Positive Test Scenario for
addmethod:- Input:
add(5, 3) - Expected Output:
8 - Purpose: Validates that the method correctly adds two positive numbers.
- Input:
- Negative Test Scenario for
dividemethod:- Input:
divide(10, 0) - Expected Output:
IllegalArgumentException - Purpose: Ensures the method properly handles division by zero, throwing an exception as expected.
- Input:
- Boundary Test Scenario for
multiplymethod:- Input:
multiply(Integer.MAX_VALUE, 2) - Expected Output: Typically would result in an overflow error; behavior depends on system handling.
- Purpose: Tests how the method handles situations that could lead to integer overflow.
- Input:
- Positive Test Scenario for