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