💀
Второй курс РПО
Разработка программных модулей
Разработка программных модулей
  • Модели разработки
  • Ошибки и отладка программ
  • Средства разработки алгоритмов
    • Основные принципы и стадии тестирования
  • Сложностные классы
  • Эмуляторы операционных систем
  • Сложность сортировки
  • Уровни тестирования
  • Задание №1
  • Регрессионное тестирование
  • Тестирование «белым ящиком»
  • Как делать оценку сложности?
  • Алгоритмы и сложность
  • Тестирование "белым ящиком" №2
  • Сложность алгоритмов
  • Тестирование "белым ящиком" №3
  • Тестирование "Чёрным ящиком»" №1
  • Тестирование "Черным ящиком" №2
  • Оценка сложности эвристических алгоритмов
  • Принципы ООП
  • Тестирование "Черным ящиком" №3
  • КТ - В3
  • Модульное тестирование
    • С кодами
  • Модульное тестирование
  • Абстрактные классы и интерфейсы в Python
  • Структуры в Python по аналогии с C++
    • Диалоги гениев
  • Делегаты в Python
    • Ещё более не смешные диалоги
  • Регулярные выражения в Python от простого к сложному
  • Python: Коллекции
  • Параметризованные классы (шаблоны)
  • Указатели и операции со списками в Python
  • Интеграционное тестирование
  • Работа с классами. Перегрузка методов
  • Определение операций в классе.
  • Создание наследованных классов
  • Интеграционное тестирование
  • Работа с объектами через интерфейсы
  • Использование стандартных интерфейсов
  • Работа с типом данных "Структура"
  • Коллекции. Параметризованные классы
  • Использование регулярных выражений
  • Операции со списками
  • Что такое паттерны проектирования?
  • Шпаргалка по шаблонам проектирования
    • [Habr] Шпаргалка
  • UML-диаграммы проектирования
  • Использование основных шаблонов.
  • Использование каких то там шаблонов
  • 15-я Практическая
  • 16-я Практическая
  • Graphviz Online
  • 17-я Практическая
  • Введение в теорию программирования: Объектно-ориентированный подход
  • Документирование софта и стандарты
  • C# Ввод и вывод
  • Оптимизация кода: просто о главном
  • Автоматизация разработки технической документации
  • Автоматизированное документирование и первичные данные
  • ADO.NET что это?
Powered by GitBook
On this page

Тестирование "белым ящиком" №2

25.11.2024

Код с тестированием

Пайтон
def check_number(num):
    """Функция принимает число и возвращает строку с результатом проверки."""
    if num > 0:
        return "Число положительное"
    elif num < 0:
        return "Число отрицательное"
    else:
        return "Число равно нулю"

def run_test(input_value, expected_output):
    """Функция тестирует работу программы для заданного входного значения."""
    # Выполняем проверку числа
    result = check_number(input_value)

    # Сравниваем результат с ожидаемым
    if result == expected_output:
        print(f"Тест с вводом {input_value} пройден успешно!")
    else:
        print(f"Тест с вводом {input_value} провален!")
        print(f"Ожидаемый результат: {expected_output}")
        print(f"Фактический результат: {result}")

# Тестируем программу
run_test(5, "Число положительное")  # Тестируем положительное число
run_test(-3, "Число отрицательное") # Тестируем отрицательное число
run_test(0, "Число равно нулю")     # Тестируем ноль

Пошаговое объяснение

  1. Определяем функцию проверки числа:

    def check_number(num):
        if num > 0:
            return "Число положительное"
        elif num < 0:
            return "Число отрицательное"
        else:
            return "Число равно нулю"
    • Эта функция принимает число (num) как входное значение.

    • Проверяет, больше ли число нуля (положительное), меньше (отрицательное) или равно нулю.

    • Возвращает строку с результатом проверки.

  2. Создаём функцию для тестирования:

    def run_test(input_value, expected_output):
        result = check_number(input_value)
        if result == expected_output:
            print(f"Тест с вводом {input_value} пройден успешно!")
        else:
            print(f"Тест с вводом {input_value} провален!")
            print(f"Ожидаемый результат: {expected_output}")
            print(f"Фактический результат: {result}")
    • Принимает два параметра:

      • input_value — входное значение для проверки.

      • expected_output — ожидаемый результат.

    • Вызывает функцию check_number() для проверки числа.

    • Сравнивает результат работы программы с ожидаемым результатом.

    • Выводит, прошёл ли тест успешно или нет.

  3. Выполняем тесты:

    run_test(5, "Число положительное")
    run_test(-3, "Число отрицательное")
    run_test(0, "Число равно нулю")
    • Тестируем три случая:

      • Ввод положительного числа (5) должен вернуть "Число положительное".

      • Ввод отрицательного числа (-3) должен вернуть "Число отрицательное".

      • Ввод нуля (0) должен вернуть "Число равно нулю".


Результат работы программы

При запуске кода вы увидите вывод, например:

Тест с вводом 5 пройден успешно!
Тест с вводом -3 пройден успешно!
Тест с вводом 0 пройден успешно!

Если что-то пойдёт не так, программа укажет на ошибку.

PreviousАлгоритмы и сложностьNextСложность алгоритмов

Last updated 6 months ago