Что такое ошибка (Error) в программировании и тестировании?

«Что такое ошибка (Error) в программировании и тестировании?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ошибка (Error) — это состояние программы, при котором её выполнение отклоняется от ожидаемого поведения или прерывается из-за дефекта в коде, данных или системе.

Ключевые типы ошибок:

  1. Синтаксические ошибки: Нарушение правил языка программирования. Обнаруживаются интерпретатором/компилятором до запуска.
    # Пример: незакрытая кавычка
    print("Hello, world)  # SyntaxError
  2. Логические ошибки (Bugs): Программа выполняется, но выдаёт неверный результат из-за ошибочной логики.
    # Пример: функция для сложения, но используется вычитание
    def add(a, b):
        return a - b  # Логическая ошибка
  3. Ошибки времени выполнения (Runtime Errors): Возникают во время выполнения (например, деление на ноль, обращение к несуществующему индексу).
    # Пример: деление на ноль
    result = 10 / 0  # ZeroDivisionError

В контексте тестирования: Задача тестировщика — выявить ошибки (особенно логические и runtime), чтобы разработчик мог их исправить. Исправленная ошибка становится дефектом (defect) или багом (bug) в системе отслеживания.