Scalatest — это фреймворк для тестирования приложений, поддерживающий разные стили написания тестов и легко интегрирующийся с другими инструментами для JVM, включая IDE и maven.
Читать полностью »
Рубрика «bdd» - 5
Небольшое введение в Scalatest
2014-01-19 в 13:03, admin, рубрики: bdd, scala, tdd, тестирование, метки: bdd, scala, tddИсполняемая спецификация: SpecFlow от А до Я
2013-06-04 в 10:51, admin, рубрики: .net, bdd, continuous integration, gherkin, specflow, Specification By Example, team city, автоматизация тестирования, разработка, тестирование, метки: bdd, continuous integration, gherkin, specflow, Specification By Example, team city, автоматизация тестированияЭта статья является продолжением первой части и раскрывает технические подробности работы с «исполняемой спецификацией» с помощью SpecFlow.
Для начала работы вам понадобится плагин к Visual Studio (скачивается с официального сайта) и пакет SpecFlow (устанавливается из nuget).
Итак, наш Product Owner попросил команду разработать калькулятор…
Читать полностью »
Data Driven Tests & SpecFlow
2013-05-28 в 19:29, admin, рубрики: .net, bdd, gherkin, specflow, Specification By Example, автоматизированное тестирование, тестирование, метки: bdd, gherkin, specflow, Specification By Example, автоматизированное тестированиеSpecFlow позволяет использовать встроенные таблицы для Data Driven сценариев. В своей практике я столкнулся с двумя проблемами при таком подходе:
- Иногда хочется, наоборот, получить авто-документацию из теста (например, тестирование API)
- Когда количество данных велико, лучше хранить их где-то отдельно (часто для Acceptance Test Case'ов используют Excel)
Покопавшись в Gesigner Generated коде я смог решить обе проблемы.
Автоматизация тестирования Web-приложений
2013-04-29 в 18:04, admin, рубрики: .net, bdd, Gangnam Style, nunit, specflow, tdd, web-разработка, webdriver, приёмочные тесты, разработка, тестирование, метки: .net, bdd, gangnam style, nunit, specflow, tdd, web-разработка, webdriver, приёмочные тесты 
Автоматизация тестирования – место встречи двух дисциплин: разработки и тестирования. Наверное поэтому, я отношу эту практику к сложным, но интересным.
Путем проб и ошибок мы пришли к следующему технологическому стеку:
- SpecFlow (опционально): DSL
- NUnit: тестовый фреймворк
- PageObject + PageElements: UI-абстракиця
- Контекст тестирования (информация о целевом окружении, пользователях системы)
- Selenium.WebDriver
Для запуска тестов по расписанию мы используем TFS 2012 и TeamCity.
В статье я опишу, как мы к этому пришли, типовые ошибки и пути их решения.
Читать полностью »
NPM для front-end разработки
2013-04-22 в 15:15, admin, рубрики: bdd, html, javascript, nodejs, npm, tdd, Веб-разработка, метки: bdd, html, javascript, nodejs, npm, tdd, фронтенд Недавно я задался вопросом поиска инструментария для разработки мобильных приложений на html/css. Из требований были: доступность, легковесность, простота настройки. Выбор пал на встроенный Node менеджер NPM. NPM содержит
инструментарий для базовых тасков типа install и запуска пользовательских скриптов. Также NPM не такой громоздкий, как Grunt и не требует адаптации модулей под себя, т.к. запускает модули с командной строки.
Управление front-end проектом с помощью NPM
2013-04-22 в 15:15, admin, рубрики: bdd, html, javascript, nodejs, npm, tdd, Веб-разработка, метки: bdd, html, javascript, nodejs, npm, tdd, фронтенд Недавно я задался вопросом поиска инструментария для разработки мобильных приложений на html/css. Из требований были: доступность, легковесность, простота настройки. Выбор пал на встроенный Node менеджер NPM. NPM содержит
инструментарий для базовых тасков типа install и запуска пользовательских скриптов. Также NPM не такой громоздкий, как Grunt и не требует адаптации модулей под себя, т.к. запускает модули с командной строки.
Spec By Example на примере одного требования
2013-02-27 в 11:48, admin, рубрики: agile, bdd, Блог компании ScrumTrek, тестирование, управление требованиями, метки: bdd, тестирование, управление требованиями
Всем привет! Продолжаю тему постов про подход к сбору требований под названием Spec By Example. Я уже делал вебинар про общие ценности данного подхода (о нем чуть ниже), а сегодня хочу показать как оно на работает на примере достаточно простого, на первый взляд требования. Самого требование звучит очень просто:
В системе должно отображаться уровень заполненности склада за счет отображения количества товаров каждого типа. При отгрузке/приеме товаров значение должно обновляться.
В принципе, ничего сложного, но давайте посмотрим, какие сюрпризы таятся внутри!
Читать полностью »
Business Natural Languages
2013-02-17 в 18:17, admin, рубрики: bdd, coffeescript, DDD, dsl, KISS, YAGNI, архитектура, ооп, Программирование, Проектирование и рефакторинг, метки: bdd, coffeescript, DDD, dsl, kiss, yagni, архитектура, оопПоскольку идея данного поста родилась у меня независимо от эпопеи с хлебопекарней, хочу вставить и свои пять копеек.
Итак, суть проблемы — поставить программный код в соответствие с бизнес-требованиями. Существуют замечательные методологии и техники, например, Behavior Driven Development (BDD), которые позволяют в декларативном стиле описать требуемое поведение системы (тесты).
Возникает вопрос — зачем описывать как должен работать код, если можно и сам код написать в этих терминах. Почему user story не может быть самой программой.
не код должен генерироваться из модели — модель должна быть кодом
Чтобы не томить читателей сразу перейду от слов к делу. Представим себе язык для программирования вот такого робота:

Warning! Данный пример служит только для иллюстрации идеи и не предназначен для приготовления пищи в реальной жизни. Автор не несет ответственности за вред здоровью нанесенный в результате употребления пищи, приготовленной с помощью данного примера.
Jasmine — дополнительные возможности
2013-02-17 в 15:56, admin, рубрики: bdd, jasmine, javascript, метки: bdd, jasmine, javascript
Данная статья является продолжением первой части «Введение в Jasmine». Здесь рассматриваются дополнительные возможности тестового фреймворка Jasmine, а именно:
- Spy — эмуляция функций/объектов
- Clock — синхронизация вызовов при использовании setTimeout/setInterval
- Runner и Reporter — запуск тестов и оформление отчета
Введение в Jasmine
2013-01-26 в 11:21, admin, рубрики: bdd, jasmine, javascript, метки: bdd, jasmine, javascript 
Программирование на стороне клиента давно стало нормой, а объем JavaScript кода и его сложность постоянно растут. Часто тестирование применяется только на серверной стороне, но при этом не стоит забывать о тестировании клиентского кода. Для тестирования JavaScript как на стороне клиента, так и для Node.js можно с успехом применять Jasmine.
Jasmine это BDD фреймворк (Behavior-Driven Development — Разработка на Основе Поведений) для тестирования JavaScript кода, позаимствовавший многие черты из RSpec.
