Привет, всем.
Существует некоторый достаточно простой язык описания фильтра выборки (нечто похожее на выражение критерия выборки
в WHERE SQL с некоторыми расширениями). Есть транслятор из этого языка, который формирует условие WHERE для одного или
нескольких запросов, из результатов которых формируется выборка.
Необходимо этот транслятор протестировать.
Подскажите, пожалуйста, какие существуют подходы к тестированию трансляторов вообще или подобных трансляторов в частности.
Интересуют ссылки на литературу и статьи, общие соображения и принципы.
На данный момент есть задумка, во-первых, протестировать выражение на допустимые\недопустимые комбинации лексем.
Во-вторых, для допустимых выражений проверить полученные результаты.
Какие входные\выходные данные использовать для таких тестов? Каким образом будут выглядеть тест кейсы?
Спасибо.
Тестирование Трансляторов
Автор Darkus, 28 авг 2007 07:20
Сообщений в теме: 4
#1
Отправлено 28 августа 2007 - 07:20
#2
Отправлено 28 августа 2007 - 11:49
Приветствую!
Мне кажется для тестирования транслятора можно применить тестирование на основе моделей; инструменты наподобие Unitesk.
Кратенькое описание этого подхода есть, например, здесь http://www.osp.ru/os/2003/09/183388/ во второй части статьи (стр. 3 и дальше).
Однако, это будет довольно дорогостоящее (и по деньгам, как по времени) мероприятие.
Мне кажется для тестирования транслятора можно применить тестирование на основе моделей; инструменты наподобие Unitesk.
Кратенькое описание этого подхода есть, например, здесь http://www.osp.ru/os/2003/09/183388/ во второй части статьи (стр. 3 и дальше).
Однако, это будет довольно дорогостоящее (и по деньгам, как по времени) мероприятие.
#3
Отправлено 29 августа 2007 - 06:50
как вариант попробуйте написать генератор валидных и невалидных запросов для данного языка...также необходимо в генераторе предусмотреть входной набор данных а дальше комбинации...
#4
Отправлено 29 августа 2007 - 07:23
Про UniTESK правильно читать не в ОС (потому что там "научно-популярные" статьи), а здесь:
http://www.citforum.ru/SE/testing/
В частности, про тестирование трансляторов можно почитать следующие статьи:
http://www.citforum....esting/zelenov/ -- это про трансляторы вообще, тестирование всех уровней -- от лексического анализатора до рантайм-поддержки.
http://www.citforum....g/complex_test/ -- это про генерацию данных с учётом сложных ограничений, в том числе некоторых семантических.
http://www.citforum....ing/generation/ -- это специально про тестирование лексического анализатора, здесь как раз можно достигнуть достаточно высокой степени автоматизации с минимальными усилиями.
Ссылки на инструменты имеются в конце первой из трёх вышеперечисленных статей. Сейчас у нас готовится новый инструмент, который в полной мере реализует технику, описанную во второй статье, но он пока не выставлен для публичного использования, проходит внутреннюю обкатку в наших сервисных проектах.
http://www.citforum.ru/SE/testing/
В частности, про тестирование трансляторов можно почитать следующие статьи:
http://www.citforum....esting/zelenov/ -- это про трансляторы вообще, тестирование всех уровней -- от лексического анализатора до рантайм-поддержки.
http://www.citforum....g/complex_test/ -- это про генерацию данных с учётом сложных ограничений, в том числе некоторых семантических.
http://www.citforum....ing/generation/ -- это специально про тестирование лексического анализатора, здесь как раз можно достигнуть достаточно высокой степени автоматизации с минимальными усилиями.
Ссылки на инструменты имеются в конце первой из трёх вышеперечисленных статей. Сейчас у нас готовится новый инструмент, который в полной мере реализует технику, описанную во второй статье, но он пока не выставлен для публичного использования, проходит внутреннюю обкатку в наших сервисных проектах.
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#5
Отправлено 31 августа 2007 - 07:59
Алексей, запоздалое Спасибо. Будем работать :)
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных