Скачать презентацию Тестирование на основе моделей теория инструменты применения В Скачать презентацию Тестирование на основе моделей теория инструменты применения В

06e17c76d317a14218ba7cb2e9dbd1d0.ppt

  • Количество слайдов: 28

Тестирование на основе моделей: теория, инструменты, применения В. Кулямин, А. Петренко Тестирование на основе моделей: теория, инструменты, применения В. Кулямин, А. Петренко

Тестирование и современное ПО Тестирование призвано измерять качество целевого ПО на основе мониторинга его Тестирование и современное ПО Тестирование призвано измерять качество целевого ПО на основе мониторинга его работы в различных ситуациях n Современное ПО отличается повышенной сложностью n

Тестирование на основе моделей Исчерпывающее тестирование на практике невозможно n Но возможно строить тесты Тестирование на основе моделей Исчерпывающее тестирование на практике невозможно n Но возможно строить тесты систематически – на основе некоторой «системы» n Эта система задается при помощи модели или спецификации n

Откуда брать модели? Тесты должны быть качественны n Проверка соответствия требованиям n «Достаточная» представительность Откуда брать модели? Тесты должны быть качественны n Проверка соответствия требованиям n «Достаточная» представительность ¨ Ошибки и «возможные» ошибки ¨ Покрытие элементов кода ¨ Покрытие элементов требований Модель ошибок Модель покрытия

Решения Uni. Tes. K n n n Контрактные спецификации: Предусловия и постусловия операций Инварианты Решения Uni. Tes. K n n n Контрактные спецификации: Предусловия и постусловия операций Инварианты типов данных Критерий качества тестирования – покрытие спецификаций Построение конечного автомата по спецификации и заданному уровню покрытия Построение теста во время выполнения – обход конечного автомата Повышение уровня абстракции при разработке тестов

Контрактные спецификации n n n Предусловие описывает область определения операции sqrt(x) pre x ≥ Контрактные спецификации n n n Предусловие описывает область определения операции sqrt(x) pre x ≥ 0 Постусловие описывает ограничения на правильные результаты операции sqrt(x) post result*result = x Инвариант типа описывает условия целостности его данных Triangle x, y, z : x+y ≥ z & x+z ≥ y & y+z ≥ x

Тестовые оракулы Тестовые воздействия Модель (спецификации) Целевая система Тестовый оракул ? Тестовые оракулы Тестовые воздействия Модель (спецификации) Целевая система Тестовый оракул ?

Критерии покрытия n Качество тестирования измеряется степенью покрытия тестируемой системы n Покрытие спецификаций близко Критерии покрытия n Качество тестирования измеряется степенью покрытия тестируемой системы n Покрытие спецификаций близко к покрытию требований /* Контроллер лифта */ if Inner_up Outer_up then // двигаться вверх else if Inner_down Outer_down then // двигаться вниз else // стоять на месте

Построение конечного автомата параметры область определения операции 2 3 цели покрытия 1 состояния Построение конечного автомата параметры область определения операции 2 3 цели покрытия 1 состояния

Выполнение теста I Вычисление одного тестового воздействия параметры Разработан инструмент, автоматически вычисляющий параметры в Выполнение теста I Вычисление одного тестового воздействия параметры Разработан инструмент, автоматически вычисляющий параметры в случае линейных условий 2 3 1 состояния текущее состояние

Выполнение теста II Построение тестовой последовательности 1 2 3 Выполнение теста II Построение тестовой последовательности 1 2 3

Повышение уровня абстракции Критерий покрытия Целевая система Спецификации – модель поведения Медиатор Модель теста Повышение уровня абстракции Критерий покрытия Целевая система Спецификации – модель поведения Медиатор Модель теста

Факторизация автомата Факторизация автомата

Неявное представление автомата Неявное представление автомата

Практическая нацеленность Спецификации и другие компоненты тестов разрабатываются на расширении целевого языка n Интеграция Практическая нацеленность Спецификации и другие компоненты тестов разрабатываются на расширении целевого языка n Интеграция с привычными средами разработки n

Применения Uni. Tes. K n Реализации IPv 6 ¨ ¨ ¨ n n n Применения Uni. Tes. K n Реализации IPv 6 ¨ ¨ ¨ n n n - 2001 -2003 Microsoft Research Мобильный IPv 6 (в Windows CE 4. 1) Октет Компиляторы Intel Стардарт AVS Пилотные проекты - 2001 -2003 - 2004 -… - 2003 Гос. НИИАС Банковская система ведения данных о клиентах Библиотека классов для разработки приложений уровня предприятия ¨ Биллинговая система ¨ Tiny OS ¨ ¨ ¨

Параллелизм: модели поведения Асинхронность и распределенность n Модели – асинхронные автоматы n !x ? Параллелизм: модели поведения Асинхронность и распределенность n Модели – асинхронные автоматы n !x ? a B : X* → P (R*) ai ↦ { xi } !y ? e !x ? b !y !z ? a !x !y B : X* → P (R*) ai ↦ { yjxk…xlyn : k+…+l = i }

Распределенность ? a ? {a, b} ? b ? {a, a} ? {b, b} Распределенность ? a ? {a, b} ? b ? {a, a} ? {b, b} ? {a, a, a} ? {a, a, b} Как моделировать реакции на все возможные комбинации входов? Аксиома простого параллелизма : Реакция на несколько одновременных входов совпадает с реакцией на некоторую их последовательность

Генерация тестовых входов s 14 s 24 s 33 s 13 s 23 s Генерация тестовых входов s 14 s 24 s 33 s 13 s 23 s 12 s 22 s 11 s 21 s 32 Целевая система s 31 Вместо тестовой последовательности используется набор последовательностей

Сбор реакций 11 r 11 Целевая система r 21 21 31 r 12 r Сбор реакций 11 r 11 Целевая система r 21 21 31 r 12 r 22 12 r 23 22 32 23 r 31 r 32 r 33 33 время Реакции образуют частично упорядоченное множество

Проверка корректности поведения стимулы реакции Аксиома простого параллелизма ✕ Проверка корректности поведения стимулы реакции Аксиома простого параллелизма ✕

Тестирование компиляторов Спецификации языка Набор базовых блоков модели Итератор комбинаций Привязка базовых блоков Тестовые Тестирование компиляторов Спецификации языка Набор базовых блоков модели Итератор комбинаций Привязка базовых блоков Тестовые программы if(…)…else … for(…; …; …)

Обучение Uni. Tes. K n Проведенные тренинги ¨ Ланит-Терком, Россия ¨ Университет Саарланда, Германия Обучение Uni. Tes. K n Проведенные тренинги ¨ Ланит-Терком, Россия ¨ Университет Саарланда, Германия ¨ Systematic Software Engineering, Дания ¨ Luxoft, Россия ¨ Intel, Россия

Контакты Сайт группы http: //www. ispras. ru/groups/rv/rv. html n Сайт проектов Uni. Tes. K Контакты Сайт группы http: //www. ispras. ru/groups/rv/rv. html n Сайт проектов Uni. Tes. K http: //www. unitesk. com n Электронный адрес petrenko@ispras. ru n

Литература n n n I. Burdonov, A. Kossatchev, A. Petrenko, H. Wong. Overview of Литература n n n I. Burdonov, A. Kossatchev, A. Petrenko, H. Wong. Overview of the Kernel Verification project. BNR Reports, 1997 И. Б. Бурдонов, А. В. Демаков, А. С. Косачев, А. В. Максимов, А. К. Петренко. Формальные спецификации в технологиях обратной инженерии и верификации программ. Труды ИСП, т. 1, 1999, стр. 35 -47 I. Bourdonov, A. Kossatchev, A. Petrenko, D. Galter. KVEST: Automated Generation of Test Suites from Formal Specifications. Proc. FM’ 99, LNCS 1708, Springer-Verlag, 1999, pp. 608 -621 И. Б. Бурдонов, А. С. Косачев, В. В. Кулямин. Использование конечных автоматов для тестирования программ. Программирование, т. 26, №. 2, 2000, стр. 61 -73 A. K. Petrenko, I. B. Bourdonov, A. S. Kossatchev, V. V. Kuliamin. Experiences in using testing tools and technology in real-life applications. Proc. SETT’ 2001, Pune, India, 2001 A. Petrenko. Specification Based Testing: Towards Practice. Proc. PSI’ 2001, LNCS 2244, 2001 I. Bourdonov, A. Kossatchev, V. Kuliamin, A. Petrenko. Uni. Tes. K Test Suite Architecture. Proc. FME 2002, LNCS 2391, pp. 77 -88, Springer-Verlag, 2002 И. Б. Бурдонов, А. С. Косачев, В. В. Кулямин. Асинхронные автоматы: классификация и тестирование. Труды ИСП РАН, т. 4, 2003, стр. 7 -84 V. Kuliamin, A. Petrenko, N. Pakoulin, A. Kossatchev, I. Bourdonov. Integration of Functional and Timed Testing of Real-time and Concurrent Systems. Proc. PSI’ 2003. A. Kossatchev, A. Petrenko, S. Zelenova. Using Model-Based Approach for Automated Testing of Optimizing Compilers. Proc. Intl. Workshop on Program Undestanding, Gorno-Altaisk, 2003 В. В. Кулямин, А. К. Петренко, А. С. Косачев, И. Б. Бурдонов. Подход Uni. Tes. K к разработке тестов. Программирование, т. 29, № 6, 2003, стр. 25 -43

Спасибо за внимание Спасибо за внимание