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

Фотография

Тестирование CAD-систем


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

#1 Siva

Siva

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

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

Отправлено 15 февраля 2010 - 15:27

Помогите - Какие особенности тестирования CAD-систем?
Если знаете, подскажите литературу в этом направлении или любые ресурсы. Не могу найти нормальной проффесиональной литературы конкретно в этой сфере...
  • 0

#2 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 15 февраля 2010 - 21:05

Тестируются они так же, как и любые другие системы. С учетом применяемого в компании подхода.

Литература подойдет любая классическая по тестированию.
  • 0

#3 Siva

Siva

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

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

Отправлено 16 февраля 2010 - 15:37

Тестируются они так же, как и любые другие системы. С учетом применяемого в компании подхода.

Литература подойдет любая классическая по тестированию.

Спасибо за ответ, но

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

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

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

Уж очень меня эти CAD-системы привлекают, не дают мне это покоя. Помогите, кто знает! На что обратить внимание? Я так думаю, здесь особую важность имеет тестирование графического интерфейса... А что еще?
  • 0

#4 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 16 февраля 2010 - 15:53

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

В основном ключевую роль играет предметная область. В данном случае - графика. Соответственно, достаточно большой интерес представляет именно качество отображения. Например/. шрифты должны сглаживаться при масштабировании, чертеж не уезжает никуда при смене масштаба. Отдельная тема - различные графические "артефакты", особенно это характерно для 3Д-моделей. Также, импорт/экспорт файлов. Поддержиываемые форматы.

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

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

#5 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 16 февраля 2010 - 21:36

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

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

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

Но как, например, протестировать такую фичу: при нажатии левой кнопки мыши на 3Д-поверхности наращивается поверхность, при нажатии правой - наоборот.

Как протестировать такую фичу: открываем холодильник - загорается лампочка, закрываем холодильник - лампочка гаснет? Так же, как и любую другую: 1) понять, почему лампочка должна вести себя именно так, 2) найти хорошие оракулы и методы контроля, которые позволят не залезать в холодильник, чтобы увидеть гаснущую лампу. Ну и так далее.

Вариантов решения задачи, в том числе и в тестировании - бесконечное количество. Основная проблема - правильно идентифицировать саму задачу, а это на абстрактном уровне "какая-нибудь CAD-система" не делается.
  • 0

#6 bsod

bsod

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

  • Members
  • Pip
  • 30 сообщений
  • Город:Moscow

Отправлено 16 февраля 2010 - 22:20

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


Думаю, от Вас ожидали услышать что-то типа
1. Нажать на левую кнопку мыши, убедиться, что поверхность наращивается.
2. Нажать на правую кнопку мыши, убедиться, что поверхность уменьшается.
3. Уменьшить поверхность до нуля, нажать на правую кнопку.
4. Нарастить поверхность до границ экрана, нажать на левую кнопку.
и т.д.

Соглашусь с коллегами, подойдет любая умная книжка по тестированию. Все остальное - специфика, которой не учат нигде, и которую вам предстоит постигать именно в этой компании и именно в этой команде.

PS:
"Как положить слона в холодильник? Открыть дверь, поместить слона в камеру, закрыть дверь."
  • 0

#7 Siva

Siva

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

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

Отправлено 17 февраля 2010 - 20:58

Думаю, от Вас ожидали услышать что-то типа
1. Нажать на левую кнопку мыши, убедиться, что поверхность наращивается.
2. Нажать на правую кнопку мыши, убедиться, что поверхность уменьшается.
3. Уменьшить поверхность до нуля, нажать на правую кнопку.
4. Нарастить поверхность до границ экрана, нажать на левую кнопку.
и т.д.

Ну именно с этого я и начала:
-Нажать левую, правую кнопку - типа проверка в нормальных условиях.
-Проверка граничных значений - максимально нарастить поверхность или уменьшить.
-Проверка в исключительных ситуациях - например нажимать сразу две кнопки либо что-то еще с клавиатуры.
На этом мой интервъювер сказал, что я размышляю не как тестировщик, а как обычный пользователь
Потом я пошла дальше... к нагрузочному тестированию - нагрузить эту программку еще чем-нибудь и выполнять эту функцию, причем с большой интенсивностью.
-потом стресс-тестирование.
-на совместимость с разными ОС.
Много там еще всего было... из чего я сделала вывод, что я возможно не знаю каких-то нюансов, которые обязательно должен знать тестировщик СAD-систем.
Но теперь я поняла, что либо я была не последовательна в моих рассуждениях, либо просто не подходила по каким-то другим параметрам...

Соглашусь с коллегами, подойдет любая умная книжка по тестированию. Все остальное - специфика, которой не учат нигде, и которую вам предстоит постигать именно в этой компании и именно в этой команде.

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

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

Хотя я знакома с CAD-системами (делала чертежи 2D, так сказать), но что бы постигнуть все тонкости и сделать свои выводы мне могут понадобиться годы.
Спасибо вам всем за реально практические советы!
Но вопрос еще открыт... мне интересно, может кто-то еще что-то к этому добавит...
  • 0

#8 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 18 февраля 2010 - 12:58

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


да уж, автоматизация графики - аццкая хрень..
Несколько лет тестировал приложение, которое генерировало SWF-файлы с анимацией. Если создавались эти файлы в автоматизированном режиме (благо, было серверное приложение с командной строкой), то проверять результат все равно приходилось в ручную, т.к., во-первых, 100%-ной точности с "образцом" при обработке было сложно добиться, во-вторых, как автоматически проверить анимацию - я до сих пор не знаю :)
  • 0

#9 bsod

bsod

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

  • Members
  • Pip
  • 30 сообщений
  • Город:Moscow

Отправлено 18 февраля 2010 - 13:16

Насчет автоматизации: волею случая имели доступ к некой системе автоматизированного тестирования от Autodesk. Это некоторый внутренний fork их внутренней системы автоматизированного тестирования, предназначенный для сертификации железа на совместимость с продукцией автодосок.

Так вот, сделано у них всё элементарно:
1. Есть библиотека скриптов, которые занимаются построением моделей, их вращением, ресайзом и так далее.
2. Есть библиотека картинок.
3. Есть сравнивалка картинок.

Тестирование построено так:
1. Берется скрипт, выполняется, полученная модель фотографируется и сравнивается с эталонной.
2. Если разница больше определенного процента (вроде 3%, точно не помню), тест считается пройденным.
3. В сторонку откладывается результат, полученная картинка и картинка с разницей.
4. В результате прогона остается отсмотреть глазами картинки с большой разницей и вынести решение о том, приемлема она или нет.

А вы говорите - анимация, нереальная возня...
  • 0

#10 LeshaL

LeshaL

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

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 18 февраля 2010 - 14:17

...как автоматически проверить анимацию - я до сих пор не знаю :)

Наверняка, как-нибудь можно разбить мувик на кадры и сравнивать как фотки. Ясно дело каждый кадр нам не нужен, а нужен каждый N-ный.
Сам никогда не делал, чисто теоретическое измышление.
  • 0
Regards,
Alexey

#11 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 18 февраля 2010 - 14:50

Наверняка, как-нибудь можно разбить мувик на кадры и сравнивать как фотки. Ясно дело каждый кадр нам не нужен, а нужен каждый N-ный.
Сам никогда не делал, чисто теоретическое измышление.

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

#12 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 18 февраля 2010 - 14:54

А вы говорите - анимация, нереальная возня...

со статичными файлами у меня проблем не было, автоматизируются они не так уж сложно, но это не более 15% от всего объема тестирования
  • 0

#13 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 18 февраля 2010 - 16:42

Насчет автоматизации: волею случая имели доступ к некой системе автоматизированного тестирования от Autodesk. Это некоторый внутренний fork их внутренней системы автоматизированного тестирования, предназначенный для сертификации железа на совместимость с продукцией автодосок.

Это тест графической подсистемы компьютера (железа), а не CAD-системы, как я понимаю.
  • 0

#14 airguru

airguru

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

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

Отправлено 19 февраля 2010 - 11:35

"Но вопрос еще открыт... мне интересно, может кто-то еще что-то к этому добавит..."

в CAD\CAM системах построение элементов (не только сложных) основано на алгоритмах и функциях. В простых случая- это зашитые алгоритмы (построение прямой линии), а в сложных - этими алгоритмами (их формированием) управляете вы (например, построение криволинейной поверхности). Если взять, к примеру, случай с криволинейной поверхностью- то в начале вы задаете некую траекторию, вдоль которой будет двигаться некоторый контур, для формирования простой криволинейной поверхности. Если в этом случае просто поменять местами начало и конец контура границы полученной поверхности (без изменения его формы, то есть визуально- все так же)- произойдет скручивание поверхности, при этом скручивании формирование поверхности происходит просчетом по алгоритмам и экстраполиция (до определенных границ, конечно)). Простор для ошибок. Это утрированный пример. Обычно в таком случае все в порядке. Но в более серьезных случаях ошибки\погрешности могут доходить даже до визуального (при сильном увеличении) заметного отсутствия самой поверхности там, где, судя по границам, она должна быть.
Или еще пример- вы привязываетесь к какому-либо участку криволинейной границы\линии. При сильном увеличении можно убедиться, что вы привязались к некоторой точке, которая может даже "не лежать" на этой границе. Все приблизительно.
И таких вариантов- масса. На плоскости- вы строите треугольник, прявязывая концы двух сторон к концам третьей. Потом меняете направление этой третьей стороны. На вид- все так же. Фактически- стороны пересекаются. Немного копнуть- и можно найти багов.
Первые варианты, какие на ум пришли...
  • 0

#15 Siva

Siva

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

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

Отправлено 13 марта 2010 - 22:07

Еще раз благодарю всех за помощь! Я, таки, получила ожидаемую работу:clapping: Теперь буду учиться тестировать CAD-системы на практике и делать свои выводы. Отдельное спасибо за размышления о автоматизации - использовала на собеседовании.
  • 0


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

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