Сводка с фронтов от инфицированных тестами e01

8 мая 2013 г. | | |

Открывает первую сводку с фронтов удараников TDD хвалебная статья-ода "Not Using Test-First? You're Doing it Wrong." Автор не просто рассказывает, почему TDD - это круто, а пытается объяснить, как и чем улучшает test-first подход процесс разработки. #en #tdd
Продолжая тему полезности TDD "Why Testing Makes a Project Successful and You Can’t Afford to Deny It". Автор развивает мысль о полезности тестирования, эпично приводя статистику расхода времени и денег на поиск и фикс багов:
According to prweb.com, recent Cambridge University research found that, on average, software developers spend 50% of their programming time finding and fixing bugs and estimate that this costs the global economy $312 billion per year.
Да уж, не кисло. Не будь частью этой статистики, пиши теты! #en

Я всегда говорила, что 100% покрытие кода тестами - всего лишь круглое число, которое ничего не говорит о качестве тестов. Тестировать нужно правильно. "100% code coverage might not be enough"  - история как раз об этом. #en #tdd #100%
Отличный детализированный ответ на вопрос, как мокать ORM и тестировать паттерн "Репозиторий" + код, как надо делать. #en
"PHP: Testing Private and Protected Methods" - статья из разряда "запомни, как не надо делать": автор рассказывает, как можно тестировать приватные и защищённые методы класса с помощью рефлексии на php. #php #en На мой взгляд, возникновение необходимости тестировать закрытые методы класса - первый звоночек, что с кодом что-то не то. Приватные и защищённые методы для того и нужны, чтобы скрывать от посторонних глаз внутренние механизмы. Сергей Тепляков подробно объясняет, почему тестировать закрытые методы классов - не лучшая идея. #ru
"Testing Smells - Try/catch"- автор делится мыслями о тестах с душком, считая, что использовать try/catch в тестах - не уместно. И он прав. В тест-фреймворке должен быть предусмотрен механизм для тестирования ожидаемых исключений. Например, Assert.Throws<T>() в NUnit и xUnit .net или @expectedException или setExpectedException(), встроенные в PHPUnit, о котором идёт речь в статье. + пара рекомендаций от автора статьи касательно написания модульных тестов. #php #phpunit #en
"Linking Requirement and Acceptance Tests"- заметка о том, что приёмочные тесты и требования к системе не могут существовать друг без друга. Тесты как уточнения требований. Упавший тест показывает, какие требования не реализованы (реализованы некорректно), успешно прошедший тест подтверждает соответствие кода спецификациям. #atdd #bdd #en
Интересный видео-туториал "JavaScript Testing With Jasmine" #en #video #javascript #jasmine
Видео доклада Noel Rappin "Testing Should Be Fun" с Ruby Conf'12. Главный посыл - tdd превращает написание кода в своего рода игру, но есть некоторые фан-киллеры, например, медленные тесты, каша-тесты (hard to read tests). В докладе рассматривается, как спасти мир вернуть фан от написания тестов. #en #video #ruby #tdd

И на закуску Радио-Т 339 - очень интересная беседа получилась о TDD. Что же это всё-таки: единственно правильный путь или путь в никуда? #ru #podcast

Инструментарий

Ext Spec - новая версия bdd-фреймворка для тестирования ext.js #bdd
Microsoft.Silverlight.Testing - Microsoft открыла фреймворк для unit-тестирования под Silverlight, используемый внутри компании. #en #silverlight
MinUnit - минималистичный фреймворк для unit-тестирования на C  #c

0 коммент.:

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