В январе завершилось открытое бета-тестирование КОМПАС-3D v17, в котором приняли участие более 1500 пользователей. Но до выпуска финального релиза в систему еще вносятся изменения, а это значит, что ее тестирование продолжается. О том, какие испытания проходит новый КОМПАС-3D, прежде чем попасть к инженерам, читайте в репортаже из Центра разработки АСКОН в Коломне.
Каждой новой версии предстоит преодолеть несколько этапов тестирования, в котором принимает участие практически вся команда КОМПАС. Программисты пишут юнит-тесты на свой код. Аналитики проводят юзабилити-тестирование. Группа автоматизированного тестирования разрабатывает сценарии с применением пользовательского интерфейса, API и специальных тестовых функций. Эта же команда отвечает за тестирование производительности, конверторов и обширной базы пользовательских документов.
А для проверки КОМПАС-3D v17 вообще был разработан совершенно новый инструмент автоматизированного тестирования — «Магнитофон» (к нему мы еще вернемся). Но и без ручного тестирования обойтись нельзя. Им в АСКОН занимаются специалисты с опытом конструкторской работы на производстве, хорошо понимающие, как и зачем пользователи применяют тот или иной функционал КОМПАС-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
рассылается сообщение с итогами тестов.
Удобство нашей системы тестирования состоит в том, что в случае
неудачных результатов автоматически определяются все изменившиеся
модели, и для каждой из них обнаруживается ревизия, на которой
произошли изменения. Поэтому в сгенерированном утреннем письме уже
содержится полный список этих моделей с указанием номера и автора
ревизии, вызвавшей изменения.
Если большое тестирование прошло без ошибок, то ревизия, на которой
оно было выполнено, считается качественной рабочей версией ядра. Мы
собираем КОМПАС-3D с новым ядром и передаем его разработчикам
КОМПАСа. Они проверяют эту сборку на базовом тесте, и если все
хорошо, данная версия математики сдвигается в КОМПАС-3D.
Тестирование приложений
Лариса Иванова, инженер по тестированию приложений
Основной задачей в версии v17 было «подружить» приложения с
новым интерфейсом КОМПАС-3D. Чтобы это знакомство прошло гладко, мы
подключились к процессу тестирования задолго до того, как к
адаптации приложений приступили их разработчики.
Для начала надо было убедиться, что приложения хотя бы
подключаются. Затем началось тестирование каждого приложения в
отдельности: подключение, запуск каждой команды, отображение
иконок, запуск процессов, появление диалогов, проверка работы по
типовым сценариям — функциональность приложений не должна была
стать хуже, чем в предыдущих версиях.
Все ошибки мы систематизировали — отделили ошибки, «наведенные» доработками в интерфейсе, от ошибок самих приложений — и отправили на доработку. И только когда приложения стали более-менее работоспособными, к работе над новым интерфейсом подключили разработчиков приложений.
После того, как разработчики завершили свою часть, началось функциональное тестирование приложений — по сути, разработка реальных проектов, включающая проектирование и получение конструкторской документации. Мы вручную запускали все команды приложений, проверяли работу каждой кнопки, сравнивали с работой в предыдущих версиях. При обнаружении проблем, а также при появлении новых возможностей и выявлении особенностей, оповещали разработчиков приложений через Систему управления релизами, разработанную нами для предыдущих версий КОМПАСа, но в полной мере оцененную именно в v17.
Да, приемы работы и интерфейс в КОМПАС-3D v17 изменились кардинально. Да, обещанная САПР-революция состоится. Но благодаря всем бета-тестерам и, конечно, команде тестирования АСКОН, не раз и по-разному испытавшей версию на себе, пользователи могут быть спокойны — КОМПАС-3D v17 будет готов к встрече!
Источник.