Приводил ли пример обнаружения бага в логике планирования (например, в планировщике задач)?

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

Ответ

Да, примером может служить баг в валидации дат при создании задачи через API.

Контекст: Система управления задачами с API для создания задач, включая поле дедлайна (deadline).

Шаги воспроизведения:

  1. Отправить POST-запрос на создание задачи с датой дедлайна в прошлом.
  2. Проверить ответ сервера.

Ожидаемое поведение: Сервер должен вернуть ошибку валидации (например, HTTP 400 Bad Request с сообщением, что дедлайн не может быть в прошлом).

Фактическое поведение: Задача успешно создавалась со статусом 201 Created.

Пример теста (Python, pytest + requests):

import requests
from datetime import date, timedelta

def test_cannot_create_task_with_past_deadline():
    url = "https://api.example.com/tasks"
    headers = {"Authorization": "Bearer <token>"}
    # Дата вчера
    past_date = (date.today() - timedelta(days=1)).isoformat()

    payload = {
        "title": "Test Task with Invalid Deadline",
        "deadline": past_date
    }

    response = requests.post(url, json=payload, headers=headers)

    # Ожидаем ошибку клиента (4xx)
    assert response.status_code == 400, 
        f"Expected 400, got {response.status_code}. Task was incorrectly created."
    # Дополнительно можно проверить текст ошибки в response.json()

Суть бага: Отсутствовала серверная валидация на то, что deadline должен быть >= текущей даты. Это потенциально приводило к созданию невыполнимых задач и ошибкам в бизнес-логике отчетов.

Действие: Баг был заведен в трекер (Jira/YouTrack) с высоким приоритетом, так как нарушал базовую логику планирования.