Зачем нужна система управления тестированием?
Тестирование ПО — важнейшая составляющая процесса обеспечения качества программного обеспечения, которая заключается в проверке соответствия между реальным и ожидаемым поведением программы, осуществляемая на специально подобранном конечном наборе тестов. Системы тестирования ПО позволяют управлять всеми типами тестов из единого центра и предоставлять полную отчётность по всему процессу. Разобраться с тем, зачем нужны системы управления тестированием, нам помогают специалисты компании IBS AppLine.
Для чего требуется тестирование ПО?
Тестирование — одна из составляющих глобального процесса обеспечения качества ПО. Сейчас, когда все отрасли устремлены в цифровое пространство и компании конкурируют за клиентов через качество итогового продукта, безусловно важно предоставлять клиентам продукты без сбоев, которые будут удобны и визуально приятны. Застраховаться от таких рисков и позволяет тестирование разнообразных видов, где проверяется всё: от соответствия функционала техническому заданию до корректности данных и удобства использования.
Тестирование может быть организовано как профессиональными тестировщиками, так и при помощи пользователей, но в современных реалиях без первого не обойтись. Программное обеспечение стало настолько сложным и многофункциональным, что без специальных знаний и опыта полноценно протестировать его невозможно. Даже в самом идеальном коде неизбежно возникают ошибки — из-за человеческого фактора, не выявленных ранее несовместимостей, наконец, просто из-за того, что разработчик спешит выпустить свой продукт. Учитывая высокую конкуренцию на рынке, малейшие ошибки способны навредить даже самому передовому решению. Поэтому лишь профессионалы могут предложить комплексное тестирование, позволяющее выявить и грамотно описать ошибки, оценить производительность, работу ПО под нагрузкой и эффективность реализованных в нём средств безопасности. Кроме того, только профессионалы могут специально для конкретного проекта разработать необходимые утилиты, если существующие инструменты не позволяют решить поставленные клиентом задачи.
Все многочисленные виды тестирования ПО можно условно разделить на три большие группы: функциональные, нефункциональные и связанные с изменениями.
- Функциональные тесты оценивают функции и особенности ПО, внешнее поведение и взаимодействии с другими системами, а также его безопасность.
- К нефункциональным относятся тесты, определяющие те характеристики ПО, которые могут быть измерены различными величинами. Это все виды тестирования производительности (нагрузочное, стрессовое, объёмное, стабильности), тестирование установки, удобства пользования (юзабилити), тестирование на отказ и восстановления и конфигурационное тестирование.
- Тестирование, связанное с изменениями, проводится после исправления выявленных в ходе функционального и нефункционального тестирования ошибок и недостатков, и его главная задача — подтвердить тот факт, что проблема устранена. К таким видам тестирования относятся дымовое, регрессионное, тестирование сборки и санитарное тестирование (проверка согласованности или исправности).
На каких принципах и на основе какой методологии осуществляется тестирование ПО?
Проекты тестирования всегда направлены на выполнение конечной цели — понять качество продукта и принять правильные решения о его дальнейшем развитии (приоритеты следующего спринта, внедрение, календарный график проекта). Сам принцип ведения проектов независимого тестирования всегда основан на привязке к методологии разработки, прозрачной отчетности о качестве тестируемого ПО, максимально простых и понятных прописанных планах тестирования и тест-кейсах.
Почему IBS AppLine пришла к созданию своих собственных инструментов тестирования?
Более 15 лет практики тестирования в компании IBS AppLine привели к выводу о необходимости создания собственных инструментов тестирования, которые смогли бы максимально автоматизировать функциональное и нагрузочное тестирование. На базе накопленных знаний и экспертизы специалисты компании задались целью ускорить старт проектов, повысить качество тестирования, снизить риск ошибок и упростить введение в работу новичков. Решающую роль при этом сыграли три фактора:
- Отсутствие каких бы то ни было российских аналогов
- Дороговизна платных инструментов зарубежных вендоров
- Слабая функциональность Open Source продуктов в части удобства настроек и графического интерфейса
С появлением собственных инструментов автоматизации тестирования в IBS AppLine логически пришли к необходимости организации управления тестированием из единого центра, в результате чего была разработана система управления тестированием «Кайман».
Что такое система управления тестированием ПО?
Система управления тестированием (Test Management System, TMS) — это важная составляющая процесса, которая объединяет все активности и даёт доступ к отчетности по всему процессу. Такая система нужна тем, кто понимает ценность тестирования, хочет им управлять из единого центра, а не собирать множество разномастных отчётов.
Каковы ключевые особенности и преимущества автоматизированной системы управления тестированием ПО «Кайман»?
Систем управления тестированием на рынке много и они появились довольно давно, но именно полнофункциональных решений среди них практически нет. Это либо очень дорогие импортные системы, где управление нагрузочным и функциональным тестированием всё равно разведено по разным модулям, либо Jira с плагинами, которые каждый может выбирать по своему усмотрению, либо какие-то OpenSource продукты, изначально представляющие из себя конструктор. Российские решения по управлению тестированием дают возможность работать только в части функционального тестирования, причём с большим перекосом в ручное управление — уровень автоматизации в них незначителен.
Стэк решений от IBS AppLine: «Кайман» в качестве командного центра, «Хамелеон» — автоматизация тестирования, «Циклон» — нагрузочное тестирование: это полноценно интегрирующееся решение, которые закрывает все потребности по функциональному и нагрузочному тестированию. Эти решения сочетают в себе плюсы как классических коммерческих (наличие поддержки, приятный и функциональный интерфейс, комплексность решений), так и OpenSource решений (новые технологии, активное развитие продукта, возможность взаимодействия с внешними системами, например, управления дефектами).
Например, уже сейчас «Кайман» полноценно поддерживает организацию и проведение нагрузочного тестирования, чего нет в большинстве конкурирующих систем», — отметил Николай Стрельцов, заместитель директора отделения автоматизированного тестирования.
Где используется «Кайман» и как выглядит процесс работы с этим продуктом?
В настоящее время «Кайман» применяется для организации и проведения тестирования в ряде проектов компании по заказной разработке. Инструментом пользуются владельцы продукта, аналитики, тест-дизайнеры, тестировщики, специалисты по автоматизированному и нагрузочному тестированию, тест-менеджеры.
Если кратко описать классический процесс работы с Кайманом в части ручного функционального тестирования, то он выглядит примерно так:
- Тест-дизайнеры в «Каймане» разрабатывают тестовую модель, пишут тесты или чек-листы. В результате тестовая модель предстаёт в структурированном иерархичном виде.
- Аналитики со своей стороны валидируют разработанные тесты на предмет полноты покрытия требований. В «Каймане» этот процесс прозрачен и управляем: всегда можно увидеть, какая часть тестов провалидирована, а сколько ещё осталось.
- При планировании прогонов тест-менеджер создаёт набор тестов из тестовой модели и назначает ответственных. Тестировщики, на которых назначены конкретные тесты, осуществляют прогоны тестов и фиксацию результатов в части каждого теста. При планировании прогонов «Кайман» на основании исторических данных позволяет оценить и спланировать трудоёмкость прогонов.
- По итогам тестирования тест-менеджер формирует отчётность в различных аспектах качества тестируемого ПО.
В части автоматизированного и нагрузочного тестирования процессы проходят несколько иначе, тем не менее, их вполне можно назвать классическими. Тем, кто знаком с этими видами тестирования, не составит труда разобраться с подходом и принципами автоматизации, которые обеспечивает «Кайман».
Каков следующий этап развития системы управления тестированием и его области применения?
Если говорить о будущем, то здесь в IBS AppLine выделяют два основных вектора развития:
- Комплексная система управления тестированием, закрывающая все возможные потребности клиента в различных видах тестирования ПО.
- Инновационный продукт, позволяющий решать насущные проблемы тестирования и его заказчиков.
Источник: Tadviser