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

Ответ

Да, примером может служить баг в валидации дат при создании задачи через 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) с высоким приоритетом, так как нарушал базовую логику планирования.

Ответ 18+ 🔞

А, ну это же классика, ёпта! Прямо как в том анекдоте про дедлайн, который уже вчера был, а ты только сегодня родился. Суть в чём: система по созданию задач на API, блядь, принимала дату дедлайна, которая уже в прошлом, и не пикнула!

Что за пиздец творился: Ты шлёшь запрос на создание задачи, а в поле deadline суёшь, например, вчерашнее число. По логике, сервер должен был тебе в ответ ебальник набросить с ошибкой, мол, "ты че, мудак, дедлайн в прошлом ставишь?". Но нет! Он тебе вежливо так: "О, задача создана, ёбта! Успехов!" И статус 201 Created. Ну пиздец же, да?

Вот тебе пример, как это ловили на питоне:

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)

    # А мы тут ждём, что сервер нас пошлёт нахуй с кодом 400
    assert response.status_code == 400, 
        f"Expected 400, got {response.status_code}. Task was incorrectly created."
    # Можно ещё заглянуть в ответ, посмотреть, не написал ли он нам "идиот" в json'е

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

Что сделали? Ну, естественно, завели баг в трекер с приоритетом "высокий", потому что это пиздец, а не фича. Нарушение базовой, блядь, логики приложения. В рот меня чих-пых, как такое в продакшн просочиться могло?