Фреймворк для автоматического тестирования PHP проектов Codeception обзавелся первым серьезным апдейтом. Пришлось перелопатить всё ядро, всё поломать, всё починить и сделать это так, чтобы не сломать обратную совместимость. Как результат, теперь в тестах можно использовать любой PHP-код, а не только сценарий, добавилась возможность находить элементы по XPath, а также появилась возможность использования модулей Codeception в тестах PHPUnit.
Читать полностью »
Метка «tdd» - 6
Вышел Codeception 1.1
2012-08-08 в 12:01, admin, рубрики: bdd, codeception, php, qa, tdd, тестирование, метки: bdd, codeception, tdd, тестированиеПрактика TDD/BDD на примере JavaScript: Введение
2012-07-31 в 4:44, admin, рубрики: bdd, tdd, Блог компании «Evil Martians», Программирование, метки: bdd, tddВведение
В своей прошлой статье "Readme-driven development" я немного затронул тему разработки через тестирование. Комментарии продемонстрировали, что немало людей неверно понимают истинную роль тестов в процессе написания кода.
Этой статьей я начну цикл в котором раскрою тему test- (TDD) и behaviour- (BDD) driven development и покажу на практике как разработка через тестирование может помочь писать качественный и надежный код. Познакомлю со всеми основными терминами и подходами.
Цикл будет полезен и интересен всем, кто интересуется темой TDD/BDD, тем кто еще сомневается в необходимости тратить свое время на написание тестов, тем кто пишет, но не уверен что делает это правильно. И даже тем кто уверен. А так же JavaScript разработчикам желающим сделать свой код лучше и надежнее.
Не смотря на то, что в данном цикле статей в качестве примеров используется JavaScript, приобретенные опыт и знания могут быть легко проецированы на ваш любимый язык программирования. Да и кто сейчас не знает JavaScript, надежного друга и кровного врага любого web-разработчика?
Читать полностью »
Readme-driven development
2012-07-23 в 4:25, admin, рубрики: open source, tdd, Программирование, метки: open source, tddВряд ли найдется на этой планете противник ТЗ. ТЗ позволяет защитить разработчиков, менеджеров и сам продукт от неминуемо бурной фантазии заказчика.
Это гарант того, что проект однажды будет завершен. Понимание задачи — одно из самых важных этапов в решении оной.
ТЗ поможет встать на ноги любому проекту, даже если вы занимаетесь разработкой собственной open source библиотеки.
И самое лучшее ТЗ для open source — readme.
Документацию принято писать после того, как написан код. Я считаю этот подход неверным.
Те, кто хотя бы однажды ощутили пользу от TDD (test-driven development) согласятся, что писать тесты после кода, это как анестезия после операции. Это больно.
Читать полностью »
Юнит-тестирование моделей в Yii
2012-07-10 в 11:28, admin, рубрики: tdd, yii, метки: tdd, unit-testing, yii Сейчас я расскажу про применение техники TDD для разработки моделей, используя Yii-framework.
Изначально предполагается, что была прочитана тема «Тестирование» из официального мануала (http://yiiframework.ru/doc/guide/ru/test.overview).
Итак, окружение настроено и сейчас нашей задачей будет — создать модели категории и продуктов(Category, Product) и покрыть их тестами.
Скринкаст: Знакомство с Codeception
2012-06-28 в 1:38, admin, рубрики: bdd, codeception, php, selenium, symfony, tdd, тестирование, метки: bdd, codeception, PHP, selenium, symfony, tdd Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, то вам обязательно стоит взглянуть на него в действии. Ну а если не читали, но у вас есть веб-сайт, который бы вы хотели протестировать — тоже взгляните.
Читать полностью »
Внедряем TDD с django и postgres
2012-06-26 в 15:05, admin, рубрики: django, Ostrovok.ru, python, tdd, Блог компании Островок.ru, метки: Django, Ostrovok.ru, python, tddВ Островке есть два основных продукта: для пользователей (ostrovok.ru) и «админка» для отелей (экстранет), куда подписанные нами отели заносят данные. Это отдельные продукты, со своими командами и различным отношением к разработке через тестирование (TDD). Одинаковая платформа: django и postgres. В экстранете используют TDD и у них куча тестов. Поначалу тесты были и в ostrovok.ru, но ввиду ухода части адептов в экстранет и очень интенсивного развития их перестали поддерживать. В общем передо мной встала задача внедрить тестирование. Первые шаги сделаны и хочу поделиться этим опытом и решениями, которые были применены.
У нас есть отдел QA и Selenium автотесты, но это отдельно.
С django и тестами вообще дела обстоят довольно хорошо и конечно лучше с самого начала все покрывать тестами, наращивая функционал и делая рефакторинги.
В нашем случае уже существовал огромный функционал и очень много всесторонних зависимостей и интеграции с внешними API. И нужно, чтоб это все работало в тестовой среде. Про быстрый SQLite в памяти можно забыть, в проекте есть привязки к особенностям postgres, да и идентичность тестового окружения все таки важна, поэтому тесты тоже работают на postgres.
Читать полностью »
CircleCI — обзор нового сервиса Continuous Integration
2012-06-15 в 6:09, admin, рубрики: continious integration, continuous integration, tdd, Веб-разработка, непрерывная интеграция, тестирование веб-приложений, метки: continious integration, continuous integration, tdd, непрерывная интеграция, тестирование веб-приложений «Вы тестируете? — Возможно.
Все мы согласны, что тестирование – отличная штука, но в реальности доставляет много проблем. В настоящий момент мы занимаемся beta-тестированием партнерского CI сервиса, который предназначен для того, чтобы делать за вас всю тяжелую работу.
Мы работаем над созданием удивительного сервиса CI! Только представьте, что вы сможете использовать исключения для автоматизированного создания тестов! Да, мы работаем над этим!
Ответьте на это сообщение для получения доступа к beta-версии.»
— примерно такие слова в моем вольном переводе с английского я прочитал, зайдя однажды на всем известный airbrakeapp.com, чтобы посмотреть, какие ошибки успели найти юзеры в наших приложениях за ночь.
Читать полностью »
Тестирование iOS-приложений
2012-05-28 в 7:20, admin, рубрики: bdd, cedar, cucumber, guard, iOS, objective-c, rspec, tdd, ui testing, Песочница, разработка под iOS, метки: bdd, cedar, cucumber, guard, iOS, objective-c, rspec, tdd, ui testing, unit-testing В этой статье я хочу рассказать о тестировании iOS приложений и небольшой автоматизации этого процесса.
Под катом будут рассмотрены инструменты для модульного и функционального тестирования и приведены простые примеры.
Читать полностью »
Test Driven Design — первый опыт внедрения
2012-05-23 в 16:33, admin, рубрики: tdd, личный опыт, Программирование, метки: tdd, личный опытМногочисленные статьи, посвященные TDD в общем и Unit-тестам в частности, как правило, оперируют довольно искусственными примерами. Например, давайте напишем функцию, которая складывает два числа и напишем для неё тест. Честно говоря, на таких примерах трудно оценить преимущества использования автоматизированных тестов.
Некоторое время назад мне подвернулся малюсенький проектик, который как будто специально создан для того, чтобы опробовать на нем методику проектирования, основанную на тестах. Результат применения поразил меня самого! Приглашаю под кат всех, кто еще сомневается в том, что нужно применять автоматизированные тесты в повседневной разработке.
Читать полностью »
Codeception — новости проекта
2012-05-10 в 10:03, admin, рубрики: bdd, codeception, php, phpunit, selenium, tdd, метки: bdd, codeception, phpunit, selenium, tddЯ уже писал на Хабре о Codeception — фреймворке для тестирования приложений на PHP. Если вы никогда раньше не писали тестов для вашего приложения, вам обязательно стоит взглянуть на Codeception. Он очень прост в использовании и сделан специально, чтобы уберечь разработчиков от рутины.
Сегодня я хотел бы рассказать, какие фичи появились в проекте в последнее время, а также отвечу на пару популярных вопросов.
Читать полностью »