Тестирование по степени глубины

Тестирование по степени глубины

Тестирование по степени глубины — это подход к тестированию программного обеспечения, при котором проводятся тесты на всех уровнях системы. Два этих подхода и тест критического пути и расширенное тестирование — это два подхода к тестированию по глубине, которые могут использоваться для проверки работы приложения на разных уровнях.

Тест критического пути

Тест критического пути — это подход к тестированию, при котором тестируются только наиболее критические компоненты системы. То есть проводится тестирование только тех компонентов, которые являются необходимыми для успешного выполнения ключевых сценариев использования системы. Этот подход позволяет сократить время и затраты на тестирование, но при этом он может привести к тому, что некоторые ошибки останутся незамеченными.

Расширенное тестирование

Расширенное тестирование — это подход к тестированию, при котором тестируются все компоненты системы. Этот подход позволяет выявить большее количество ошибок, чем тест критического пути, но при этом он требует больших затрат на тестирование и может занять больше времени.

В зависимости от конкретного приложения и его характеристик, может использоваться как тест критического пути, так и расширенное тестирование. Тест критического пути может быть полезен для тестирования критических компонентов приложения, когда время и ресурсы ограничены. Расширенное тестирование может использоваться, когда требуется более полное тестирование всей системы, например, при выходе новой версии приложения или в случае, когда тестирование проводится в рамках большого проекта.

Тестирование по степени глубины
Тестирование по степени глубины

Важно помнить, что выбор подхода к тестированию по глубине должен основываться на конкретных требованиях к приложению и ресурсах, доступных для тестирования. Однако, при разработке критически важных систем, таких как медицинское оборудование или системы безопасности, использование только теста критического пути может быть недостаточным. Поэтому следует рассмотреть варианты расширенного тестирования для обеспечения максимальной надежности и безопасности приложения.

Тестирование по степени глубины двумя разными подходами:

функция 
public static int addNumbers(int x, int y) {
    return x + y;
}

Пример теста на критический путь для этой функции может выглядеть следующим образом

@Test
public void testAddNumbersCriticalPath() {
    int result = addNumbers(2, 3);
    assertEquals(5, result);
}

В данном случае мы тестируем критический путь выполнения функции — в данном случае, само сложение и возврат результата. Если эти операции работают корректно, то и весь код функции должен работать корректно.

Пример расширенного тестирования для этой же функции может выглядеть следующим образом:

@Test
public void testAddNumbersExtended() {
    assertEquals(5, addNumbers(2, 3));
    assertEquals(1, addNumbers(-2, 3));
    assertEquals(0, addNumbers(0, 0));
    assertEquals(6, addNumbers(2.5, 3.5)); // 6,0 - если функция работает не корректно с числами с плавающей точкой
    assertThrows(NumberFormatException.class, () -> addNumbers("2", "3")); // неправильный тип аргументов
}

В данном случае мы тестируем функцию на более широком наборе входных данных, включая краевые случаи и неправильные типы аргументов. Это позволяет выявить потенциальные ошибки, которые не были бы обнаружены при тестировании только критического пути выполнения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.