![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Serega18 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Начал изучать паскаль модульной структуры и услышал такой термин как заглушки .Как я понял небольшая программа для тестирования процедур при .
Хотелось бы посмотреть какой-нибудь пример. |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Драйверы и заглушки это программы, которые используют для проверки тестовых наборовданных (вобщемдл ятестирвоания).
Драйвер это программа, тестирующая какой-то модуль, (технология восходящего тестирования), то есть программа вызывает например какую-то процедуру из тестируемого модуля ипроверяет входные данные и наболр выходных. А заглушка это программа которая служит для утановки вместо какого-то модуля (тестирование нисходящее). Пример
модуль B
Тогда при тестирвоании нисходящшем, мы начинаем тестысглавнойпрограммы, идолжны сделать заггушку для модуля B, она будет выглядеть так примерно..
ТО есть она уже готовыеданные поставляет, в соотвествии стестом придуманным. А драйвер к модулю B будет таким:
Serega18, а где ты учишься? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Serega18 |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
МЭИ
|
Altair |
![]()
Сообщение
#4
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Апо какой вы книге занимаетесь?
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Просто про это очень хорошо рассказанно в книге
Майерс Г. "Искуство тестирования программ" ... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Serega18 |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задачник(Зубов,Котарова) и пяток методичек. и все
|
Serega18 |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
По ходу дела возник вопрос: у тебя в примере function а если будет procedure
от этого что-нибудь изменится? |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата(Serega18 @ 4.06.05 14:37) а если будет procedure от этого что-нибудь изменится? В общем случае - нет. На процедуру точно так же можно ставить заглушку, но uses A;сделать это с процедурой F уже будет проблематично... ;) |
Serega18 |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
А если б в модуле В было бы условие вроде этого
Код Unit B; Interface function F(x:byte):byte; implementation function f(x:byte):byte; begin if X>5 then f:=x*2; end; end. То в заглушке было бы так? Код Unit B; Interface function F(x:byte):byte; implementation function f(x:byte):byte; begin if x>5 then writeln('подключенна заглугшка'); f:=10; end; end. или останется как и было? |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Да в модуле (в функции) - хоть десяток условий. Заглушка останется такой же. Условия будешь проверять, когда будешь отлаживать саму функцию, а здесь идет отладка главной программы ...
|
Serega18 |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
значит я сначала делаю одну заглушку для основной программы а потом еще n-ое число для всех процедур?
|
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Когда ты переходишь к тестированию функции - делаешь заглушки для всего, что она использует, и на ИЗВЕСТНЫХ наборах данных (ведь заглушка возвращает то, что ты ей сказал вернуть) тестируешь работу этой функции...
|
Serega18 |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код Unit B; Interface function F(x:byte):byte; implementation function f(x:byte):byte; begin writeln('подключенна заглугшка'); f:=10; end; end. 1)В данном примере F:=10 ,а если б была матрица A[i,j] то как это записать? |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Что значит "матрица"? Результат функции? Так Turbo Pascal не позволяет возвращать результаты такого типа.
|
Serega18 |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну например в предыдущей задаче у меня была процедура(поменять местами столбец первый с indx)в результате эта процедура передавала матрицу измененную.В модульной структуре я загоняю ее в модуле В(например). В этом случае как быть?
|
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Procedure change_rows(Var After, Before: matrix); Это тебя чем не устраивает? Пойми, никаких действий в заглушке производить нельзя, на то она и заглушка а не простая функция !!! |
Guest |
![]()
Сообщение
#17
|
Гость ![]() |
Цитата(volvo @ 4.06.05 15:51) Procedure change_rows(Var After, Before: matrix); Это тебя чем не устраивает? Пойми, никаких действий в заглушке производить нельзя, на то она и заглушка а не простая функция !!! А как будет выглядеть заглушка в случае входного данного массива двумерного, а выходного - одномерного массива и флажка? |
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Пример функции приводи, когда что-то спрашиваешь... Я не телепат, догадываться, что имеется в виду...
|
Guest |
![]()
Сообщение
#19
|
Гость ![]() |
Цитата(volvo @ 4.06.05 21:43) Пример функции приводи, когда что-то спрашиваешь... Я не телепат, догадываться, что имеется в виду... В общем в подпрограмме нужно вывести массив одномерный с номерами столбцов матрицы, в которых все эл-ты расположены в порядке возрастания эл-ов. И если такой столбец есть флажку присвоить истину. |
volvo |
![]()
Сообщение
#20
|
Гость ![]() |
Ты заголовок подпрограммы привести можешь?
![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 1:13 |