WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 22 |
тестирование, композиция» формализуют понятие взаимодействия с Предисловие приоритетной обработкой сообщений различных типов и строят теорию тестирования для компонентов, взаимодействующих подобных образом. Во Специальный выпуск трудов Института системного программирования, второй своей статье «Эквивалентные семантики взаимодействия» они который Вы держите в руках, состоит из двух частей и содержит работы анализируют наборы тестовых возможностей, предоставляемых различными сотрудников отдела технологий программирования, посвященные различным семантиками взаимодействия, и определяют условия эквивалентности таких методам тестирования сложных систем. В этом выпуске мы постарались семантик, т.е. условия, при выполнении которых их возможности с точки представить информацию практически обо всех работах, которые ведутся на зрения тестирования одни и те же.

данный момент в отделе. К сожалению, это не получилось сделать в полной Тему тестирования компонентов распределенных систем продолжает статья мере, и ряд разработок остались за рамками сборника, прежде всего, работы В. С. Мутилина «Многопоточное тестирование программных интерфейсов». В по тестированию телекоммуникационных протоколов и систем интеграции ней представлен метод проверки программ на безопасность их работы в уровня предприятия. Однако набор тем статей все же позволяет получить многопоточном окружении, сочетающий элементы тестирования и некоторое представление о текущей деятельности отдела.

дедуктивного анализа программного кода.

Разнообразие затронутых в сборнике предметов связано с множеством задач, с Две следующих статьи рассказывают о критериях тестового покрытия, которыми приходится сталкиваться при оценке качества сложной используемых при тестировании на основе формальных спецификаций, и программной или аппаратной системы. Тем не менее, и из чисто эстетических, техниках вычисления достигнутого покрытия во время тестирования. Статья и из прагматических соображений, хотелось бы иметь дело с некоторым В. В. Кулямина «Критерии тестового покрытия, основанные на структуре единым, унифицированным подходом к тестированию.

контрактных спецификаций» определяет несколько удобных для Несколько лет назад, еще не столкнувшись с большинством проблем, использования критериев покрытия на базе спецификаций. Статья играющих важную роль в текущих проектах, мы полагали, что такой подход у С. В. Зеленова и С. А. Зеленовой «Автоматическое определение нас есть — это технология UniTESK, предназначенная для автоматизации выполнимости наборов формул для операций сравнения» посвящена разработки тестов на основе формальных спецификаций. Какие-то элементы алгоритму, позволяющему отбрасывать невыполнимые комбинации значений этого взгляда вполне подтвердились, например, удалось использовать формул, использующих сравнения чисел, получая таким образом более технологию UniTESK для тестирования модулей микропроцессоров. Но точные отчеты о достигнутом тестовом покрытии.

сейчас мы знаем больше как о различных методах тестирования, так и о Еще одна статья С. В. Зеленова и С. А. Зеленовой «Генератор сложных разнообразных внешних ограничениях, которые могут в значительной степени данных Pinery: реализация новых возможностей UniTESK», написанная в определять используемые в проектах технологии, и недостаточная соавторстве с А. В. Демаковым, представляет инструмент Pinery для универсальность положений, лежавших в основе нашего подхода, становится генерации сложных тестовых данных и различные техники его использования, все более очевидной.

позво-ляющие точнее нацелить процесс генерации на создание специфических Тем не менее, некоторую эклектичность тех методик и технологий, которые данных.

разрабатываются и используются сейчас, мы склонны рассматривать не как Статья С. Г. Грошева «Локализация ошибок методом сокращенного финальное состояние, а как переход к новому этапу унификации, воспроизведения трассы» описывает методику минимизации сложных тестов позволяющему более целостно осмыслить проблемы обеспечения качества для облегчения анализа и более аккуратной локализации обнаруживаемых для сложных систем. Итогом должно стать создание «новой версии» подхода ими ошибок, а также инструмент, позволяющий строить минимальные тесты UniTESK, унифицирующего методы тестирования в значительно более автоматически.

широкой области и на новом уровне.

В последней в первой части статье Е. С. Чернова и В. В. Кулямина Пока контуры такого подхода лишь едва проглядывают за многообразием «Тестирование современных библиотек тригонометрических функций» используемых техник и методов. Анализ ситуации проводит А. К. Петренко в рассказывается о результатах тестирования нескольких реализаций первой статье первой части сборника «Унификация в автоматизации тригонометрических функций с помощью разработанных в ИСП РАН общих тестирования. Позиция UniTESK».

подходов к проверке правильности работы математических библиотек.

Вторая и третья статьи сборника посвящены теории, лежащей в основе Член-корреспондент РАН В. П. Иванников методов тестирования компонентов распределенных систем. И. Б. Бурдонов и Кандидат физ.-мат. наук В. В. Кулямин А. С. Косачев в первой статье «Системы с приоритетами: конформность, 5 позволяло разрабатывать спецификации и тесты независимо от языков программирования, которые используются в реализации.

Опыт KVEST показал, что в чем-то принятые принципы унификации оказались достаточно удачными, а в чем-то совсем неприемлемыми. К удачным можно отнести подход к описанию функциональных требований в Унификация в автоматизации форме контрактных спецификаций — в виде ограничений типа пред- и тестирования. Позиция UniTESK постусловия и ограничений на типы данных. К неудачным приходится отнести принцип использования единого, универсального языка спецификаций. Причем первым основанием для критики такой декларации является совсем не ограниченность возможностей языка (хотя RSL достаточно А. К. Петренко консервативный язык, он не имеет объектно-ориентированных возможностей, petrenko@ispras.ru в нем практически нет средств для описания темпоральных свойств и др.).



Главным тезисом критики RSL является его непохожесть на Аннотация. Рассматриваются современные тенденции унификации в средствах распространенные языки программирования, что сразу вызывает сложности автоматизации тестирования, анализируется текущий уровень унификации в инструментах семейства UniTESK и очерчиваются возможные формы унификации, как в обучении будущих пользователей, так и в совместном использовании которые позволят расширить круг возможностей технологии.

программ на языке RSL и языке программирования во время разработки и отладки теста.

1. Введение. Специализация и унификация в развитии Выбирая принципы унификации UniTESK, мы сделали небольшой шаг назад, UniTESK сказав, что языки спецификаций для разных языковых платформ реализации могут быть разными. Так появилось семейство однородных Первые работы по созданию новой технологии тестирования, которая вскоре спецификационных расширений для разных языков: для Java — J@va, для была названа UniTESK, начались в ИСП РАН во второй половине 1999 года.

языка C — SEC (Specification Extension of C) и Chase — спецификационное Само название включало в себя один из корней слова унификация (UNIрасширение для C#.

fication), а в целом расшифровывалось как Unified TEsting Specification toolKit. Унификации в UniTESK постоянно придавалось большое значение.

Одновременно с разработкой новых инструментов семейства UniTESK мы Одним из важных элементов унификации был принцип использования расширяли круг использования этих инструментов. Поскольку о тестировании однородного спецификационного расширения языков программирования — реализаций протоколов мы думали заранее, опыт применения CTESK во всех расширениях использовалась одна и та парадигма спецификации (UniTESK для C-платформы) не потребовал кардинальных переделок в (контрактные спецификации) и единообразная архитектура теста, инструменте. Однако при анализе возможностей UniTESK-инструментов для включающая одинаковые механизмы взаимодействия тестовой системы с системного тестирования компиляторов стало ясно, что для этого требуются целевой системой. Этот принцип позволил, следуя одной общей методике, новые техники, так появились инструменты BNF tool и ОТК.

создавать тесты для программного обеспечения на различных языках Затем были попытки применения UniTESK для тестирования графических программирования.

пользовательских интерфейсов и их разновидности — Web-интерфейсов.

В основу новой технологии был положен опыт разработки и использования Часть попыток была вполне успешной, тесты удавалось построить достаточно технологии KVEST [1] и опыт ее использования в задачах тестирования быстро, их было легко модернизировать и синхронизовать с программного интерфейса (API, Application Program Interface) ядра эволюционирующей реализацией. Однако в общем случае, оказалось, что операционной системы компании Nortel Networks [2]. Кроме того, помимо чисто технических проблем управления графическим интерфейсом рассматривались сценарии применения новой технологии при тестировании имеются и принципиальные ограничения UniTESK в плане возможностей по реализаций телекоммуникационных протоколов и других распределенных и описанию/спецификации пользовательского интерфейса как такого.

компонентных систем. Предшественник UniTESK, технология KVEST, была в В последние 3 года спектр работ, в которых проводились эксперименты по некотором роде «еще более унифицированной». Она в качестве языка применению UniTESK, резко расширился. В него вошли тестирование формального описания функциональных требований и тестовых сценариев распределенных платформ интеграции крупных информационных систем, использовала язык формальных спецификаций RSL [3], что, в принципе, тестирование ОС реального времени, тестирование библиотек ОС Linux, тестирование системы поддержки времени исполнения Java, реализаций 7 протоколов Mobile IPv6, IPsec, IPMP и др. Расширение спектра приложений, качество выпускаемой продукции, её надёжность и долговечность естественно, повлекло необходимость развития имевшихся инструментов благодаря более высокой технологичности конструкции изделий и UniTESK, необходимость разработки новых и использования инструментов, проработанной технологии их изготовления;

имеющихся на рынке. В итоге иногда складывается впечатление, что для стандартизация;

каждой новой задачи приходится искать (а, если найти не удается найти, то единые системы технической документации;

создавать) новый инструмент. С одной стороны, специализация — это тоже специализация производства.

известный путь развития. Не бывает универсальных самолетов, автомобилей, Похоже, авторы БСЭ затронули практически все моменты, которые являются даже в более прозаических вещах, таких как ложки и ножи, также нет ключевыми в автоматизации тестирования. Пожалуй, по понятным причинам, универсальных решений. Однако универсальность и унификация — это не осталась не затронутой только одна тема — интероперабельность одно и тоже. Унификация — это средство, позволяющее на основе некоторого компонентов тестовых систем.





типового набора возможностей получить решение широкого круга задач.

Интуиция подсказывает, что в тестировании может быть построен набор 2.1. Унификация в использовании и в разработке средств средств, достаточно ограниченный, из которых как из Lego-конструктора тестирования можно собрать нужный инструмент. Анализу достигнутого уровня Каков опыт унификации в программировании, каковы удачные примеры унификации в автоматизации тестирования и направлениям развития унификации в программировании Самый первый общепризнанный результат унификации и посвящается данная статья.

унификации — это библиотеки программ (раньше они назывались библиотеками стандартных программ). Собственно, с создания библиотек и 2. Унификация в программировании и в автомасредств их использования началось программирование как новая научная и тизации тестирования техническая дисциплина. Следующим направлением унификации можно Начнем с определения термина «Унификация».

назвать стандартизацию языков программирования. Второй, возможно, не Унификация (от лат. unus — один и facio — делаю) — приведение к такой заметный, но чрезвычайно важный пример унификации — это единообразию, к единой форме или системе (Большой энциклопедический определение стандартных представлений программ, позволяющих объединять словарь, М., БСЭ, 1964).

объектные модули, оттранслированные с различных языков программирования в единую программную систему. Это как раз тот случай, Унификация — в технике, приведение различных видов продукции и когда мы не можем предложить совершенно общего, универсального решения средств её производства к рациональному минимуму типоразмеров, при выборе языка программирования, но имеем средства унификации, чтобы, марок, форм, свойств и т.п. Основная цель У. — устранение комбинируя модули на разных языках, решить любую стоящую перед нами неоправданного многообразия изделий одинакового назначения и задачу. Хороший пример унификации — общая схема построения разнотипности их составных частей и деталей, приведение к возможному компиляторов, которая предусматривает фазы лексического, синтаксического, единообразию способов их изготовления, сборки, испытаний и т.п. У.— семантического анализа, вместе они образуют так называемый front-end важное направление в развитии современной техники, комплексный компилятора, фазы оптимизации и генерации кода, которые вместе образуют процесс, охватывающий вопросы проектирования, технологии, контроля и так называемый back-end. Такая разбивка на фазы позволяет не только эксплуатации машин, механизмов, аппаратов, приборов. В условиях упростить изучение устройства компиляторов, становится реальной научно-технической революции принципы У. используют не только в возможность построения компилятора методом сборки отдельных отраслях производства, но и в др. сферах человеческой деятельности...

компонентов. Можно собрать несколько фронт-ендов (для разных языков) и (Большая советская энциклопедия. БСЭ, 1969-1978 [4]).

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

инструментов разработки компиляторов. Например, имеются средства типа взаимозаменяемость;

Lex и Yacc, при помощи которых можно сгенерировать модули фронт-енда.

типизация;

Рассматривая вопросы унификации в автоматизации тестирования, следует построение агрегатных унифицированных систем;

обратить внимание на то, что имеется два ракурса этого рассмотрения.

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

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

тестирования На каких входных данных нужно проверять систему Тема унификации технологий и инструментов тестирования широко и активно Что является критерием правильности функционирования системы обсуждается. Сейчас трудно сказать, является ли этот интерес некоторой Что является критерием полноты тестирования и др.

модной темой или в программной индустрии имеется реальная В зависимости от особенностей интерфейса системы, от возможностей заинтересованность, подпитывающая исследования и разработки (одним из взаимодействия с системой (например, за счет прямого доступа к ее оснований для сомнений в реальной заинтересованности является то, что внутреннему состоянию), от требований заказчика и других условий активность в этой области заметна в Европе и мало заметна в США и Азии).

Pages:     || 2 | 3 | 4 | 5 |   ...   | 22 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.