¬аше окно в мир —јѕ–
 
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

1 марта 2017

 ќћѕј—-3D v17 готовитс€ к встрече: обещанна€ —јѕ–-революци€ состоитс€

ѕо просьбе компании ј— ќЌ воспроизводим материал, недавно опубликованный на сайте компании под заголовком Ђ онтроль качества: как мы тестируем  ќћѕј—ї
¬ €нваре завершилось открытое бета-тестирование  ќћѕј—-3D v17, в котором прин€ли участие более 1500 пользователей. Ќо до выпуска финального релиза в систему еще внос€тс€ изменени€, а это значит, что тестирование продолжаетс€. ќ том, какие испытани€ проходит новый  ќћѕј—-3D, прежде чем попасть к инженерам, читайте в репортаже из ÷ентра разработки ј— ќЌ в  оломне.

 аждой новой версии предстоит преодолеть несколько этапов тестировани€, в котором принимает участие практически вс€ команда  ќћѕј—. ѕрограммисты создают юнит-тесты на вновь написанный код. јналитики провод€т юзабилити-тестирование. √руппа автоматизированного тестировани€ разрабатывает сценарии с применением пользовательского интерфейса, API и специальных тестовых функций (кстати, дл€ проверки  ќћѕј—-3D v17 был разработан совершенно новый инструмент автоматизированного тестировани€ Ч Ђћагнитофонї). Ёта же команда отвечает за тестирование производительности, конверторов и обширной базы пользовательских документов.

ѕри проверке такой сложной системы, как  ќћѕј—-3D, без ручного тестировани€ обойтись нельз€. ¬се тестировщики, выполн€ющие ручное тестирование, имеют опыт конструкторской работы на производстве и не понаслышке знают, как и зачем пользователи примен€ют ту или иную функциональность  ќћѕј—-3D.

–учное тестирование

 ќћѕј— тестирование ≈вгений ‘илимонов, инженер по тестированию 3D

ћы смотрим на  ќћѕј—-3D со стороны пользовател€, то есть фактически проектируем сами. ѕри тестировании какой-либо операции, к примеру, ¬ыдавливание, мы провер€ем все возможные способы еЄ выполнени€; рассматриваем варианты использовани€ в сочетании с другими объектами: отдельно ¬ыдавливание может работать правильно, а в массивах или исполнени€х Ч уже нет. ¬ общем, придумываем самые разные сценарии Ч у тестировщиков хорошо развита фантази€. ѕри этом стараемс€, чтобы сценарии были близки к пользовательским. ’от€ иногда бывает полезно рассмотреть и экзотические случаи.

 ќћѕј— тестирование рис

Ќекорректное построение скруглени€

¬ v17 произошли столь кардинальные изменени€ (относительно предыдущих версий), что работ и по кодированию, и по тестированию было намного больше, чем обычно. ќсобого внимани€ с нашей стороны потребовала, например, операци€ ѕо сечени€м, в которую были внесены значительные доработки, в том числе св€занные с новыми математическими алгоритмами. “естирование этой операции идет на прот€жении всей разработки версии.

—пойлер: в  ќћѕј—-3D v17 в операции ѕо сечени€м по€витс€ возможность управл€ть соединением сечений с помощью цепочек и направл€ющих кривых.

 ќћѕј— тестирование рис

Ќаправл€ющие кривые в операции ѕо сечени€м

≈сли бы € вновь стал конструктором (до ј— ќЌ € работал в –—  Ђћи√ї), то, думаю, новый интерфейс  ќћѕј—-3D v17 восприн€л бы положительно. ƒа, могут быть споры по поводу цвета интерфейса и внешнего вида иконок, но с точки зрени€ приемов работы стало намного удобнее. ƒобавилось много механизмов, которые упрощают и ускор€ют работу инженера. ƒл€ конструктора Ч это значительный шаг вперед. ќсобенно дл€ молодого.

 ак это устроено: тест-планы.  огда тестировщик приступает к работе, он составл€ет тест-план. –ассмотрим упрощенный пример Ч отрезок. ≈го можно строить по двум точкам, по длине и углу; отрезок может быть построен между объектами, в разных сло€х, определенным стилем кривой. ¬се эти нюансы при построении отрезка, его редактировании или удалении тестировщик описывает в тест-плане. ѕлан содержит несколько частей: непосредственно функциональность (к примеру, построение по длине и углу), защита (нет лицензии Ч построение не выполн€етс€), вывод на печать (при печати отрезок должен отображатьс€ в соответствии с заданным стилем кривой) и так далее. “ест-план оформл€етс€ в виде Ђдерева мыслиї, и именно на него тестировщик ориентируетс€ при проверке работы системы. ќднако тест-план покрывает только основные сценарии, в нЄм невозможно предусмотреть 100% вариантов использовани€, т.к. их, по сути, может быть бесконечное множество.

“естирование пользовательского интерфейса

 ќћѕј— тестирование ≈катерина –одина, инженер по тестированию интерфейса

»нтерфейс Ч это Ђлицої программы. ¬ отличие от функциональности 2D или 3D, где тестируютс€ конкретные операции, интерфейс приходитс€ провер€ть по всей системе, т.к.  ќћѕј—-3D должен сохран€ть свое лицо при выполнении любой операции (команды), в любом из компонентов. ’ороший интерфейс обеспечивает комфортное воспри€тие и работу в системе. ќн должен выгл€деть аккуратно, чтобы все тексты четко отображались на экране, иконки хорошо масштабировались. ”добство провер€етс€ по расположению кнопок, количеству кликов, которые необходимо пройти до нужной команды.

 ажда€ операци€ формируетс€ с помощью определенного набора элементов интерфейса Ч контролов. “аких элементов насчитываетс€ около 50-ти: поле дл€ ввода текста, поле с выпадающим списком, поле дл€ слежени€ за курсором и т. д.  аждый контрол тестируетс€ отдельно. ћы провер€ем, как выгл€дит контрол, следит ли он за курсором, выдает ли сообщени€ о вводе неверного значени€, работает ли с текстовым метками и выражени€ми.

 ќћѕј— тестирование рис

ќшибка: пропал текст

ѕомимо отдельных контролов провер€ютс€ все панели и диалоги: внешний вид, размер, поведение при перемещении, удобство использовани€.
 ќћѕј— тестирование рис

÷вет иконки ошибочно стал черный

¬ процессе разработки интерфейс мен€етс€ очень активно. »ногда случаетс€ так, что из-за нововведений Ђломаетс€ї сделанное ранее. „тобы не упустить такие моменты, необходимы регрессионные проверки. ƒл€ этого и был разработан упом€нутый в начале статьи инструмент автоматизированного тестировани€ Ч Ђћагнитофонї (мы представл€ли его на конференции по обеспечению качества ѕќ SQA Days-2016). —начала каждый элемент интерфейса провер€етс€ вручную, фиксируютс€ найденные ошибки, обсуждаетс€ их решение.  огда работа над элементом практически завершена, можно писать автотесты дл€ регрессионного тестировани€.

— помощью Ђћагнитофонаї осуществл€етс€ контроль не только работы, но и положени€ элементов интерфейса, отображаемых в текущий момент времени. ¬  ќћѕј—е очень много команд. „тобы не искать глазами, какой элемент изменил свое положение, мы автоматизировали этот процесс. “есты перебирают по очереди все команды, провер€€, чтобы элементы находились на своих местах.

 ак это устроено: Ђћагнитофонї. ѕрограмма записывает и воспроизводит действи€ тестировщика, сигнализиру€ о по€влении ошибок. Ђћагнитофонї видит в  ќћѕј— всЄ: элементы интерфейса и объекты документов, понимает, в каком они состо€нии, может ими управл€ть. »значально предназначенный дл€ тестировани€ пользовательского интерфейса, он удачно примен€етс€ и дл€ проверки функциональности. ≈го использует большинство сотрудников разработки: тестировщики, программисты, аналитики. ƒл€ v17 Ц это вообще основной инструмент автоматизации тестировани€. ¬ подразделении разработки Ђћагнитфонї по сложности и по выдел€емым на него ресурсам €вл€етс€ вторым продуктом после  ќћѕј—а Ч без него отлаживать v17 было бы очень сложно и долго.

јвтоматизированное тестирование

 ќћѕј— тестирование јлексей „ирва, руководитель группы автоматизированного тестировани€

ќдно из направлений автоматизированного тестировани€  ќћѕј—-3D Ц обеспечение корректности пользовательских документов, созданных в предыдущих верси€х. ћы должны убедитьс€, что все пользовательские наработки будут вести себ€ ожидаемо в новой версии: к примеру, сборка не разлетитс€, не помен€етс€ ее цвет, комплектаци€, спецификаци€. Ѕаза документов, используемых в тестах, насчитывает более 700 000. »з них формируютс€ наборы по определенным критери€м.

ќсновные сценарии проверки корректности пользовательских документов направлены на вы€вление изменений и ошибок в геометрии.

 ќћѕј— тестирование рис

ќтдельного внимани€ требует тестирование импорта и экспорта всех поддерживаемых форматов документов. ћы провер€ем корректность результатов конвертации (геометрию, формат записи, размер файлов), выполн€ем замеры производительности.

ѕри тестировании производительности  ќћѕј—-3D отслеживаетс€ врем€ выполнени€ операций, врем€ отклика интерфейса, расходование системных ресурсов, скорость отображени€ моделей и чертежей и т.д.

“естирование математики

 ќћѕј— тестирование —ергей Ѕирюков, математик-программист C3D Labs

¬есной выйдет не только нова€ верси€  ќћѕј—-3D, но и нова€ верси€ геометрического €дра C3D. ќбычно достижени€ €дра практически сразу попадают в  ќћѕј—-3D, мостик между ними очень короткий. ‘ункциональность, которую мы сейчас добавл€ем, может быть сразу протестирована в  ќћѕј—е.  роме этого, определенные методы €дра невозможно полноценно проверить без использовани€  ќћѕј—а, например, тестирование сопр€жений геометрических элементов.

“естирование €дра внутри подразделени€ C3D Labs происходит исключительно в автоматическом режиме. ѕервый этап тестировани€ Ч это юнит-тесты, запускаемые в течение дн€ при каждой новой сборке €дра на каждой ревизии.  роме этого, три раза в день проход€т тесты из небольшого набора моделей, провер€ющие построение ассоциативных видов, перестроение моделей и конвертацию из различных форматов данных. ќбнаруженные ошибки чаще всего исправл€ютс€ днем, чтобы к вечеру сдать максимально чистую, без поломок, ревизию (изменение кода) €дра. Ќочью на внутреннем сервере запускаетс€ большое регрессионное тестирование на базе из 400 000 моделей в формате €дра c3d. » уже следующим утром всем программистам C3D Labs рассылаетс€ сообщение с итогами тестов.

 ќћѕј— тестирование рис

ќтчЄт о работе ј—“ (автоматической системы тестировани€) €дра C3D

”добство нашей системы тестировани€ состоит в том, что в случае неудачных результатов автоматически определ€ютс€ все изменившиес€ модели, и дл€ каждой из них обнаруживаетс€ ревизи€, на которой произошли изменени€. ѕоэтому в сгенерированном утреннем письме уже содержитс€ полный список этих моделей с указанием номера и автора ревизии, вызвавшей изменени€. ≈сли большое тестирование прошло без ошибок, то ревизи€, на которой оно было выполнено, считаетс€ качественной рабочей версией €дра. ћы собираем  ќћѕј—-3D с новым €дром и передаем его разработчикам  ќћѕј—а. ќни провер€ют эту сборку на базовом тесте, и если все хорошо, данна€ верси€ математики сдвигаетс€ в  ќћѕј—-3D.

“естирование приложений

 ќћѕј— тестирование Ћариса »ванова, инженер по тестированию приложений

ќсновной задачей в версии v17 было Ђподружитьї приложени€ с новым интерфейсом  ќћѕј—-3D. „тобы это знакомство прошло гладко, мы подключились к процессу тестировани€ задолго до того, как к адаптации приложений приступили их разработчики. ƒл€ начала надо было убедитьс€, что приложени€ подключаютс€. «атем началось тестирование каждого приложени€ в отдельности: подключение, запуск каждой команды, отображение иконок, запуск процессов, по€вление диалогов, проверка работы по типовым сценари€м Ч функциональность приложений не должна была стать хуже, чем в предыдущих верси€х.

 ќћѕј— тестирование рис

ѕриложение ќборудование: —варные соединени€. ¬се параметры выбраны, а кнопки Ђ—оздать объектї нет

 ќћѕј— тестирование рис

ѕриложение –азмерные цепи. Ќе отображаютс€ иконки команд

¬се ошибки мы систематизировали Ч отделили ошибки, Ђнаведенныеї доработками в интерфейсе, от ошибок самих приложений Ч и отправили на доработку. » только когда приложени€ стали работоспособными, их разработчики подключились к работе над новым интерфейсом.

ѕосле того, как разработчики завершили свою часть, началось функциональное тестирование приложений Ч по сути, разработка реальных проектов, включающа€ проектирование и получение конструкторской документации. ћы вручную запускали все команды приложений, провер€ли работу каждой кнопки, сравнивали с работой в предыдущих верси€х. ѕри обнаружении проблем, а также при по€влении новых возможностей и вы€влении особенностей, оповещали разработчиков приложений через —истему управлени€ релизами, разработанную нами дл€ предыдущих версий  ќћѕј—а, но в полной мере оцененную именно в v17.

 ќћѕј— тестирование рис

ѕриложение ќборудование: ћеталлоконструкции.  оманда —пециальна€ разделка. –езультат выполнени€ операции не соответствует заданным параметрам


***

ƒа, приемы работы и интерфейс в  ќћѕј—-3D v17 изменились кардинально. ƒа, обещанна€ —јѕ–-революци€ состоитс€. Ќо благодар€ всем бета-тестерам и, конечно, команде тестировани€ ј— ќЌ, не раз и по-разному испытавшей версию на себе, пользователи могут быть спокойны Ч  ќћѕј—-3D v17 будет готов к встрече!


„итайте также:


¬акансии:

јктуальное обсуждение

RSS-лента комментариев

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: »нтернет вещей, зверей и людей
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2017 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.