реклама на сайте
подробности

 
 
> Продвинутая система тестирования софта:, Есть идеи?
Evgeny_CD
сообщение Jan 13 2006, 16:44
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Готовлю я тут потихоньку платфому для новых проектов, и возникла вот
такая задача.

Есть код на C. Plain ANSI C, все чин-чинарем. Система функций, из
которых снаружи виден только вход и выход.

Часто возникает задача оттестировать этот код в режиме симуляции (т.е.
запускаем его, на вход данные от программного генератора, на выход -
интеллектуальных анализатор). Ну и так на пару суток biggrin.gif (по крайней
мере, моя жаба будет спокойна, что мой супер-пупер компук оправдывает
свою супер-пуперность, и есть шанс уговорить ее на upgrade) biggrin.gif

Например, есть у меня код распознавания DTMF. Его много гуляет по
инету smile.gif Но для серьезного приложения мне хочется как следует все
оттестировать: подать на вход (методом монте-карло, например) разные
наборы данных (шум, абсолютная амплитуда несущих, разность амплитуд,
различных длительности паузы и пр.) и посмотреть, что получится.

Тестировщик довольно прост: задаем данные, генерируем отсчеты, и на
вход. Он пишет лог: в какой последовательности мы чего на вход
подавали.

"Приниматель" данных просто пишет лог - в какой последовательности
чего приняли.

Ну и анализатор этих логов - где чего взглюкнуло.

Лично я (может, я старомоден?) после такой проверки спал бы куда
спокойнее, чем даже после такого замечательного моделирования, как тут
http://aly.projektas.lt/Projects/MATLAB/DT...coderEvanse.htm

Собственно, тут нет никакого противоречия - MATLAB совершенно
замечательная вещь для разработки, я же говорю о полностью
автоматизированное методике тестирования.

Возникает вопрос, как это сделать? Если использовать нормальную
embedded OS (типа eCos) в режиме синтетического порта (когда OS и
подчиненные ей задачи живут под Linux), то понятно. Устраиваем связь
наших функций с тестером посредством Linux IPC (Inter Proces
Commnunication) и тестируем до посинения.

Но возникает вопрос, на чем писать сам тестер?

С не очень катит, т.к. быстродействие "тестера" не так важно (IMHO), а
вот простота его разработки и ошибкоустойчивость куда важнее. IMHO,
Python (или другой высокоуровневый скриптовый ООП язык - например,
RUBY тоже хорош) подойдет куда лучше.

Скритовый тестер можно прикрутить по описанной методе без проблем. Но
хочется максимально просто. smile.gif

Нашлась вот такая штука
http://www.swig.org/

SWIG is a software development tool that connects programs written in
C and C++ with a variety of high-level programming languages. SWIG is
used with different types of languages including common scripting
languages such as Perl, PHP, Python, Tcl, Ruby and PHP. The list of
supported languages also includes non-scripting languages such as C#,
Common Lisp (CLISP, Allegro CL, UFFI), Java, Modula-3 and OCAML. Also
several interpreted and compiled Scheme implementations (Guile,
MzScheme, Chicken) are supported. SWIG is most commonly used to create
high-level interpreted or compiled programming environments, user
interfaces, and as a tool for testing and prototyping C/C++ software.
SWIG can also export its parse tree in the form of XML and Lisp
s-expressions. SWIG may be freely used, distributed, and modified for
commercial and non-commercial use.

http://codeguru.com/csharp/.net/net_asp/sc...cle.php/c11103/
статья по теме

Я пока толком не разобрался, но по доке выглядит просто супер!

Вопросы:

1. Кто-нибудь этот SWIG юзал? Как оно?
2. Какие вообще существуют продвинутые методики проверки С программ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Major
сообщение Jan 30 2006, 17:03
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 375



Забыл...
Чтобы начать рекомендую полистать Алана Купера (кажись так) книга называется "Психбольница", чего-то там в руках пациента. Книга серьезная. Главно прокинуть первые 40-50 страниц мути для убеждения менеджеров что деньги тратить надо.
Весьма повеселит и внесет живость в работу, особенно если приходится общаться с заказчиками и руководить командой. После прочтения проникся к ментору, интерфес для HyperLynx - практически шедевр.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jan 30 2006, 18:21
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(Major @ Jan 30 2006, 20:03) *
...Чтобы начать рекомендую полистать Алана Купера (кажись так) книга называется "Психбольница", чего-то там в руках пациента...
Это?
http://www.bolero.ru/product-36418704.html
Психбольница в руках пациентов
Купер А.
Переплёт: мягкий
Объём: 336 стр.
ISBN: 5932860715
Дата выхода: 2004 г.
Издательство: Символ-Плюс »
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 04:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016