|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
Создание системы тестирования ПО.09.08.2009, 16:50. Показов 4320. Ответов 4
Собственно,хотел написать скрипт по тестированию программы отсюда Пишем свой интерпретатор языка BASIC .В сети нашёл кое-какие примеры,например перенаправления вывода программы,но всё это мне не подходит,мне нужен вывод последней строки,попавшей в cerr.
Кратко-в программе имеется парсер,на входе файл с намеренной ошибкой,парсер должен отреагировать,и нужно сравнить последнюю строку,напечатанную в cerr,с эталоном. То есть,я начинаю писать так :
0
|
||||||
| 09.08.2009, 16:50 | |
|
Ответы с готовыми решениями:
4
Создание системы тестирования Создание системы тестирования студентов Создание автоматизированной онлайн системы тестирования |
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 09.08.2009, 20:53 | |
|
Напиши на perl.
system( "./bsc 1>stdout 2>stderr" ); Потом пропарсить файл stderr - взять оттуда последнюю строку ...
1
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
| 09.08.2009, 23:07 [ТС] | ||||||
Я перл-то не знаю.Ну а в файл-то хотя бы можно как-то перенаправить?А то я вроде как получаю перенаправление из exec,а не из проги. Рою по гуглю уже целый день ))Добавлено через 1 час 6 минут 15 секунд О,ну вроде само как-то дошло,надо было просто писать полный путь к файлу,а я мучался.В переменную так и не смог направить.
0
|
||||||
|
|
|||||||||||
| 09.08.2009, 23:16 | |||||||||||
|
На bash'е тоже самое
./bsc 1>file1 2>file2 Потоком номер 1 является stdout, 2 - stderr Вообще есть два класса тестов: позитивные и негативные. Для позитивных тестов подаются правильные входные данные, а так же эталонный результат, либо программа самопроверяющаяся и просто выдаёт код возврата 0 в случае успеха и не 0 в случае ошибки. Негативные тесты - это неправильные входные данные плюс эталон выдачи ошибок. Написание хорошего негативного тестового пакета как правило задача геморойная. Потмоу как для позитивного достаточно сверить с эатлоном, а для негативного ещё нужны дополнительные телодвижения, чтобы понять, нужная ошибка проявилась, или какая-то другая Начни для начала с простого примера. Например, нам надо проверить правильность вычисления выражения (с точки зрения приортиетов операций)
Технически подобные тесты удобно хранить в виде двух файлов на каждый тест. Допустим имеется исходник test01.bas и эталонная выдача к нему test01.bas.stdout, далее файл test02.bas и эталонная выдача test02.bas.stdout и т.д. Простенький скрипт выглядит что-то типа того (я его не проверял, просто смысл напишу, дальше сам допиливай):
Работая на bash и прочих shell'ах надо учитывать, что операция "=" должна быть без пробелов. Т.е. "A=1" правильно, а "A = 1" - нет. При этом выдастся какая-то нечленораздельная ошибка
1
|
|||||||||||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||
| 10.08.2009, 08:44 | ||
stdout - это файл stderr - это тоже файл
1
|
||
| 10.08.2009, 08:44 | |
|
Помогаю со студенческими работами здесь
5
Создание автоматизированной системы тестирования программ Создание тестовой системы для тестирования своего программного кода Создание кнопки "далее" для системы тестирования Логика системы тестирования Разработка системы автоматического тестирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|