(Русский) Код: до и после н.э. Зачем на самом деле нужны юнит-тесты.

Sorry, this entry is only available in Russian.

  1. А у вас используется что-нибудь типа http://www.bullseye.com/ ?

  2. Нед. Coverage tools на поверку не оказывают какого-нить существенного влияния.

  3. Но оно оказывет влияние на мотивацию все оттестировать 🙂

    А как у вас борятся с деятелями которые тесты не уважают? (я так понял у вас там тесты ввели на пол-пути по инициативе снизу)

  4. А никак не борятся. Пущено на самотек. Иногда кто-то возникнет, что надо все тестит, да на том все и глохнет.

    Проблема с code coverage в том, что на С++ обычно 100% покрытия не добиться. Например, код

    Something * pPtrSomething = new Something();
    if (pPtrSomething == 0)
    {
    // BLAH!!!!
    }
    

    Без применения святого бубна обеспечить покрытие кода в скобках будет почти невозможно. А это довольно простой случай, а что будет с кодос, который оптимизатор выкинет?

    Ну хорошо, давайте добиваться не 100% покрытия, а 95%. А почему 95%, а не 80% и не 9.5%? Где та граница, после которой покрытие будет считаться хорошим?

  5. Не знаю где граница, я думал позаимствовать полезную идею. Тут некоторые такое пишут. Я бы не против, но после последней смены курса я это переписываю, стараясь заставить работать. Как раз такой “универсальный всемогутор”.

  6. На самом деле для себя я вывел эмпирическое правило. Если кто-то на стадии дизайна впихивает в диаграмму интерфейсов или, что еще хуже, начинает разработку с написания “class ManagerЧегоТоТам”, жди беды.

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

  7. итуация у нас в команде чем-то напоминает переход от состояния “до н.э” до “после н.э”. хочется узнать больше контекста.

    Есть ряд вопросов:

    – сколько людей писало код, приведенный для примера? (какой был размер команды)?
    – что собой представляло “внедрение” технологии юнит-тестирования?
    – какие полномочия были у внедряющего, какая у него была отвественность?
    – как решался вопрос “мне надо копать, а тесты писать некогда”
    – как решался вопрос “а я не знаю, как отрефакторить этот код, и вообще мне копать надо”

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

6 visitors online now
4 guests, 2 bots, 0 members
Max visitors today: 23 at 12:39 am UTC
This month: 57 at 04-16-2021 08:12 am UTC
This year: 57 at 04-16-2021 08:12 am UTC
All time: 332 at 11-22-2019 03:23 am UTC