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

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


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

Комментарии

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

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

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

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

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

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

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе...

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

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

Тестирование в продакшене - миф или реальность?

На самом деле, вопрос стоит скорее так: " почему у вас его еще нет "? Изначально хотел просто сохранить себе и дать вам набор ссылок, что нашел на эту тему, потому что сейчас она у меня болит. Потом захотелось сделать какой то анализ. Потом понял, что письменный анализ - это долго и субъективно (и простите, чуток лень), а вам может будет полезно почитать оригиналы. И честно пытался не дублировать у себя их контент, разве что тезисно. Поэтому статья получилась половинчатой и скорее побудительной к действиям или хотя бы к мыслям, чем с практической пользой. Не обессудьте. Ну вот, я вас предупредил. Ссылки все равно есть, поэтому можете уверенно двигаться к их  списку .