Новости‎ > ‎

Обзор встречи №3. Рандомный генератор тестовых случаев «Continuous Database Tests»

Отправлено 6 мая 2011 г., 7:39 пользователем Uladzimir Kryvenka   [ обновлено 10 мая 2011 г., 23:56 ]

   В перерыве между традиционными в наших краях майскими праздниками состоялась долгожданная, переносимая несколько раз, третья по счету встреча участников сообщества Minsk Automated Testing Community. Специальным приглашенным гостем встречи был Павел Жур, который изъявил желание поделится своим опытом в решении задач, направленных на автоматизацию  тестирования  логики приложения на базе данных и генерацию эффективных тестовых данных. Данному мероприятию было присвоено грозное название “Рандомный генератор тестовых случаев «Continuous Database Tests»”.

   В самом начале встречи «бывалые» члены сообщества разъяснили вновь присоединившимся товарищам основные цели и задачи сообщества. После непродолжительной официальной части права вещания принял Павел Жур.

   Свое выступление наш докладчик начал с небольшого рассказа об особенностях проекта Birdview Projects, на котором он работал, и о некоторых проблемах, которые вынудили команду разработчиков проекта прибегнуть к автоматизации тестирования определенного класса задач. Особенностью проекта “Birdview Projects” является сложная логика приложения, основанная на пересчетах базы данных. Как рассказал Павел, решено  было разработать систему автоматизированного тестирования, работающую напрямую с APP уровнем приложения, которая смогла бы выполнять следующее:

  • проверять, правильно ли приложение пересчитывает вычисляемые значения (права доступа, биллинг, некоторые иерархические элементы, проблемность) и работает с ними для удаленных и восстановленных сущностей;
  • следить за производительностью системы (растёт она или падает);
  • генерировать такие тестовые данные, которые позволят легко найти узкие случаи, когда система падает при каких-то действиях;
  • выискивать дедлоки в БД под нагрузкой;
  • и даже иногда находить противоречия или непредусмотренные случаи в спецификации.

   Первой предпосылкой была именно необходимость проверки вычисляемых сущностей, которую решено было автоматизировать потому что она:

  • слишком трудоемкая для ручного тестирования;
  • имеет высокий приоритет в рамках проекта;
  • сам функционал имеет узкие места, которые невозможно или практически невозможно качественно протестировать вручную.

   В рамках своего доклада  Павел старался максимально подробно донести до аудитории все важные моменты и нюансы того решения, которое им было реализовано. Паша раскрыл следующие вопросы относящиеся к данной теме:

  • выбор подхода к реализации решения;
  • организация тестового фреймворка;
  • некоторые технические моменты реализации;
  • практическое использование.

   В скором времени Павел обещал написать небольшую статью, которая появится на нашем ресурсе, посвященную данной теме. В статье будут предоставлены основные моменты реализации выбранного им решения. 

   Рассказ Павла о его подходе к реализации тестового фреймворка вызвал большое количество вопросов у собравшихся участников сообщества. Вопросов было действительно много, некоторые из них превращались в  небольшие дискуссии. В конце встречи участники встречи обсудили другие возможные варианты решения подобного класса задач. В рамках обсуждения выяснилось, что разработанная Павлом система оказалась достаточно уникальной и никому из собравшихся не приходилось сталкиваться с подобной по своей специфике реализацией автоматизации. На это есть следующие причины:

  • своя специфика проектов;
  • сложность реализации;
  • не хватка времени.

   В общем, скучать не приходилось, и думаю, что уж совсем  равнодушных в аудитории не осталось. Искренне надеюсь, что всем было интересно и ничье время не было потрачено зря. Ну и конечно, ждем новых встреч!

   Немного фотографий с места событий. Около доски Павел Жур.

  

 
  

  Спасибо компании Exigen Services и ребятам, работающим в данной компании, за предоставленное нам помещение, а также Сергею Талалаеву за помощь в организации мероприятия. Ну и конечно, спасибо Павлу Журу за интересный и познавательный материал!

Комментарии: