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