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

Фотография

Вопрос про классы эквивалентности на CD


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

#21 barancev

barancev

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

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


Отправлено 08 декабря 2010 - 20:49

Если будет сложно, я вам видео-шоу от Алексея Баранцева на эту тему подкину.

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

#22 Clauster

Clauster

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

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 08 декабря 2010 - 21:59


Числовые множества это и есть класс эквивалентности.

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

Да, вы правы. У меня уже просто мозг видимо по-другому работает, я даже не замечаю когда на классы разбиваю, уже и подзабыл что есть что в теории. Поверхность диска я бы разбил на классы, т.к. есть обычный диск, мини-диск, обратная сторона диска, я ещё использовал как-то абсолютно черный диск и т.д.
На самом деле задание с одной стороны простое, а с другой требует каких-то знаний предметной области, я например, не могу сходу сказать в чем разница +R и -R и как этот факт использовать для разбиения по классам.
  • 0

#23 OVA

OVA

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

  • Members
  • PipPipPipPip
  • 405 сообщений
  • ФИО:Высоцкий Сергей Павлович
  • Город:Новосибирск

Отправлено 09 декабря 2010 - 04:35

Для ввода и/или вывода.
Берем каждое условие для ввода и/или вывода описанное в спецификации и определяем по меньшей мере два класса:
1. Один класс удовлетворяющий условиям - валидный
2. Второй класс не удовлетворяющий условиям - не валидный

Остальное уже детали и дефекты самого метода)


Сложный вариант:
Если Ы область значений, то нам нужно основываясь на спецификации определить классы C(i) так, что их объединение будет равняться Ы, а пересечение любых двух таких классов будет равно пустому множеству.


Поверхность диска я бы разбил на классы, т.к. есть обычный диск, мини-диск, обратная сторона диска, я ещё использовал как-то абсолютно черный диск и т.д.
На самом деле задание с одной стороны простое, а с другой требует каких-то знаний предметной области, я например, не могу сходу сказать в чем разница +R и -R и как этот факт использовать для разбиения по классам.

Я просто не уверен что задавшие эту задачу люди хотят чтобы указали вообще все возможные классы для всех возможных вариантов ввода. Просто потому что это много. 2-3 (1-2?) примера и сказать что "а еще можно вот тут, тут и тут задать" на мой взгляд более чем достаточно в качестве ответа.
Задача у собеседующего, наверняка, не узнать насколько хорошо человек знает предметную область по части записи болванок, а узнать способен ли человек выполнить разбитие на классы. Ну и на мой взгляд люди пытающиеся вот так вот сходу составить "тестплан всего" не очень заслуживают доверия.
  • 0

#24 astenix

astenix

    Специалист

  • Members
  • PipPipPipPipPip
  • 906 сообщений
  • ФИО:Лёша Лупан
  • Город:Кишинев


Отправлено 09 декабря 2010 - 08:23

в чем разница +R и -R и как этот факт использовать для разбиения по классам.

-R - первый стандарт,
+R - второй стандарт.

Когда появились диски +R, все еще существовали устройства, которые могли считывать только диски формата -R, поэтому "первый" стандарт еще бытовал долгое время. Почему он и сейчас существует - в некоторых регионах планеты диски -R дешевле, а для современных дисководов разницы в чтении этих форматов нет.
  • 0

Software Testing Glossary - простыми словами о непростых словах.


#25 Miaka

Miaka

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Елена


Отправлено 09 декабря 2010 - 10:02

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

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

Да вроде задачи составить тестплан всего не стоит.
  • 0

#26 astenix

astenix

    Специалист

  • Members
  • PipPipPipPipPip
  • 906 сообщений
  • ФИО:Лёша Лупан
  • Город:Кишинев


Отправлено 09 декабря 2010 - 10:36

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


А там действительно все просто, ЕСЛИ вы понимаете терминологию, а не падает в дебри вроде "Если Ы область значений, то нужно определить классы C(i) так, что их объединение будет равняться Ы..." - респект коллеге, я бы застрелился от таки наворотов :)

Похоже, что вы в дебрях.
  • 0

Software Testing Glossary - простыми словами о непростых словах.


#27 Clauster

Clauster

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

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 09 декабря 2010 - 17:42

Я просто не уверен что задавшие эту задачу люди хотят чтобы указали вообще все возможные классы для всех возможных вариантов ввода. Просто потому что это много. 2-3 (1-2?) примера и сказать что "а еще можно вот тут, тут и тут задать" на мой взгляд более чем достаточно в качестве ответа.
Задача у собеседующего, наверняка, не узнать насколько хорошо человек знает предметную область по части записи болванок, а узнать способен ли человек выполнить разбитие на классы. Ну и на мой взгляд люди пытающиеся вот так вот сходу составить "тестплан всего" не очень заслуживают доверия.

А я например не очень доверяю людям, которые делают безапелляционные заявления. :)
Лично мне на собеседовании больше интересно как человек думает, нежели то, умеет он или нет разбивать на классы, т.к. этому можно научить тут же на собеседовании за несколько минут. И тут уже двумя-тремя примерами явно не обойтись, но и все возможные варианты никто не требует найти. С другой стороны, никогда заранее неизвестно, что хочет услышать интервьювер, меня как-то раз вообще попросили перечислить 30 деревьев.
  • 0

#28 Miaka

Miaka

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Елена


Отправлено 09 декабря 2010 - 17:57

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

Лучше перечислить 5 птиц на букву "У". (Задание для первого класса, кстати.) :victory:

Интервьютер ничего не услышит - это задание было письменным. Заданий куча и требуется (скорее всего, ибо иначе "война и мир" получится) максимально краткие ответы на вопросы. Думаю, описание одного класса дискового пространства с его граничными значениями будет более чем достаточно.
  • 0

#29 OVA

OVA

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

  • Members
  • PipPipPipPip
  • 405 сообщений
  • ФИО:Высоцкий Сергей Павлович
  • Город:Новосибирск

Отправлено 09 декабря 2010 - 18:03

А я например не очень доверяю людям, которые делают безапелляционные заявления. :)
Лично мне на собеседовании больше интересно как человек думает, нежели то, умеет он или нет разбивать на классы, т.к. этому можно научить тут же на собеседовании за несколько минут. И тут уже двумя-тремя примерами явно не обойтись, но и все возможные варианты никто не требует найти. С другой стороны, никогда заранее неизвестно, что хочет услышать интервьювер, меня как-то раз вообще попросили перечислить 30 деревьев.

Ну тут за пару дней вроде не то чтобы не научили, а несколько запутали человека. Это к слову о "научить за 5 минут".
Но вообще очень многое зависит от задачи которую пытается выполнить собеседующий. Не всегда можно позволить себе искать человека который "классно думает" и не всегда можно позволить себе "научить его" всему что требуется.

Думаю, описание одного класса дискового пространства будет более чем достаточно.

Формально это не один класс, а по меньшей мере два - больше и меньше размера диска. Но умалчивать о том что это не все я бы все же не стал - напишите еще один-полтора. Можно не очень подробно. Можно просто вскользь упомянуть что они есть.
  • 0

#30 Miaka

Miaka

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Елена


Отправлено 09 декабря 2010 - 19:02

Формально это не один класс, а по меньшей мере два - больше и меньше размера диска. Но умалчивать о том что это не все я бы все же не стал - напишите еще один-полтора. Можно не очень подробно. Можно просто вскользь упомянуть что они есть.

Думаю, вы правы.
Спасибо за совет.
  • 0

#31 barancev

barancev

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

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


Отправлено 09 декабря 2010 - 20:46

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

#32 Natalya Rukol

Natalya Rukol

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

  • Admin
  • PipPipPipPipPipPip
  • 2 001 сообщений
  • Город:Moscow


Отправлено 10 декабря 2010 - 00:04

Всем привет!

Такое ощущение, что все вместо ответа на вопрос стараются показать себя экспертами в вопросе, но боятся ошибиться. Поэтому рассказывают про мам, карточки...

Miaka, давайте начнём с классов эквивалентности. Зачем и кто вообще придумал эту штуку?

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

Благодаря технике деления значений на классы эквивалентности, мы отбрасываем те тесты, которые считаем для себя ЭКВИВАЛЕНТНЫМИ. Мы могли бы записывать на диск 1 Мб, 2 Мб, 3 Мб... Но зачем? Некоторые тесты мы можем считать эквивалентными, и выбрать из них только часть.

Давайте начнём с другого примера. Пусть это будет пример про грузовики.
Изображение

На мосту написано, что ограничение по высоте - 4,5м.
Это значит, что грузовик 4,5 должен пройти. Грузовик меньше тоже пройдёт. Грузовик больше - нет.
Нам надо протестировать этот мост на реальных грузовиках.

Мы можем отправить под мост 3-метровый грузовик, 4-метровый грузовик... Но зачем? Давайте сразу отправим 4,5.
Если он НЕ прошёл - это ДЕФЕКТ, несоответствие декларируемому.
А если прошёл?
Значит, 4 м тоже пройдёт! И 3 м тоже пройдёт! И 2 м тоже пройдёт!!

Получается, 2, 3 и 4-метровые грузовики ЭКВИВАЛЕНТНЫ. ВСЕ грузовики, которые меньше этого размера, точно пройдут.

А что с грузовиками выше? Давайте возьмём грузовик высотой 4,51м. Если он НЕ проходит, то это корректно. Значит, 4,55 и 5 и 10 метров тоже не пройдут. Проходит - будем исследовать.

В этом примере, нам чётко видны и классы эквивалентности и граничные значения.
Все грузовики высотой не больше 4,5м входят в класс "проходящих под мостом", а все которые выше, попадают в класс "непроходящие под мостом".

А где тут граничные значения?

Наибольшая эффективность тестирования достигается на границах. Проверив 4,5, мы можем не проверять грузовики ниже. А вот если проверим 3, то нас будут ожидать ещё проверки... Получается, границы - это места наибольших/наименьших допустимых значений. И тестирование "на границах" - это тестирование допустимого значения + минимально возможного отклонения.

Вернёмся к записи на CD. Представим её на картинке.
Изображение
Есть некий МИНИМУМ. Я понятия не имею, какие там ФС и минимальные блоки данных. Но для простоты будем считать, 1 Кб.
Есть МАКСИМУМ. Он известен нам из задачи - 700 Мб.

Получается, успешно должны операции записи от 1 кб до 700 мб. => Все значения в этом диапазоне (1кб-700мб включительно) ЭКВИВАЛЕНТНЫ, т.е. входят в один класс.

Miaka, я уверена, что после этого объяснения Вы сможете правильно назвать конкретные тесты.
Итак, значения в студию!
  • 0

#33 OVA

OVA

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

  • Members
  • PipPipPipPip
  • 405 сообщений
  • ФИО:Высоцкий Сергей Павлович
  • Город:Новосибирск

Отправлено 10 декабря 2010 - 04:44

Тут просто г-н astenix в четвертом посте темы предложил прямо ответ на задачу не давать.

И да, еще бы область значений корректно задать. Она тут будет от 0 (отрицательное количество отсутствует, а вот "ничего" мы вполне можем попробовать отправить на запись) до +бесконечности. То есть если внимательно присмотреться то три класса получается, потому как ситуацию когда нам ничего не приходит на запись мы так же должны корректно обрабатывать. Только тут встает вопрос - "ничего" это валидное значение на запись или нет? Если да, то вы его зря не включили в диапазон позитивно эквивалентных значений. Если нет, то все нормально. Другое дело что оба ответа на вопрос могут быть правильными.
  • 0

#34 ch_ip

ch_ip

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

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 10 декабря 2010 - 07:42


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

Лучше перечислить 5 птиц на букву "У". (Задание для первого класса, кстати.) :victory:

По мне так деревья сильно проще, чем птички. Деревьев за 10 минут накидал штук под сорок, а птичек больше двух придумать не смог. :sad:
  • 0

#35 ch_ip

ch_ip

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

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 10 декабря 2010 - 07:43

Кто готов поучаствовать в таком эксперименте?

Можно попробовать
  • 0

#36 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 10 декабря 2010 - 07:51

А я считаю что всё равно нужно читать спецификации.
http://www.osta.org/...logy/cdqa14.htm
про граничные значения я бы добавил по другому.
размер больше нуля меньше минимального размера кластера для используемой FS на диске
размер минимального кластера FS на диске
несколько заполненных кластеров и один не заполненный.
дорожка котороя будет записыватся с начала,
дорожка которая будет записыватся не с начала...
дорожки которые будут записыватся с разрывом,
ЕСЛИ размер записываемой информации будет совпадать с максимально доступным на диске - но во время записи на диске оказались области в которые запись не может быть осуществлена,... можно пол-дня придумывать.

а вы говорите, меньше кБ и больше 700...

Без достаточно детальных знаний о структуре диска думаю что никак. Или очень в общей форме в виде "покупатель заказывает в корзине товар, оплачивет покупку, ОР = все счастливы все довольны".
  • 0

#37 Miaka

Miaka

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Елена


Отправлено 10 декабря 2010 - 08:23

Natalya Rukol
Спасибо за объяснение. Все очень понятно.

В разрезе диска у нас есть 2 класса (ну еще 0MB можем считать третьим) - от 1б до 700мб - класс допустимых значений и свыше 700мб - недопустимых значений.
Граничные значения - 1б и 700мб (из допустимых) и 0 и 701мб из недопустимых. (все-таки минимально-доступный для записи "кусочек" - байт, меньше нельзя - больше можно).

Просто в данном случае как раз "опыт" сыграл отрицательно - слишком много дисков записала в свое время и могу сказать, что попытка записать 700мб на диск скорее всего закончится провалом - система потребует какое-то количество байтиков под свои нужды, если их не будет - запись не удастся, если будет - получается на диске больше чем 700мб (собственно в реале так и есть). Тоже самое с 1б - байт конечно запишет, но приплюсует n-байтов файловой системы. Мне кажется, что для проведения тестов неплохо учитывать сколько максимально и минимально система "оттяпывает" под свои нужды. Тогда тестов будет несколько больше и классов эквивалентности (думается мне) - тоже.
Это уже не говоря о том, что диск можно записывать в несколько этапов и тогда доступно для записи будет солидно меньше 700мб.

P.S. И да - это учитывая, что внутри дискового пространства нет битых кластеров. Думаю в данной задаче битые кластеры все-таки не подразумевались.
  • 0

#38 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 10 декабря 2010 - 08:36

"система потребует какое-то количество байтиков под свои нужды"

-вот обычно дьявол в таких условиях и прячется при формулировании начальных условий.
  • 0

#39 Фрося

Фрося

    Специалист

  • Members
  • PipPipPipPipPip
  • 514 сообщений
  • ФИО:Радилова Елена Игоревна

Отправлено 10 декабря 2010 - 08:50

Пользуясь тем, что здесь идет обсуждение классов эквивалентности.
У меня тоже вопрос.
Ежели тестировщик НЕ ЗНАЕТ, какое требование к ПО или не знает - как реализовано в ПО, можно ж в некоторых (особых, ес-но) случаях нарваться. И не проверить должным образом.
Вопрос, собственно в том, можно ли было как-то упростить тестирование, использовав классы эквивалентности, в ниже приведенном примере?
И как не имея информации (требования и текст программ) тестировщик мог достойно провести тестирование?

Как пример (из жизни).
К параметру Х надо прибавить значение delta_X из таблицы, т.е Х + delta_X.
Вариантов таблицы - ну пусть три. Таблица №1, Таблица №2, Таблица №3.
Причем delta_X определяется по значению двух параметров (Х и Y).
В ПО эти таблицы перенесены вручную из первоначальных документов.

В общем. Сидел наш тестировщик и проверял ВСЕ таблицы.
Сначала - задавая значения Х, и смотря что будет на выходе, т.е. какое значение Х + delta_X.
После третьего подхода - плюнул.
Потребовал, чтоб объяснили - как в ПО таблицы выглядят.
Потом - взял листинг и ИСПРАВИЛ прямо в исходниках красным маркером неверные цифры. Чтоб программисту легче было....

Вот-с. Пятничная история.
До сих пор считаю - что правильно сделал тестировщик.

ПС.
Ах да.
Таблицы совершенно не поддавались какой либо формализации...
Ввод таблиц произвести иным способом, кроме как вручную, никак нельзя было.
  • 0
Почему-то по пятницам особо остро хочется быть блондинкой....

#40 ch_ip

ch_ip

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

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 10 декабря 2010 - 09:00

Смешались кони, люди...
Мне кажется, что стоит разделить 2 вещи: параметры, которые могут влиять на процесс, подлежащий тестированию(запись на диск) и классы эквивалентности для данных, с помощью которых может быть протестирован тот или иной параметр.
  • Объем записываемой информации
  • Файловая система
  • Количество файлов
  • Размер отдельного файла / общий размер файлов / размер занимаемого дискового пространства на источнике, откуда производится запись
  • Имена и пути
  • Количество сессий записи
  • Завершаем диск или нет
  • Тип болванок (Обычные и перезаписываемые)
  • Качество болванок (Новые/поцарапанные/полежавшие летом на солнечном подоконнике или сходившие в экспедицию на северный полюс)
  • Производитель болванок / приводов
  • и.т.д.

Вот это все вышеперечисленное — это параметры. Классы эквивалентности для каждого параметра свои.
Если ограничиться параметром "общий объем записываемой информации", то выделить эквивалентности и граничные значения будет достаточно просто.
  • 0


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

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