IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Черный/Белый ящики
sheka
сообщение 16.01.2010 21:55
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Подскажите, пожалуйста, что это за принципы. Я таких не нашел.
Понял только, что как бы в Черном - скрыта суть программы, важен только ответ. А как это реализовать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.01.2010 21:59
Сообщение #2


Гость






Цитата
Подскажите, пожалуйста, что это за принципы.
Это принципы отладки программы.

"Черный ящик":
Программа рассматривается, как ящик с непрозрачными стенками. Тот, кто ведет отладку, ничего не знает о том, что там внутри. Он только задает программе входные данные и проверяет, правильны ли выходные данные программы. Идеальный тест методом "черного ящика" должен проверить программу на всех теоретически возможных комбинациях входных данных, но это по большей части просто технически невозможно. Значит, для тестирования следует подобрать "критические" комбинации входных данных, на которых больше всего возможны ошибки, - а это уже требует некоторых допущений о внутренней структуре программы. К тому же, когда ошибка обнаружена, метод "черного ящика" не дает нам возможности ее локализовать - обнаружить, в каком точно месте программы она находится. Значит, подход "черного ящика" более пригоден не для самой отладки, а для внешнего тестирования программы.

"Белый ящик":
Тот, кто ведет отладку, досконально знает внутреннюю структуру программы и ведет отладку по такому плану, который позволяет проверить функциональность программы на всех ветвях ее алгоритма и на всех граничных значениях ее переменных.
 К началу страницы 
+ Ответить 
sheka
сообщение 17.01.2010 2:05
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


volvo, не можешь дать ссылочку "на прочитать и пример"? и, если можно, на примере вот этой программы чёрный ящик объясни что к чему.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.01.2010 2:29
Сообщение #4


Гость






Откуда я знаю, что надо в той теме... Поставил бы автор задачу покорректнее - можно было бы что-то сказать, а так "сделайте мне 'черный ящик'" - это несерьезно...

Цитата
ссылочку "на прочитать и пример"
Если тебя интересует тестирование методом черного ящика - начни отсюда: Тестирование по стратегии чёрного ящика.
 К началу страницы 
+ Ответить 
sheka
сообщение 19.01.2010 0:19
Сообщение #5


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Прочитал статью.
Например, есть такая программа:
 
var i:shortint;
begin
readln(i);
writeln(2*i);
end.


т.е. по методу Черного ящика "Анализ граничных значений" будет происходить так:
сначала подставлю 0. получу 0.
потом подставлю 1. получу 2.
2 - 4.
3-6
4-8.
пойму, что скорее всего, мой Черный ящик увеличивает введеное число в 2 раза.
начну брать какие-то макс значения.
50 - 100.
значит 50 - не максимальное.
100- фигня какая-то - Программа не работает.
возьму меньше 75 - тоже не работает.
ну и так буду перебирать, пока не найду, что мин введеное может быть -127, а макс 128.
Правильно ли я понял как тестировать программу?
Если да, то как это оформлять надо? Т.е. еще какую-то дополнительную программу составить, которая бы это делала?
Икак другими способами, не "Анализом граничных значений" ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.01.2010 0:50
Сообщение #6


Гость






Цитата
ну и так буду перебирать, пока не найду, что мин введеное может быть -127, а макс 128.
Ну, попробуй введи 128. Получишь аварийный вылет. Наоборот, от -128 до +127...

Вот еще хорошая статья: http://www.ibm.com/developerworks/ru/libra...test/index.html (и по ссылкам внизу страницы тоже было бы неплохо пройти)
 К началу страницы 
+ Ответить 
sheka
сообщение 19.01.2010 1:07
Сообщение #7


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(volvo @ 18.01.2010 23:50) *
Наоборот, от -128 до +127...

Перепутал smile.gif
Цитата
аварийный вылет.

А такое бывает? Завтра специально попробую). По моему, обычно отрицательные значения какие-то пишет.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.01.2010 1:16
Сообщение #8


Гость






Цитата
По моему, обычно отрицательные значения какие-то пишет.
Если программа откомпилирована с ключом {$R-}, то будет неправильное значение. Если с {$R+} - то вылет... Ну, или в IDE заходим в Options -> Compiler и ставим все крестики в поле Runtime Errors. Я о Паскале сейчас говорю, раз уж ты привел пример на Паскале. Запускай и отлаживай программы ВСЕГДА со всеми включенными проверками, узнаешь много интересного, и выявишь те ошибки (если они есть, конечно), которые без этих крестиков замалчиваются, и программа работает "через раз"...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.03.2024 20:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"