Недавно столкнулся с необходимостью написать кастомный матчер в jasmine. Первым же делом начал гуглить и нашел пример, где все четко и понятно объяснено. Собственно код представлен ниже:
Читать полностью »
Рубрика «tdd» - 13
Создание кастомного матчера для unit тестирования в Jasmine 2.0
2015-03-17 в 15:45, admin, рубрики: bdd, custom matchers, jasmine, javascript, tdd, тестирование, Тестирование веб-сервисов, метки: TddАвто-регистрация тестов на С средствами языка
2015-03-10 в 8:10, admin, рубрики: C, tdd, unit-testing, ненормальное программирование, Си, Тестирование IT-систем, юнит-тестирование Сравнительно недавно была статья «Полуавтоматическая регистрация юнит-тестов на чистом С», в которой автор продемонстрировал решение задачи с использованием счётчиков из Boost. Следуя этому же принципу, была предпринята (успешная) попытка повторить данный опыт уже без использования Boost из соображения нелогичности наличия в проекте на C зависимости от Boost, да ещё и в таком небольшом объёме. При этом в тестах присутствовали вспомогательные директивы препроцессора в большом количестве. И всё бы так и осталось, но практически на завершающей стадии был найден альтернативный способ регистрации, который позволяет полностью избавится от дополнительных действий. Это C89-решение для регистрации тестов и чуть более требовательное к системе сборке решение для регистрации наборов тестов.Читать полностью »
Повышаем стабильность Front-end
2015-02-25 в 11:40, admin, рубрики: bdd, git workflow, gulp, jasmine, javascript, karma, tdd, Блог компании Тинькофф Банк, Веб-разработка, интерфейсы, тестирование веб-приложений, тинькофф банк, метки: unit testingВ продолжение предыдущей статьи о тестировании интерфейсов в Тинькофф Банке расскажу, как мы пишем unit-тесты на javascript.
CxxMock — Mock-объекты в C++
2015-02-20 в 17:33, admin, рубрики: agile, c++, cxxtest, tdd, unit-testing, Программирование, разработкаЕсли вы верите в Agile и разработка через тестирование для вас является нормой, а не какой-то непонятной практикой, но наверное столкнулись с такой нехорошей проблемой как организацией тестирования объектов которые используют другие объекты через интерфейсы на C++.
Если для .NET есть замечательная библиотека Rhino.Mocks, которой достаточно «скормить» интерфейс и вы получаете возможность программирования поведения методов интерфейса прямо в модульном тесте. То для С++ все сильно сложнее, так как нет замечательного рефлекшена который позволяет строить код во время исполнения. И приходится писать объекты-заглушки вручную. И в случае изменения интерфейса приходится не только обновлять все классы в приложении но обновлять весь набор «одноразовых» классов заглушек реализующих интерфейс которые применяются в тестах.
Читать полностью »
Почему разработчики не любят Юнит Тесты
2015-02-08 в 21:50, admin, рубрики: tdd, программирование как искусство, программирование микроконтроллеров Может они просто не умеют их «готовить»?
Читать полностью »
Инструменты тестирования Visual Studio Online, опыт использования и сравнение с ручным подходом
2015-02-02 в 10:41, admin, рубрики: microsoft, Microsoft Azure, mstesting, tdd, Visual Studio, visual studio online, Блог компании Microsoft, тестированиеЭта статья продолжает цикл, начатый нашими друзьями из Лаборатории Касперского и описывает реальный опыт использования инструментов тестирования от Microsoft с рекомендациями и выводами. Автор — инженер по тестированию, Игорь Щегловитов (ins4n3 на хабре). Наши статьи, посвященные тестированию, помечены тегом #mstesting.
Введение
В предыдущем посте мы рассмотрели создание инфраструктуры для облачного нагрузочного тестирования на виртуальных машинах Microsoft Azure. Теперь мы рассмотрим инструмент для нагрузочного тестирования — Visual Studio Online – и сравним его с ручным подходом.
Нагрузочное тестирование с использованием Visual Studio Online позволяет автоматически создавать и конфигурировать всю необходимую инфраструктуру в облаке — разворачивая контроллер и необходимое количество агентов с определенными настройками. Результаты прогона того или иного теста всегда остаются в облачной базе VS Online, и к ним в любой момент можно получить доступ.
Тестирование с инструментами Microsoft — полевой опыт
2015-01-26 в 8:27, admin, рубрики: microsoft, MTM, tdd, Visual Studio, Блог компании Microsoft, тестирование, Тестирование IT-системЭта статья создана нашими друзьями, партнерами из компании Лаборатория Касперского и описывает реальный опыт использования инструментов тестирования от Microsoft с рекомендациями. Автор — инженер по тестированию в Лаборатории Касперского, Игорь Щегловитов.
Привет всем. Я работаю инженером по тестирования в Лаборатории Касперского в команде, занимающейся разработкой серверной облачной инфраструктуры на облачной платформе Microsoft Azure.
Команда состоит из разработчиков и тестировщиков (примерно в соотношении 1 к 3). Разработчики пишут код на C# и практикуют TDD и DDD, благодаря этому код получается пригодным для тестирования и слабосвязанным. Тесты, которые пишут разработчики, запускаются либо вручную из Visual Studio, либо автоматически при сборке билда на TFS. Для запуска билда у нас установлен триггер Gated Check-In, таким образом он запускается при чекине в Source Control. Особенностью данного триггера является, то что если по каким-то причинам (будь то ошибка компиляции либо тесты не прошли) билд падает, то сам чекин, который запустил билд не попадает в SourceControl.
Вы, наверное, сталкивались с утверждением, что код протестировать сложно? Некоторые прибегают к парному программированию. В других компаниях специально выделены отделы тестирования. У нас же это обязательное код-ревью и автоматизированное интеграционное тестирование. В отличие от модульных — интеграционные тесты разрабатываются специально выделенными инженерами по тестированию, к которым отношусь и я.
Читать полностью »
Почти правильная разработка на 1С, без революций
2015-01-23 в 12:25, admin, рубрики: 1c 8.3, alm, bdd, devops, ERP-системы, Git, github, qa management, tdd Знаете ли вы, почему сейчас так модно внедрять Agile/Scrum/Kanban в командах разработки? Если быть совсем и до конца честным, то внедрение гибких методик разработки преследует только одну цель — приблизить команду к пользователям продукта. Сделать так, чтобы разработчики каждые две недели задумывались не о паттернах проектирования, не о том, выбрать ли для реализации нового, интересного алгоритма LinkedList, или всё таки будет достаточно ArrayList, а также не о том, какая крутая технология protobuf или не включить ли вам в проект ZeroMQ; а о том, какая от этого польза будет работающим на предприятии операторам на складе, грузчикам и водителям, токарям в цеху и продавцам-кассирам в магазине. В SCRUM обычно это называется двумя терминами Minimal Valuable Product и Bussiness Value. По большому счету, дело не в моде, а в эффективности, без ущерба комфорту обеих сторон — бизнеса и ИТ команды.
Читать полностью »
MindStream. Как мы пишем ПО под FireMonkey. Часть 5. Тестирование
2015-01-15 в 19:37, admin, рубрики: Delphi, FireMonkey, mobile development, open source, tdd, testing, ооп, Проектирование и рефакторинг Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey
Часть 3.1. По мотивам GUIRunner
Часть 4. Serialization
Здравствуйте, дорогиее.
В этом посте я хочу рассказать об изменениях, которые произошли с нашим проектом, а также о технологиях и приемах, которые мы использовали для достижения наших целей.
Сейчас наш проект выглядит так:
MindStream. Как мы пишем ПО под FireMonkey. Часть 4 Serialization
2014-12-09 в 20:48, admin, рубрики: Delphi, FireMonkey, open source, tdd, ооп, Проектирование и рефакторинг Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey.
Часть 3.1. По мотивам GUIRunner.
Ещё в начале увлечения программированием мне нравилось работать с файлами. Работа, правда, в основном заключалась в чтении входных данных и записей результатов. Дальше была работа с БД, файлами я пользовался все реже. Максимум IniFile иногда. Поэтому задача сериализации была довольно интересной для меня.
Сегодня я расскажу о том, как мы добавили сериализацию в нашу программу, какие возникли трудности и как мы их преодолели. Так как материал уже не новый, то он скорее для новичков. Хотя, кое-какие приемы смогут почерпнуть покритиковать все.
