Конфигурация Звездочки единицы/интеграционного тестирования

Поблочное и интеграционное тестирование обычно выполняется как часть процесса разработки, конечно. Я ищу способы использовать эту методологию в конфигурации существующей системы, в этом случае Звездочка мягкий PBX.

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

У меня есть несколько идей о тестировании системы с помощью файлов вызова (для создания определенных вызовов между расширениями) при наблюдении, что менеджер взаимодействует через интерфейс для сгенерированных событий. Тест мог затем наблюдать за ожидаемым результатом, т.е. набирающий *99# должен привести к называемому Приложению голосовой почты.

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

То, что я хочу, система тестирования для Звездочки, невозможной? В противном случае у Вас есть какие-либо идеи о способах пойти об этом разумным способом? Я готов поместить изрядное количество времени разработки в это и выпустить результат в соответствии с дружественной лицензией, но я не уверен в лучшем способе приблизиться к нему.

5
задан Jakob Borg 31 January 2010 в 21:41
поделиться

2 ответа

Вы можете создать набор специфических сценариев и использовать команду Asterisk MixMonitor для записи этих вызовов. Это позволило бы вам создать набор звуковых записей, которые были бы нормативными для вашей системы для этих тестов, и использовать инструмент автоматического сравнения звуковых файлов (возможно, что-то из сравнения звуковых файлов-if-not-completely-identical?) для изучения результатов. Просто идея.

0
ответ дан 14 December 2019 в 19:12
поделиться

Как правило, программирование ограничений является хорошим подходом к этому типу проблемы планирования. Поиск по «программированию ограничений» и «планированию на основе ограничений» как в стеке переполнения, так и в Google создаст хорошие ссылки. Это не невозможно - это просто немного трудно подумать при использовании традиционных методов оптимизации, таких как линейная или целочисленная оптимизация. Один вывод будет - существует ли график, удовлетворяющий всем требованиям? Это само по себе, очевидно, полезно.

Удачи!

-121--799784-

HKEY _ CURRENT _ USER\Software\Classes\http\shell\open\command\( Default) - обработчик текущего пользователя для протокола HTTP (что означает «браузер по умолчанию»; ПРИМЕЧАНИЕ: это НЕ то же самое, что обработчик .html по умолчанию!).

Однако в верхней части меню «Пуск» можно использовать другой браузер без изменения значения по умолчанию. К вашему сведению, имя исполняемого файла браузера в меню «Пуск» хранится в HKEY _ CURRENT _ USER\Software\Clients\StartMireInternet\( Default) .

-121--3545641-

Ну, это зависит от того, что вы тестируете. Есть много способов справиться с подобными вещами. Я предпочитаю использовать Asterisk Call Files в комплекте с кодом dialplan. EG: Создайте файл вызова, чтобы набрать какой-то публичный номер, как только на него ответят, вернуться к указанному контексту dialplan и выполнить всю мою логику тестирования (воспроизведение звуковых файлов, прослушивание клавиатур и т.д.)

Я написал библиотеку файлов вызова Asterisk, которая делает этот вид тестирования ЧРЕЗВЫЧАЙНО простым. В нем также много документации/примеров, проверьте его здесь: http://pycall.org/ . Это может вам помочь.

Удачи!

3
ответ дан 14 December 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: