Перейти к содержимому

Фотография

Тестирование Трансляторов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Darkus

Darkus

    Опытный участник

  • Members
  • PipPipPipPip
  • 424 сообщений
  • Город:Казахстан, г.Астана

Отправлено 28 августа 2007 - 07:20

Привет, всем.

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

Подскажите, пожалуйста, какие существуют подходы к тестированию трансляторов вообще или подобных трансляторов в частности.
Интересуют ссылки на литературу и статьи, общие соображения и принципы.

На данный момент есть задумка, во-первых, протестировать выражение на допустимые\недопустимые комбинации лексем.
Во-вторых, для допустимых выражений проверить полученные результаты.

Какие входные\выходные данные использовать для таких тестов? Каким образом будут выглядеть тест кейсы?

Спасибо.
  • 0

#2 testedu

testedu

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Дмитрий
  • Город:Украина, Киев

Отправлено 28 августа 2007 - 11:49

Приветствую!

Мне кажется для тестирования транслятора можно применить тестирование на основе моделей; инструменты наподобие Unitesk.
Кратенькое описание этого подхода есть, например, здесь http://www.osp.ru/os/2003/09/183388/ во второй части статьи (стр. 3 и дальше).
Однако, это будет довольно дорогостоящее (и по деньгам, как по времени) мероприятие.
  • 0

#3 the_norn

the_norn

    Активный участник

  • Members
  • PipPip
  • 91 сообщений
  • ФИО:Kononov Roman

Отправлено 29 августа 2007 - 06:50

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

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 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/ -- это специально про тестирование лексического анализатора, здесь как раз можно достигнуть достаточно высокой степени автоматизации с минимальными усилиями.

Ссылки на инструменты имеются в конце первой из трёх вышеперечисленных статей. Сейчас у нас готовится новый инструмент, который в полной мере реализует технику, описанную во второй статье, но он пока не выставлен для публичного использования, проходит внутреннюю обкатку в наших сервисных проектах.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#5 Darkus

Darkus

    Опытный участник

  • Members
  • PipPipPipPip
  • 424 сообщений
  • Город:Казахстан, г.Астана

Отправлено 31 августа 2007 - 07:59

Алексей, запоздалое Спасибо. Будем работать :)
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных