Очень странный и я бы даже сказал опасный пример с LogFormatter: инстанс интерцептора регистрируется один раз и используется изо всех тредов; в реальных условиях (например в каком-нть сайте с десятками одновременных реквестов) логика start / stop stopwatch-ей просто не работает — любая из команд начинает таймер, любая из других стопает таймер, да и вообще несколько тредов могут одновременно читать и писать в переменную таймера. Можно пытаться развлекаться с ThreadStatic на переменной, но это тоже не сработает в случае асинхронных запросов в EF.
>> По закону вы можете его на лавочке оставить и его ни кто не должен тронуть, нашедший должен принести его в милицию.
Не всё так просто. Попробуйте, например, не запереть машину. Если после этого её угонят дети, и если, вдобавок, с ними ещё что-то и случится — то вы будете проходить по уголовному делу о преступной халатности.
Возможно, стоит подобрать иной пример, который, оставаясь простым, является в то же самое время честным юниттестом, с ассертами и удачным названием.
Про метрики — почти все они становятся весьма бесполезными, когда от команды начинают требовать исполнения каких-то цифр, потому что «в этой метрике это число всегда должно быть 37 или меньше». В этой статье у меня на протяжении всего чтения было ощущение, что автор гонится за мифическими ста процентами покрытия. Для меня любая метрика — это не более чем индикатор того, что и как происходит.
С точки зрения оценки качества тестирования одна из показательных метрик — это грубо говоря количество багов, найденных в протестированном коде «на следующем цикле», т.е. для программистов и их юнит тестов — сколько багов нашли тестеры, для тестеров — сколько багов нашли пользователи в продакшене и т.д.
Простой вычислялки, которая автоматическим образом скажет, что да как, тупо нету. На одну строчку с регэскпом часто надо написать десятки тестов, а на десятки строк кода которые в принципе просто создают кучу объектов и передают их в метод нет смысла писать и одного теста.
Присоединяюсь. А где хоть один ассерт? Где название, по которому понятно, что именно свалилось, если тест красный (хотя КАК он может стать красным)? И где вообще тот самый «юнит» — мы тестируем условие времени работы, или правильность идентификатора ордера, или логику покупки?
Ну и совсем о наболевшем:
>> Запустив этот юнит тест мы опять получим значение Code Coverage 100% вне зависимости от того, какое на самом деле текущее время.
Ну не говорит этот ваш coverage ничего о качестве тестирования. Использовать как индикатор — да, и то не как сиюмитный показатель, а в динамике; маленькое покрытие — да, подозрительно, надо смотреть почему. Но нельзя его как самоцель ставить, иначе получаем тесты пустых конструкторов, автопропертей и просто то самое тестирование бранчей без понимания, что именно надо бы протестрировать на самом деле.
Я ничему не противоречу. Я показываю, что вы нагнетаете панику. А вот вы противоречите сами себе. «Теперь обязательно сдать ЕГЭ» чтобы попасть в вуз (ваша формулировка в посте) и «вуз МОЖЕТ устроить вступительные экзамены в виде ЕГЭ» (перефразировка вашей формулировки в этом комментарии) — совершенно разные идеи. Обе неверные, впрочем.
По существу.
Во-первых, а вы попробуйте найти хоть один вуз, который бы установил это в форме ЕГЭ.
Во-вторых, даже если ВУЗ сделает все в той же форме, что и ЕГЭ, это все равно не ЕГЭ. А не проводить своих вступительных испытаний вуз не имеет права, ибо обязан их проводить для указанных категорий.
«ПОРЯДОК
приема граждан в имеющие государственную аккредитацию образовательные учреждения высшего профессионального образования» mon.gov.ru/dok/akt/6472/
п. 51
Для поступающих на бюджетные места (по общему конкурсу, по целевому приему, имеющих право на внеконкурсный прием), а также на места по договорам с оплатой стоимости обучения, на определенное направление подготовки (специальность), на соответствующий курс (за исключением категорий граждан, указанных в подпункте 3.3 пункта 3 настоящего Порядка) устанавливаются одинаковые вступительные испытания.
Читаем первоисточники «ПОРЯДОК
приема граждан в имеющие государственную аккредитацию образовательные учреждения высшего профессионального образования» mon.gov.ru/dok/akt/6472/
>> А знаете ли вы, что для получения второго высшего образования теперь обязательно сдать ЕГЭ
п 3.3:
По результатам вступительных испытаний, форма и перечень которых определяются вузом самостоятельно, следующих категорий граждан:
…
— имеющих высшее профессиональное образование — при приеме для обучения по программам бакалавриата, программам подготовки специалиста или программам магистратуры;
>> Для того, чтобы восстановиться в институте после отчисления, тоже надо сдать ЕГЭ.
п.10
Прием на второй и последующие курсы, в том числе в порядке перевода, проводится на основании аттестационных испытаний, проводимых вузом самостоятельно.
>> Для того, чтобы поступить в институт надо сдать ЕГЭ, даже если ты закончил школу до того, как ЕГЭ вообще появился.
п 3.2.
По результатам вступительных испытаний, форма которых определяется вузом самостоятельно, следующих категорий граждан:
…
— имеющих среднее (полное) общее образование, полученное до 1 января 2009 г., — при приеме для обучения по очно-заочной (вечерней) и заочной формам обучения;
Не всё так просто. Попробуйте, например, не запереть машину. Если после этого её угонят дети, и если, вдобавок, с ними ещё что-то и случится — то вы будете проходить по уголовному делу о преступной халатности.
Про метрики — почти все они становятся весьма бесполезными, когда от команды начинают требовать исполнения каких-то цифр, потому что «в этой метрике это число всегда должно быть 37 или меньше». В этой статье у меня на протяжении всего чтения было ощущение, что автор гонится за мифическими ста процентами покрытия. Для меня любая метрика — это не более чем индикатор того, что и как происходит.
С точки зрения оценки качества тестирования одна из показательных метрик — это грубо говоря количество багов, найденных в протестированном коде «на следующем цикле», т.е. для программистов и их юнит тестов — сколько багов нашли тестеры, для тестеров — сколько багов нашли пользователи в продакшене и т.д.
Простой вычислялки, которая автоматическим образом скажет, что да как, тупо нету. На одну строчку с регэскпом часто надо написать десятки тестов, а на десятки строк кода которые в принципе просто создают кучу объектов и передают их в метод нет смысла писать и одного теста.
Ну и совсем о наболевшем:
>> Запустив этот юнит тест мы опять получим значение Code Coverage 100% вне зависимости от того, какое на самом деле текущее время.
Ну не говорит этот ваш coverage ничего о качестве тестирования. Использовать как индикатор — да, и то не как сиюмитный показатель, а в динамике; маленькое покрытие — да, подозрительно, надо смотреть почему. Но нельзя его как самоцель ставить, иначе получаем тесты пустых конструкторов, автопропертей и просто то самое тестирование бранчей без понимания, что именно надо бы протестрировать на самом деле.
По существу.
Во-первых, а вы попробуйте найти хоть один вуз, который бы установил это в форме ЕГЭ.
Во-вторых, даже если ВУЗ сделает все в той же форме, что и ЕГЭ, это все равно не ЕГЭ. А не проводить своих вступительных испытаний вуз не имеет права, ибо обязан их проводить для указанных категорий.
«ПОРЯДОК
приема граждан в имеющие государственную аккредитацию образовательные учреждения высшего профессионального образования» mon.gov.ru/dok/akt/6472/
п. 51
Для поступающих на бюджетные места (по общему конкурсу, по целевому приему, имеющих право на внеконкурсный прием), а также на места по договорам с оплатой стоимости обучения, на определенное направление подготовки (специальность), на соответствующий курс (за исключением категорий граждан, указанных в подпункте 3.3 пункта 3 настоящего Порядка) устанавливаются одинаковые вступительные испытания.
Вы точно декан?
Читаем первоисточники «ПОРЯДОК
приема граждан в имеющие государственную аккредитацию образовательные учреждения высшего профессионального образования» mon.gov.ru/dok/akt/6472/
>> А знаете ли вы, что для получения второго высшего образования теперь обязательно сдать ЕГЭ
п 3.3:
По результатам вступительных испытаний, форма и перечень которых определяются вузом самостоятельно, следующих категорий граждан:
…
— имеющих высшее профессиональное образование — при приеме для обучения по программам бакалавриата, программам подготовки специалиста или программам магистратуры;
>> Для того, чтобы восстановиться в институте после отчисления, тоже надо сдать ЕГЭ.
п.10
Прием на второй и последующие курсы, в том числе в порядке перевода, проводится на основании аттестационных испытаний, проводимых вузом самостоятельно.
>> Для того, чтобы поступить в институт надо сдать ЕГЭ, даже если ты закончил школу до того, как ЕГЭ вообще появился.
п 3.2.
По результатам вступительных испытаний, форма которых определяется вузом самостоятельно, следующих категорий граждан:
…
— имеющих среднее (полное) общее образование, полученное до 1 января 2009 г., — при приеме для обучения по очно-заочной (вечерней) и заочной формам обучения;
+ вот newsru.com/russia/06jun2010/ty.html
В общем, всё малость преувеличено.
Ах какая классика :)
Балуемся с ALT+F9 (сменить отображение описания полей / их содержимого).
Потом выделям по совету весь текст по Ctrl+A, жмём CTRL+Shift+F9 и понимаем, что происходит на самом деле…
Ваш КО
vs
>> сколько вам понадобится времени… открыть их руками через какой-нибудь парсер вандов
ы? :)