Перейти к содержимому

Фотография

Технология написания Test Cases...


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 50

#21 daniel

daniel

    Активный участник

  • Members
  • PipPip
  • 127 сообщений

Отправлено 13 июля 2005 - 15:59

кол-во тест-кейсов Вы никогда не ограни4ите, ибо это уж О4ЕНЬ сильно зависит от функциональности приложения и его размеров


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

+ существуют так называемые типы тестов как Smoke Test, Critical Path Test, Extended Test и User Acceptance Test

Полагаю, что даже в данном случае есть набор необходимых и достаточных кейсов.


То есть ваше решение написать тест-кейсы за 2 4аса... (я коне4но не знаю приложения), но явно было опромет4ивым...

Отдельный вопрос, как рассчитывается время для написания кейсов? :)
  • 0

#22 STRAY

STRAY

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • Город:Минск

Отправлено 14 июля 2005 - 10:56

+ существуют так называемые типы тестов как Smoke Test, Critical Path Test, Extended Test и User Acceptance Test

Полагаю, что даже в данном случае есть набор необходимых и достаточных кейсов.


Хм... вообще-то -- данное разделение и подразумевает разли4ную глубину и кол-во тест-кейсов...

P.S.
(только из своего опыта, сорри, если ошибся в формулировке каких-либо вещей...)
Может немного непонятно выразился для некоторых, тогда поясню :friends:
1. Smoke Test - тестирование выпущенного билда приложения для принятия\непринятие на стадию дальнейшего тестирования (обы4но представляет собой функциональную проверку без излишних премудростей аля "лишь бы делало то, 4то должно делать"). Для этого вида теста сценарии пишутся как можно коро4е и не о4ень подробно, в основном покрывая необходимый минимум функциональности...
2. Critical Path Test - полный функциональный тест приложения (если оное прошло Smoke Test) <- уто4нение: иногда, даже если Smoke Test Failed данный вид тестов все равно проводиться, дабы протестировать "то, 4то есть". Особенно это актуально, если времени на тестирование отведено мало... Для данного вида тестирования пишутся наиболее подробные и глубокие тест-кейсы дабы покрыть всю возможную функциональность приложения...
3. Extended Test - тестирование аля "придумай сам". То есть тестируются нестандартные ситуации в приложении, например, ввод спец-символов, нелоги4ное кликанье по кнопкам, открыть одно окно и закрыть предыдущее ну и так далее. Обы4но данный вид тестирования проводиться при нали4ии времени и ресурсов + тест-кейсы для него составляются анналоги4но, их обы4но меньше всего и они могут всегда дополняться (зависит от вашей фантазии)...
4. User Acceptance Test - данный вид тестирования является сборным из выше описанных и представляет собой те тесты, которые с наибольшей вероятностью повторит коне4ный пользователь... Тест-кейсы специально обы4но не пишутся, а просто поме4аются как UA из существующих...

Ну вот, 4то-то на подобии этого...
  • 0

#23 daniel

daniel

    Активный участник

  • Members
  • PipPip
  • 127 сообщений

Отправлено 14 июля 2005 - 13:07

2 STRAY:

Спасибо за ответ (терминология не вызвала затруднений :friends: )! Возможно, я не очень четко сформулировал вопрос.

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

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

#24 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 14 июля 2005 - 13:24

Опять же сошлюсь на только что опубликованную статью: http://software-test...esting_news.htm в качестве конкретного примера того, как построить полный и при этом минимальный набор тестов.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#25 STRAY

STRAY

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • Город:Минск

Отправлено 14 июля 2005 - 15:01

Опять же сошлюсь на только что опубликованную статью: http://software-test...esting_news.htm в качестве конкретного примера того, как построить полный и при этом минимальный набор тестов.

Господин Алексей, про4итал вашу статью... Не отрицая ее (вашей) правоты, опять же повторюсь... в вашем примере все виды тестирования свалены в ку4у, а в большинстве слу4аев их делят. Хотя... сколько работаю разделение везде немного отли4ается под пониманием каждого из видов :friends:

2 Даниель (хм, имя венгерское какое-то, соррь - оффтоп):
Правильно ли я понял?! WYSWYG editor = What You See is What You Get editor? аля абревиатура... и подразумеваете ли Вы под редактором сие 4удо форумов для редактирования сообщений?!
Если ДА, то (в общем виде, а то в нормальном довольно прили4но полу4ится для поста):
Smoke Test может вклю4ать в себя проверку следующего (на с4ет необходимого и достато4ного не уверен ибо никогда не использовал такое разделение):
1. Проверку корректности отправки сообщений (не обязательно проверять все виды аля с цитатой, со смайликами, с линками и так далее)
2. Отработка использования тегов (опять же в общем виде, не надо все теги перебирать и штудировать)
3. Отображения окна смайликов
4. Корректность и поддержка шрифтов (опять же не всех, можно просто по категориям)
5. Проверка корректности предпросмотра сообщения
6. И в таком духе далее... (4то успел навскидку, то написал)
То есть, как я уже говорил, только общие проверки основной функиональности...

P.S.
В своей практике сценарии писал в след виде:
ID - номер сценария + его принадлежность к категории. Например, сценарий для смок теста - S1 (можно указывать тестируемый модуль, если приложение сложное)
STEPS FOR REPRODUCE - шаги сценария
EXPECTED RESULTS - какой должен быть результат
FAILED/PASSED - соответственно рез-т сценария аля прошел\не прошел
COMMENTS - no comments :blush:
  • 0

#26 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 14 июля 2005 - 15:22

to STRAY:
Я написал статью про то, "как сделать полный комплект тестов", а не про то, "как сделать как можно больше тестов за 15 минут". Поэтому у меня вообще отсутствует понятие разделения на некие "этапы" или "виды" тестирования. Тесты в постоенном мною наборе не свалены в кучу, а подчиняются строгой системе.

Знаете, что самое главное, отличающее мой подход от Вашего? У меня нет слов "и в таком духе далее...". Я могу дать гарантию полноты тестового набора. Я могу четко оценить требуемое количество тестов. Я знаю, когда нужно остановиться и больше не делать новых тестов.

Никаких "так далее" не бывает. Тестов нужно сделать ровно столько, сколько нужно, и не более того. Разумеется, если у Вас не "затратная экономика", когда главная цель -- освоить бюджет проекта, такой подход ещё довольно распространен в крупных компаниях.

Мы с Вячеславом уже обсуждали похожий вопрос в частной переписке -- он покритиковал меня за то, что я начал не с "правильных" тестов (то есть тех, которые соответствуют нормальному поведению, а не ошибочным ситуациям). Ответ тот же -- я написал, как построить полный набор, а не "как можно больше тестов за то время, пока босс не прикрыл нашу лавочку".
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#27 STRAY

STRAY

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • Город:Минск

Отправлено 14 июля 2005 - 16:06

to STRAY:
Я написал статью про то, "как сделать полный комплект тестов", а не про то, "как сделать как можно больше тестов за 15 минут". Поэтому у меня вообще отсутствует понятие разделения на некие "этапы" или "виды" тестирования. Тесты в постоенном мною наборе не свалены в кучу, а подчиняются строгой системе.
Знаете, что самое главное, отличающее мой подход от Вашего? У меня нет слов "и в таком духе далее...". Я могу дать гарантию полноты тестового набора. Я могу четко оценить требуемое количество тестов. Я знаю, когда нужно остановиться и больше не делать новых тестов.

Хм... вообще-то перешли на другую тему. Много "Я"...
Господин Алексей, будьте так любезны ответить на прямой вопрос в таком слу4ае:
КАК вы можете оценить требуемое коли4ество тестов???

Вы уж извините, я не собираюсь спорить, 4то ваша теория(практика) лу4ше\хуше или не верна\верна... Просто, IMHO, в огромном проекте она просто недееспособна... 4то вы скажете не просто про проекты, а про целые системы (аля баз знаний с ОГРОМНОЙ бизнесс-логикой)???!

В моем опыте такие были - как вариант, я вообще не представляю такого "сумбурного" (извините, не нашел другого подходящего слова) написания сценариев. А про "и так далее..." я же не пишу в посте реальные сценарии -- просто указал направление, так 4то давайте не будем играть словами!!!

P.S.
Это не "мой" подход -- это всего лишь один из многих вариантов работы... и никто никого не заставляет 4его-либо придерживаться... Все, 4то было описано в предыдущем посте было вариантом ответа на вопросы daniel'а.

Thanks in advance!
  • 0

#28 daniel

daniel

    Активный участник

  • Members
  • PipPip
  • 127 сообщений

Отправлено 14 июля 2005 - 16:09

2 STRAY:

да, я про What You See is What You Get editor. Можно и этого форума...

Вопрос. что будет критерием определения основной функциональности для Smoke Test?

2 barancev:

Алексей, вот именно эта "магия" меня и интересует :friends:

Я могу дать гарантию полноты тестового набора. Я могу четко оценить требуемое количество тестов. Я знаю, когда нужно остановиться и больше не делать новых тестов.


КАК?

В вашем примере с php все более ли менее понятно. А как быть с более сложной системой.

Для WYSWYG editor я бы предложил 2 варианта.
1.
Сделать простую таблицу. В первой колонке по вертикали и в первой по горизонтали сделать списки основной ф-ти и в таблице чекмарками отметить наиболее вероятные сочетания ф-ти.

2. Попробовать разделить ф-ть для текстов, ссылок и картинок (если их можно вставлять в тело поста) и попробовать описать отдельно функциональность для каждого типа.

Какой подход предпочли бы Вы?
  • 0

#29 STRAY

STRAY

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • Город:Минск

Отправлено 14 июля 2005 - 16:16

Вопрос. что будет критерием определения основной функциональности для Smoke Test?

Например, редактор для форума должен отправлять сообщения на форум... Это его прямая функциональность (если он этого не может, то дальнейшие тесты не имеют смысле, верно?!)
А теперь возьмите более сложное приложение, каковыми и вляются реальные проекты, они состоят из нескольких таких "примеров" - если большинство из них и дает отрицательный рез-т, то и тестировать дальше такой билд приложения не имеет большого смысла. Обы4но такое разделение на основную функциональность довольно условное, так как сильно зависит от требований (requirements)...
  • 0

#30 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 15 июля 2005 - 07:38

Сначала ответы STRAY'ю (впрочем, больше я в этом топике предлагаю мою статью не обсуждать, а перенести дискуссию в соответствующую ветку).

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

Далее. Ничего плохого не хочу сказать про предложенный Вами подход (не буду больше называеть его Вашим :blush:) Хороший подход. Просто другой. Садимся и начинаем делать тесты, пока не устанем. Это основа exploratory testing, и, как известно, большинство ошибок находится именно таким способом. Но этот подход не позволяет построить полный комплект тестов, поскольку он не имеет такой цели. А я поставил именно такую цель. В этом разница.

Теперь про масштабируемость и про границы применимости. Сначала цитата из Вашего сообщения:

Вы уж извините, я не собираюсь спорить, 4то ваша теория(практика) лу4ше\хуше или не верна\верна... Просто, IMHO, в огромном проекте она просто недееспособна... 4то вы скажете не просто про проекты, а про целые системы (аля баз знаний с ОГРОМНОЙ бизнесс-логикой)???!

Теперь цитата из статьи:

Я не буду пространно излагать теорию, все эссе будут оформлены в виде учебных примеров, показывающих, как та или иная техника или комбинация техник применяется в конкретной ситуации.
Первое эссе посвящено тому, как я тестировал простейшее веб-приложение — скрипт, предназначенный для формирования страничек новостей на нашем сервере (http://software-testing.ru/news/).

Понимаете? Конкретный пример, а не теория. Простейший учебный пример, а не гигантские стистемы. Неужели Вы думаете, что я буду пытаться выдавать технику, применимую для тестирования PHP-скрипта (да ещё и без состояния, совершеннейший тривиум!), за универсальный метод, применимый ко всем типам систем? Вот Вам ответ на Ваш вопрос: да, тестировать большую систему так, как я тестировал генератор страничек новостей не получится. А Вы что ожидали?

Не ищите в моих статьях откровений, думаете, можно на одной-двух странцах сказать ТАКОЕ, для чего классикам не хватило места в тысячестраничных монографиях? Придумать универсальный метод, который работает ВСЕГДА? Мечта о чуде -- неотъемлемое свойство человеческой натуры. Но к счастью мир устроен не так просто, иначе он был бы скучен. :friends:
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#31 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 15 июля 2005 - 07:50

STRAY & Алексей,
иногда интересно наблюдать полемику со стороны. :friends:

Вы говорите о разных гранях одной проблемы (в большей степени это относится к STRAY).

Вопрос на который дает ответ Алексей:
Каким образом создать полный набор тест кейсов?

STRAY, в свою очередь, отвечает на вопрос:
В какой последовательности следует выполнять тест кейсы, что бы добиться максимальной эффективности тестирования?

Про полноту тестирования я хотел бы добавить еще один пункт в структуру, предложенную Алексеем.

Цитата:
"Таки да, алгоритм. Очень простой.
1) Восстанавливаем требования, если их нет.
2) Пишем тесты, покрывающие требования."

3) Готовим классы тестовых данных для каждого тест кейса.
  • 0
Гринкевич Сергей

#32 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 15 июля 2005 - 07:59

Вы уж извините, я не собираюсь спорить, 4то ваша теория(практика) лу4ше\хуше или не верна\верна... Просто, IMHO, в огромном проекте она просто недееспособна... 4то вы скажете не просто про проекты, а про целые системы (аля баз знаний с ОГРОМНОЙ бизнесс-логикой)???!


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

Только в этом случае Вы можете гарантировать полноту тестирования требований к системе.

Если же вы за точку отсчета выбираете окна приложения, то Вам нужно составить ПОЛНЫЙ список всех окон. Затем написать тест кейсы для тестирования каждого окна. В этом случае Вы сможете оценить полноту тестирования окон приложения.

Тот же подход можно применить для всех контролов управления приложения, для всех функций пользовательского интерфейса, для всех функций программного интерфейса и т.д. Но оценить полноту можно только сравнивая ЧАСТЬ с ЦЕЛЫМ. Если у Вас нет данных о целом, то не может идти речи об анализе полноты.
  • 0
Гринкевич Сергей

#33 Spy

Spy

    Опытный участник

  • Members
  • PipPipPipPip
  • 378 сообщений
  • ФИО:Полаженко Сергей Владимирович
  • Город:Minsk, Belarus

Отправлено 15 июля 2005 - 08:11

Я могу дать гарантию полноты тестового набора. Я могу четко оценить требуемое количество тестов. Я знаю, когда нужно остановиться и больше не делать новых тестов.


Эх, а я вот таких гарантий бы не дал.
я вызываю стандартные функции ОС (ну или PHP в случае тестирования новостей), а уверен ли я в адекватности поведения этих функций, а вдруг при значении 5 - функция пойдёт погулять? А тот же PHP может быть на разных ОСях, под разными Веб-серверами (однако это не к функциональным требованиям, - но просто до гарантий ещё ох, как далеко).
Я понимаю, что мы ответственности за реализацию функций ОС не несём. Но пользователю на это по... Если поведение системы не совпадает с его ожиданиями, значит МЫ сделали галимый тул.

По любому получается, что даже тот набор тестов, что вы, Алексей, предложили в статье является частичным. Хотя вы приложили усилия для обеспечения его полноты.

Другое дело, если бы у нас были гарантии на среду выполнения. И у нас была бы формальная, точная спецификация поведения функций (хотя бы - просто их код), то пожалуй, можно было бы обнаружить, что тул будет по разному вести себя на Win2k Prof и Win2k Server.
  • 0
Полаженко Сергей, проект "Тестирование безопасности"
IT-конференции: www.it-conf.ru
IT-тренинги в Беларуси: www.it-study.by

#34 STRAY

STRAY

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • Город:Минск

Отправлено 15 июля 2005 - 08:16

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

Хм, господин Сергей, и 4асто у вас слу4аются проекты, в которых есть готовый Final BaseLine требований??? Я работал на одну из ведущих компаний в области обеспе4ения ка4ества и только огромные проекты имели "4то-то" похожее на такой набор требований + он постоянно уто4нялся и дополнялся\изменялся...
IMHO, можно выдвигать разли4ные теории (которых, наверно, и так уже хватает, и мне не известна даже их половина (скорее всего)), но действительность о4ень далека от этих теорий... Сие только из моего опыта, если же у Вас действительно ведутся проекты, попадающие под ваши требования работы с ними, то мне остается только "позавидовать" вашим условиям :blush:

Далее... меня как раз интересовал вопрос про полноту... ответа на ОПРЕДЕЛЕНИЕ полноты покрытия требований сценариями я пока не увидел... (может спал, когда форум открыл...)
Хм... ладно calm down, всё, судя по подписям Вы о4ень образованные люди в сией профессии, потому у4итывая ваш НАМНОГО (судя по всему) больший опыт - у4ту и ваши.... как бы это выразиться... скажем так... "теории"!
:friends:
  • 0

#35 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 15 июля 2005 - 08:27

Давайте вернемся к первоначальной постановке задачи.

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

Просмотр сообщения

Давайте, в самом деле, возьмём не неизвестный WYSIWIG-редактор, а редактор этого форума. Вот в котором я сейчас пишу сообщение.

Что считать для него Smoke, а что уже не-Smoke -- думаю, никто не сможет чётко ответить. Это понятие скорее управленческое, обозначающее разные этапы процесса тестирования. Использовать его в технических целях совершенно невозможно.

Поэтому поищем что-нибудь более конкретное.

Что можно делать в этом редакторе?
Рассмотрим только часть функциональности, не связанную с отправкой данных на сервер (и ее не так уж мало).
(1) Можно в окне ввода писать текст.
(2) Вверху есть панель, на ней несколько кнопок, вставляющих в окно ввода некоторый текст.
(3) Слева вверху есть переключатель режимов, который изменяет набор кнопок на верхней панели.
(3) Слева есть кнопки, вставляющие смайлики.
(4) Слева под смайликами есть кнопка для проверки длины сообщения.

Это SRS, первый уровень детализации. Теперь расписываем каждый пункт более детально. Скажем, второй:
(2.1) Кнопка B показывает диалоговое окно с полем ввода и вставляет введенный текст в редактор, окружая его текст тегами B
(2.2) Кнопка I ...
(2.3) Кнопка U ...
(2.4) Меню выбора шрифта ...
...
(2.10) Кнопка CODE ...

После этого отмечаем, что некоторые кнопки, вставляя текст, соблюдают баланс тегов, а некоторые те соблюдают, вставляя только открывающий тег. Поэтому дописываем в SRS соответствующие требования:
(2.1) Кнопка B показывает диалоговое окно с полем ввода и вставляет введенный текст в редактор, окружая его текст тегами B, при этом баланс тегов не изменяется.
...
(2.4) Меню выбора шрифта ..., при этом баланс тегов увеличивается на единицу.
...
(2.10) Кнопка CODE ..., при этом баланс тегов не изменяется.

Теперь про последнюю кнопку (которая, в отличие от остальных почему-то оформлена как ссылка):
(2.11) Кнопка (ссылка) "Закрыть все тэги" вставляет закрывающие теги для всех незакрытых открывающих тегов, при этом баланс тегов становится равным нулю.

И ещё одно требование:
(2.12) В поле "Количество открытых тэгов" показывается текущий баланс тегов, значение этого поля должно меняться при изменении баланса тегов.

Детализации требований пока достаточно. Теперь обратимся к тестированию.

Сначала пишем план. Что будем тестировать, а что не будем.

Тестируем:
-- верхнюю панель кнопок при нажатии на них мышкой или при использовании клавиатурных сочетаний (keyboard shortcuts)

Не тестируем:
-- все остальные панели
-- переключатель режимов верхней панели
-- функциональность, связанную с отправкой данных на сервер
-- нефункциональные требования, в том числе юзабилити (помните ещё про кнопку, которая почему-то ссылка? мы это не тестируем!)

После того, как "стены" поставлены, можно посчитать, что попало внутрь этих стен. Если плана тестирования нет -- вообще ничего нельзя посчитать, потому что нет никаких границ, тесты можно создавать до бесконечности, тут STRAY совершенно прав.

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

Например, для кнопки B -- "привет", "привет", "привет", "привет", "", "!@#$%%^&*(){}[]". Пока достаточно. Поулчается 6. Кнопок 10. В итоге должно получиться порядка 60 тестов для вставки текста.

Для клавиатурых сочетаний достаточно убедиться, что они работают, поэтому добавляем по одному тесту, получается ещё +10, итого 70.

Более внимательно изучив требования к отдельным кнопкам можно эту оценку уточнить. Например, кнопка для вставки ссылки имеет два поля ввода, а не одно. Зато кнопки изменения шрифта, размера и цвета вообще не имеют параметров. Если нужна более точная оценка -- нужно это учесть.

Ну, а дальше начинаем делать тесты. Не забываем в каждом тесте сделать проверку того, что правильно считается баланс тегов, в том числе при вводе текста, содержащего теги.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#36 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 15 июля 2005 - 08:43

Я могу дать гарантию полноты тестового набора. Я могу четко оценить требуемое количество тестов. Я знаю, когда нужно остановиться и больше не делать новых тестов.


Эх, а я вот таких гарантий бы не дал.
я вызываю стандартные функции ОС (ну или PHP в случае тестирования новостей), а уверен ли я в адекватности поведения этих функций, а вдруг при значении 5 - функция пойдёт погулять? А тот же PHP может быть на разных ОСях, под разными Веб-серверами (однако это не к функциональным требованиям, - но просто до гарантий ещё ох, как далеко).
Я понимаю, что мы ответственности за реализацию функций ОС не несём. Но пользователю на это по... Если поведение системы не совпадает с его ожиданиями, значит МЫ сделали галимый тул.

По любому получается, что даже тот набор тестов, что вы, Алексей, предложили в статье является частичным. Хотя вы приложили усилия для обеспечения его полноты.

Другое дело, если бы у нас были гарантии на среду выполнения. И у нас была бы формальная, точная спецификация поведения функций (хотя бы - просто их код), то пожалуй, можно было бы обнаружить, что тул будет по разному вести себя на Win2k Prof и Win2k Server.

Просмотр сообщения

Абсолютно полное тестирование невозможно. Это непреложный факт.

Всегда приходится исходить из некоторых предположений, гипотез о распределении ошибок.

Да, если функция всегда ведет себя правильно, а в одной точке (в результате работы диверсантов) -- неправильно, такую ошибку найти средствами тестирования практически невозможно (если только не наткнуться случайно). Нужно применять другие методы -- анализ кода, формальная верификация его правильности.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#37 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 15 июля 2005 - 08:46

Хм, господин Сергей, и 4асто у вас слу4аются проекты, в которых есть готовый Final BaseLine требований??? Я работал на одну из ведущих компаний в области обеспе4ения ка4ества и только огромные проекты имели "4то-то" похожее на такой набор требований + он постоянно уто4нялся и дополнялся\изменялся...

Просмотр сообщения

А зачем нужен именно Final BaseLine? Какие есть требования -- из тех и исходим. Никаких нет -- пытаемся восстановить. Меняются требования -- соответственно и тесты меняются. Что в этом странного?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#38 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 15 июля 2005 - 08:49

Далее... меня как раз интересовал вопрос про полноту... ответа на ОПРЕДЕЛЕНИЕ полноты покрытия требований сценариями я пока не увидел...

Просмотр сообщения

Можно ещё раз этот вопрос сформулировать. Я что-то не уловил суть :friends:
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#39 0xhh

0xhh

    Новый участник

  • Members
  • Pip
  • 27 сообщений

Отправлено 15 июля 2005 - 09:02

Опять же сошлюсь на только что опубликованную статью: http://software-test...esting_news.htm в качестве конкретного примера того, как построить полный и при этом минимальный набор тестов.

Просмотр сообщения



Не нравится мне этот полный набор тестов. Не всё учтено.

Почему не тестируется генерация списка нескольких последних новостей? Если база отвалилась, нету доступа или нету достаточно сообщений (<10)?

По поводу тестирование параметра topic.

1) topic без значения
2) дробь
3) mysql query hacking. При передаче значения topic в mysql query передаётся он напрямую или используются обёртки в php скрипте.
  • 0

#40 STRAY

STRAY

    Новый участник

  • Members
  • Pip
  • 59 сообщений
  • Город:Минск

Отправлено 15 июля 2005 - 09:07

to STRAY:
...
Я могу дать гарантию полноты тестового набора. Я могу четко оценить требуемое количество тестов.
...


Господин Алексей, будьте так любезны ответить на прямой вопрос в таком слу4ае:
КАК вы можете оценить требуемое коли4ество тестов???

Нау4ите "танцам с бубнами" :friends: ?!

А зачем нужен именно Final BaseLine? Какие есть требования -- из тех и исходим. Никаких нет -- пытаемся восстановить. Меняются требования -- соответственно и тесты меняются. Что в этом странного?

Именно так и делают (и мы в том же 4исле)...
Подразумевался слу4ай (4астый, зараза, какой-то), когда приходят проекты, в которых больше вопросов и неясностей, 4ем конкретики... А если сценарии создаются в специализированных средах (Rational Rose, Sparx Enterprise Architect), а не Ексель-подобные, то вопрос о переделке сценариев на4инает весить наааааамного больше, так как занимает куда больше времени...
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных