Тестирование кода C с использованием Интернета - PullRequest
4 голосов
/ 30 декабря 2008

У меня есть ряд функций C, которые реализуют математические формулы. До настоящего времени они были проверены на математическую «устойчивость» путем передачи параметров через приложения командной строки или компиляции DLL для таких приложений, как Excel. Есть ли простой способ сделать это тестирование через Интернет?

В идеале что-то вроде:

  • скомпилировать библиотеку
  • потратить пять минут на определение веб-формы, которая вызывает этот код
  • тестеры могут просматривать веб-страницу, вводить параметры и просматривать выходные данные

Простым примером расчета может быть вычисление «начисленных процентов» по ​​облигации:

Входные данные : текущая дата, дата погашения, частота выплаты купонов (целое число), сумма купона (двойная)

Выходы : начисленные проценты (двойные)

Ответы [ 6 ]

6 голосов
/ 30 декабря 2008

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

См. Также: модульное тестирование

1 голос
/ 31 декабря 2008

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

  • Автоматически перезапускать все тесты при изменении программного обеспечения

  • Возможно, обнаружите несоответствия , которые могут возникнуть, если человек даст вам неправильный ответ

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

1 голос
/ 30 декабря 2008

Самое быстрое, что я могу придумать, - это скомпилировать эти C-программы на сервере. И создайте страницу PHP, которая получила параметры командной строки, а затем запустите скомпилированную программу на сервере, проанализировав вывод. Технологии, отличные от PHP, также будут работать просто отлично. Что вам нужно выяснить для конкретной технологии:

  • Как запустить процесс
  • Как перенаправить стандартный ввод / вывод

Я также видел номер веб-сайта, который позволяет пользователям отправлять свой код C, а затем он компилируется на сервере. После этого программе будет дан некоторый входной файл и выведен вывод. Вывод программы затем проверяется с правильным ответом. Например, посетите этот сайт, http://acm.timus.ru/

0 голосов
/ 31 декабря 2008

Это звучит так же, как FIT . Вероятно, вы могли бы сделать новый фиксатор для него или для одного из других языковых портов, таких как Python, который вызывает библиотеку C с вашей функцией. Это позволило бы использовать работу, которая была сделана для того, чтобы сделать FIT удобной, такую ​​работу Норман Рэмси рекомендует в своем ответе.

0 голосов
/ 31 декабря 2008

Это то, что вы ищете:

http://codepad.org/

Он выполнит C, C ++, D, Haskell, Lua и многие другие онлайн и отобразит результаты.

Если у вас есть большая библиотека для компиляции, она может быть громоздкой, но для краткого тестирования функции достаточно просто вставить код и нажать «Submit».

0 голосов
/ 30 декабря 2008

Или аналогичным образом создайте Perl CGI, который проверяет входные значения и затем передает их в C-программу. Кстати, это следует делать только для тестирования, а не для окончательного развертывания.

Вы должны действительно автоматизировать тестирование, чтобы проверить, соответствует ли ваше поведение широкому диапазону значений.

Или вам не следует тестировать это в среде, максимально приближенной к конечной среде развертывания?

ура

Rob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...