К основному контенту

Краткий курс энтомологии в рамках BDD и TDD

Goblin Game: Еще раз про Automation Bias: TDD, BDD и роющие осы

Сергей Высоцкий написал интересный пост про то, можно ли целиком и полностью доверяться BDD и TDD тестам. Я не согласен с тем, что тест не может в итоге стать постоянно "зеленым". Понятно, что в процессе разработки мы будем иметь его "моргающим". Но после завершения реализации истории, он должен стать "вечно" зеленым. Иначе с этим тестом что-то не так. Другими словами, покраснение теста - это сигнал. Если в сюите есть "моргающие" тесты - это надо лечить.

Комментарии

  1. Я тут недавно был на митинге, посвященном автоматизации автоматического тестирования, в одной большой софтверной компании. Так вот у них не только постоянно есть красные тесты (порядка 10%), но они и считают что гнаться за 100% зеленью не стоит. Они при покраснении теста, проверят руками, и уже после этого заводят баг. Дикие люди. :)

    ОтветитьУдалить
  2. "автоматизации автоматического тестирования" - это круто ;)
    А баг заводят потому, что тесты "автоматически" запускают тестировщики? Разработчики то в курсе, что есть тесты? :)

    ОтветитьУдалить
  3. Это я оговорился, пытался перевести термин automated acceptance tests. :)
    Заводят. Причем посмотрел я на их тесты, огромный шмоток мутного кода на C#, результат теста в стиле "Exception NullReference was thrown..." ,при этом тестер идет в код теста и молодецким прищуром пытается угадать почему он не прошел. Результаты этих тестов присылать разработчика просто не имеет смысла, там некоторые тесты занимают по 2-3 экрана кода с кучей Assert.

    ОтветитьУдалить

Отправка комментария

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub.

Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются.

Проверять работоспособность тестируемого объекта (system uder test - SUT) можно двумя способами: оценивая состояние объекта или его поведение.

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

Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT.

Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы.

Теперь подробнее.

Gerard Meszaros использует термин Test Double (дублер), как обозначение для объекта, который зам…

План "Б" или как прикольно провести субботний день

Всем привет.
Вчера состоялась конференция "План Б". Организаторами выступили ребята из Яндекса, за что им большое спасибо. Судя по приблизительным подсчетам в мероприятии участвовало около 200 человек.

Основной темой конференции было планирование, планирование всего: проектов, разработки, тестирования, дизайнеров и даже организации музыкального фестиваля.
Сначала думал написать отчет в обычном своем стиле: кто и что говорил, но почитав твиттер по #pbconf понял, что просто потеряю время :) Поэтому кому оооочень интересно узнать подробности следуйте за птичкой и вы все узнаете (тэг #pbconf попал в top-30 твиттера)
Здесь приведу лишь те вещи, которые мне запали в мозг
Роман Чернин о продуктовой разработке: "нет заказчика, нет требований, нет сроков -> как принимать решения? ответ: заводим себе Product Manager-а"
Оля Павлова (@op): "бойтесь иллюзии точной формулировки" "заказчик - ребенок, выдаем ему игрушку как можно чаще" "не забываем, …

Полезные ресурсы для молодых (и не только) тестировщиков

Уже 3 месяца провожу собеседования тестировщиков.
Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем то экзотическим и забавным.

Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.