Тестирование на совместимость является неотъемлемым компонентом многих стратегий обеспечения качества, позволяя компаниям проверить, правильно ли работает их программное обеспечение на различных платформах. Даже для программы, предназначенной исключительно для настольных компьютеров, необходимо учитывать несколько основных операционных систем и сотни, если не тысячи, различий в аппаратном обеспечении, которые могут повлиять на стабильность. Понимание процесса тестирования на совместимость и его обычных преимуществ может помочь гарантировать эффективный запуск продукта, способный охватить максимально возможную аудиторию пользователей.
Хотя тестирование на совместимость может предложить ряд преимуществ, существует также множество серьезных проблем, которые команда тестирования программного обеспечения должна преодолеть, чтобы максимально использовать потенциал этой техники. Существуют также специальные методы, которые эти отделы должны использовать для получения наилучших результатов и обеспечения полного покрытия тестами.
В этой статье мы подробно рассмотрим тестирование совместимости, включая основные шаги, которые должны выполнять команды, а также наиболее полезные инструменты тестирования, доступные в настоящее время.
Что такое тестирование на совместимость в
тестирование и разработка программного обеспечения?
Тестирование на совместимость исследует программное обеспечение на различных устройствах, аппаратных средствах и микропрограммах, чтобы убедиться, что оно соответствует ожиданиям команды. Каждый пользователь может работать со своей программой на новом устройстве, и поэтому важно, чтобы компания могла гарантировать, что все они получат одинаковый опыт. Тесты на совместимость, например, могут включать проверку каждой функции приложения, чтобы убедиться, что оно работает на всех основных операционных системах.
Без тщательного тестирования совместимости вполне возможно, что компания может выпустить приложение, которое не работает на некоторых популярных устройствах. Эти проверки должны быть всесторонними, поскольку проблема может возникнуть в любом случае – например, приложение может не работать с очень специфическим типом видеокарты. В сочетании с другими видами тестирования программного обеспечения команды по обеспечению качества могут убедиться, что их программа готова к выпуску.
1. Когда и зачем нужно проводить тестирование на совместимость мобильных приложений, веб-сайтов, систем и кроссбраузерность?
Компании проводят тестирование на совместимость на этапе тестирования программного обеспечения, в частности, когда у них есть “стабильная” версия программы, которая точно отражает, как она будет вести себя для клиентов. Это продолжается после альфа-тестирования, приемочного тестирования и других видов тестирования, которые часто направлены на поиск общей стабильности и проблем, связанных с функциями. Если приложение сталкивается с проблемами на этапе тестирования совместимости, это обычно связано с конкретными проблемами, связанными с совместимостью. Слишком раннее введение этих проверок может фактически сделать их излишними, поскольку незначительные изменения на более поздних этапах разработки программы могут радикально повлиять на совместимость.
Тестирование совместимости браузеров и программного обеспечения очень важно, поскольку оно помогает компаниям выпустить приложение, которое, как они знают, будет адекватно работать практически на всех возможных устройствах. Например, тестирование на кросс-браузерную совместимость, в частности, помогает гарантировать, что люди, использующие Opera, получат те же впечатления, что и те, кто использует Firefox и другие основные браузеры. Команда обычно тестирует столько вариантов аппаратного/программного обеспечения, сколько позволяет время и бюджет. Это означает, что они должны грамотно определять приоритеты систем или браузеров, которые, скорее всего, будут использовать их клиенты, что позволит им гарантировать широкий охват тестирования и жизнеспособный продукт.
2. Когда вам не нужно проводить тестирование совместимости программного обеспечения
Компании могут создать специальное приложение для конкретной операционной системы или модели, что значительно ограничивает количество необходимых проверок. Тестирование на кросс-браузерную совместимость при тестировании программного обеспечения может быть излишним, если, например, эта программа не требует наличия браузера. Время также может стать серьезным фактором в способности компании провести эти тесты, хотя команды тестирования все равно должны работать над тем, чтобы гарантировать совместимость основных систем и браузеров с программным обеспечением. Существуют также определенные проекты, которые не могут воспользоваться базовыми тестами на совместимость.
3. Кто участвует в тестировании на совместимость?
Вот основные люди, которые проводят тестирование на совместимость при тестировании программного обеспечения:
1. Разработчики
В процессе разработки команда разработчиков проверяет работу приложения на одной платформе, и это может быть даже единственное устройство, на котором компания намерена выпустить программу.
2. Тестеры
Группы обеспечения качества, как внутри компании, так и нанятые извне, проверяют множество возможных конфигураций в рамках этапа тестирования совместимости приложения, включая все основные операционные системы и браузеры.
3. Клиенты
Клиенты компании могут иметь оборудование или конфигурации, которые команда не смогла тщательно протестировать, что может сделать их пользовательский опыт первой реальной проверкой конкретной установки.
Преимущества тестирования на совместимость
Обычные преимущества тестирования совместимости программного обеспечения включают:
1. Более широкая аудитория
Чем тщательнее команда тестирует свое программное обеспечение, тем для большего количества устройств она может с уверенностью выпустить его, гарантируя, что широкая аудитория на многих платформах сможет насладиться его применением. Это позволяет компаниям получить больше продаж продукта, а также может улучшить количество положительных отзывов, которые это программное обеспечение получает от пользователей.
2. Улучшает стабильность
Тестирование на совместимость при тестировании программного обеспечения необходимо для выявления проблем стабильности и производительности, которые часто могут быть более выражены на разных устройствах – особенно если разработчики создавали приложение только для одной платформы. Тест на совместимость с системой показывает компании, что пользователи (на широком спектре устройств) могут ожидать от общей производительности программного обеспечения.
3. Совершенствует разработку
Эти тесты также оказывают значительное долгосрочное воздействие на команду разработчиков. Например, тестирование совместимости мобильных устройств может предоставить ценную информацию о разработке приложений, которую предприятия могут учесть при создании дополнительных программ. Это может значительно снизить затраты на тесты совместимости для будущих проектов, позволяя им повторно использовать уроки, извлеченные из этого процесса.
4. Проверяет другие тесты
Большинство форм тестирования до этого момента ограничены по объему и не проверяют все возможные комбинации оборудования или программного обеспечения – эти тесты могут эффективно перепроверить эти результаты. Например, тестирование на кросс-браузерную совместимость подтверждает предварительные этапы обеспечения качества, показывая, что результаты одинаковы, когда у пользователя другой браузер.
5. Снижает затраты
Тестирование на совместимость также может снизить затраты на текущую программу, помогая командам выявить проблемы до того, как приложение попадет в публичный релиз – в этот момент исправление ошибок становится более дорогостоящим. Чем разнообразнее тесты команды (и чем выше коэффициент покрытия тестами), тем дешевле устранять любые ошибки по мере их появления.
Проблемы тестирования на совместимость
Вот общие проблемы, с которыми могут столкнуться компании при внедрении тестирования на совместимость при тестировании программного обеспечения:
1. Ограниченное время
Хотя средства автоматизации и другие решения могут значительно ускорить тестирование совместимости за счет симуляции ряда устройств, этот процесс все равно должен соответствовать графику разработки компании. Это означает, что команда тестирования должна определить приоритетность наиболее распространенных устройств и браузеров, чтобы гарантировать получение самой широкой (и самой многочисленной) аудитории.
2. Отсутствие реальных устройств
Для таких проверок обычно используются виртуальные машины, имитирующие компоненты и условия реальных устройств; это гораздо дешевле (и быстрее), чем самостоятельное приобретение соответствующих деталей и платформ. Однако это может повлиять на точность результатов; тем более что производительность часто зависит от того, как пользователи работают с реальным устройством.
3. Сложно обеспечить будущее
Тестирование на совместимость может проводиться только с уже существующими платформами; это означает, что оно не может гарантировать, что приложение будет работать так, как ожидается, на будущих версиях Windows и Google Chrome. Организации могут исправить это только после запуска, что зачастую обходится дороже, и в итоге приложение может устареть.
4. Обслуживание инфраструктуры
Если команда все же решит проверить значительное количество платформ собственными силами, это может привести к высокой стоимости инфраструктуры. Например, тестирование совместимости мобильных приложений может включать в себя использование нескольких реальных мобильных устройств. Хотя это более точно, чем имитация тестирования совместимости оборудования, это дорого и, как правило, требует регулярного обслуживания.
5. Большое количество комбинаций
При тестировании на совместимость учитывается множество пересекающихся факторов, таких как операционная система, браузер, аппаратное обеспечение, встроенное ПО и даже разрешение экрана. Даже если у команды тестировщиков много времени, учесть все возможные варианты будет практически невозможно. Тестирование конфигурации и совместимости должно снова определить приоритет наиболее вероятных комбинаций устройств.
Характеристики испытаний на совместимость
Основные характеристики тестов на совместимость включают:
1. Тщательный
Эти проверки должны быть способны изолировать любые возможные проблемы совместимости, возникающие между устройствами – иначе команда может выпустить некачественную программу. Например, эти проверки должны гарантировать, что каждая функция приложения отображается так, как ожидается, независимо от разрешения экрана пользователя.
2. Expansive
Тесты должны поддерживать баланс глубины и широты, помогая командам исследовать ряд проблем на многих конфигурациях устройств. Тестирование кросс-браузерной совместимости рассматривает широкий спектр комбинаций ОС и браузеров, обеспечивая высокий уровень покрытия – иногда с помощью автоматизированного решения.
3. Двунаправленный
Этот процесс включает в себя тестирование на обратную и прямую совместимость; первое позволяет команде увидеть, как их приложение будет работать на более старом оборудовании. Последнее позволяет команде получить доступ к передовым платформам, что гарантирует успешную работу в долгосрочной перспективе, даже если их возможности задела на будущее весьма ограничены.
4. Повторяющийся
Проблемы, которые выявляют эти проверки, должны быть легко повторяемы другими тестировщиками и отделами, показывая, что они отражают ошибки, с которыми, скорее всего, столкнутся пользователи. Если тест на совместимость сайта показывает, что определенные функции не работают в определенном браузере, повторяемость помогает разработчикам решить проблему.
Виды испытаний на совместимость
Основные виды тестирования на совместимость следующие:
1. Тестирование на обратную совместимость
Тестирование на обратную совместимость включает проверку приложения с использованием старых версий на современном оборудовании – это очень важно, поскольку ограничение проверки современными устройствами может существенно ограничить количество пользователей. Многие люди до сих пор пользуются старыми операционными системами, такими как, например, Windows 8.
2. Тестирование на совместимость вперед
Тестирование на совместимость в будущем аналогично, но вместо этого рассматриваются современные или перспективные технологии, чтобы определить, будет ли приложение работать в течение многих лет, несмотря на усовершенствования и обновления. Без этих тестов программа может даже перестать работать, например, при следующем обновлении браузера.
3. Тестирование на совместимость с браузерами
Тесты на совместимость с браузерами веб-сайта гарантируют, что веб-приложение или сайт может работать в различных браузерах; это очень важно, поскольку они используют различные механизмы верстки. Команды по обеспечению качества даже тестируют кросс-браузерную совместимость – это означает, что они проверяют, может ли каждый браузер работать с приложением в разных операционных системах.
4. Тестирование на совместимость с мобильными устройствами
Тестирование мобильных приложений – это процесс, схожий с тестированием настольных и веб-приложений, особенно если учесть, что ОС телефона является еще одним ключевым фактором. Например, приложения для Android и iOS имеют совершенно разные форматы и требуют совершенно отдельного процесса разработки и тестирования.
5. Тестирование совместимости оборудования
Эти проверки рассматривают конкретные компоненты, из которых состоит машина, и то, как они могут повлиять на программу; это крайне важно практически для любого типа устройств. Например, в компьютере может быть установлена видеокарта, которая не может успешно отобразить интерфейс веб-приложения.
6. Тестирование совместимости устройств
Некоторые приложения подключаются к внешним устройствам через Bluetooth, широкополосное или проводное соединение. Например, приложению может потребоваться соединение с принтером. Эти тесты направлены на то, чтобы убедиться, что программа взаимодействует с собственными соединениями платформы и любыми устройствами, к которым она может получить доступ.
7. Тестирование на совместимость с сетью
Если для работы приложения требуется сетевая функциональность – например, соединение с онлайн-базой данных через сервер компании – это требует многочисленных проверок на совместимость. Это гарантирует, что программа будет работать с подходящей скоростью при подключении к сети Wi-Fi, 4G или 3G.
Что мы проверяем в тестах на совместимость?
Специалисты по проверке совместимости обычно проверяют следующее:
1. Производительность
Одной из основных целей тестирования на совместимость является обеспечение стабильности, поскольку некоторые аспекты приложения могут быть полностью несовместимы с распространенными платформами. Проверяя общую отзывчивость программы, команда тестирования гарантирует отсутствие серьезных сбоев на определенных устройствах.
2. Функциональность
Тестирование на совместимость также проверяет общие характеристики и функции приложения, чтобы убедиться, что программное обеспечение способно обеспечить нужные результаты. Например, система управления взаимоотношениями с клиентами может быть не в состоянии предложить данные о продажах или общую аналитику для пользователей с устаревшей операционной системой.
3. Графика
Некоторые браузеры или устройства по ряду причин могут не справляться с отображением определенных графических элементов, и проверка совместимости может помочь в этом. Программа может работать только при определенных разрешениях экрана, если разработчики не изменят способ отображения ее содержимого.
4. Связь
Тесты на совместимость также обращают внимание на то, как программа интегрируется как с устройством пользователя, так и с собственной базой данных, позволяя обнаруживать такие устройства, как принтеры. Эти проверки могут, например, показать, что приложение не может соединиться со своей собственной базой данных в сетях 3G.
5. Универсальность
Эти проверки позволяют убедиться, что приложение компании достаточно универсально для работы на старых и новых версиях одной и той же операционной системы с помощью тестов на обратную и прямую совместимость. Это гарантирует, что пользователи не будут лишены доступа к программе, если их программное обеспечение устарело на несколько лет.
Типы результатов тестов на совместимость
Три основных результата тестов на совместимость:
1. Результаты тестирования
Наиболее распространенным выходом для этих проверок являются сами результаты, которые могут принимать различные формы. Например, тестирование совместимости браузеров может показать, что веб-приложение приводит к утечке памяти в Microsoft Edge, в то время как это же приложение не оказывает негативного влияния на браузеры на базе Chrome. В качестве альтернативы, приложение может работать именно так, как ожидает команда, на соответствующих платформах.
2. Журналы испытаний
Результаты тестирования также проявляются в виде собственных журналов приложения, в которых отражаются все обнаруженные проблемы программного обеспечения в виде сообщений об ошибках. Эти журналы могут даже определить конкретную часть программы, которая вызывает эту ошибку. В частности, для тестирования совместимости тестировщики должны знать, как эти журналы проявляют и представляют эти проблемы на разных платформах.
3. Тестовые случаи
Примеры тестов на совместимость определяют, какие тесты будет проводить команда, и предлагают место для записи результатов в простом формате. Тестировщики должны использовать свои знания о программном обеспечении в сочетании с результатами и журналами, чтобы определить причину проблемы. Чем больше информации они предоставят, тем быстрее разработчики смогут приступить к исправлению ошибок.
Типы обнаруженных дефектов
через тестирование на совместимость
Вот наиболее распространенные ошибки, которые могут выявить тесты на совместимость:
1. Масштабирование макета
Тест на совместимость веб-сайта может показать, масштабируются ли элементы, из которых состоит веб-приложение или даже веб-страницы, в соответствии с устройством пользователя, в частности с разрешением и размером его экрана. В результате некоторые графические изображения могут быть плохо видны в определенных браузерах.
2. Программные сбои
Тесты на совместимость позволяют понять, сможет ли приложение вообще работать на некоторых платформах. Например, разработчик игры может узнать минимальные системные требования своего продукта, проверив, какие устройства выходят из строя из-за недостаточного объема оперативной памяти и скорости процессора при запуске тестеров.
3. Проблемы с проверкой HTML/CSS
Различные браузеры и устройства читают код по-разному – некоторые автоматически исправляют простые опечатки, например, неправильное закрытие HTML-тега. Тестирование совместимости браузеров может выявить случаи некорректного CSS, который не позволяет приложению генерировать содержимое и даже основные функции.
4. Ошибки воспроизведения видео
Многие современные видеоплееры используют HTML5 для потоковой передачи видео в Интернете, и это может стать ключевой частью веб-приложения компании. Однако команды, проверяющие совместимость браузеров веб-сайтов, могут обнаружить, что видеофункции их приложения не совместимы с устаревшими браузерами.
5. Защита файлов
Тестирование на совместимость при разработке программного обеспечения также может выявить проблемы с безопасностью файлов и различия между устройствами. Например, новые версии Windows имеют более надежную защиту ввода/вывода. Это может привести к тому, что приложение (например, антивирусная программа) не сможет получить доступ к файлам устройства.
Процесс тестирования на совместимость
Обычными этапами тестирования на совместимость являются:
1. Составьте план тестирования
Комплексный план тестирования имеет решающее значение для проверки совместимости; команда обеспечения качества может обращаться к нему по мере необходимости во время проверок. Например, здесь подробно описываются устройства, которые они будут тестировать, и критерии прохождения или прохождения теста; они также должны определить, будут ли они использовать роботизированную автоматизацию процессов.
2. Настройте тестовые случаи
Тестовые примеры также важны, поскольку в них подробно описываются конкретные проверки совместимости, которые проводят команды, и конкретные устройства, с которыми они работают. Здесь также указываются точные шаги, которые будут предпринимать тестеры, и достаточно места для записи результатов и любой информации, которая поможет разработчикам обеспечить совместимость.
3. Создайте среду для тестирования
Изолированная и независимая тестовая среда, свободная от внешних воздействий, необходима для обеспечения точности тестов, а также позволяет команде обеспечения качества определить, откуда берутся проблемы, которые они обнаруживают. Кроме того, тестировщики могут проводить свои проверки на приложении без ущерба для “реальной” версии.
4. Выполните тесты
Когда тестовые примеры и среда полностью подготовлены, команда может приступить к тестированию совместимости – даже при использовании автоматизированного решения у них есть лишь ограниченное количество времени. Тестировщики должны будут определить приоритетность наиболее распространенных операционных систем и конфигураций устройств, чтобы учесть это, и обеспечить широкое покрытие тестами, несмотря на эти ограничения.
5. Повторное тестирование
После завершения тестов и получения тестовых примеров разработчики вносят изменения в приложение таким образом, чтобы улучшить его совместимость, хотя это может быть возможно не для всех устройств. Затем тестировщики повторно проверяют приложение и убеждаются, что проблемы, которые они ранее обнаружили, больше не встречаются, и нет новых серьезных ошибок.
Общие метрики тестирования на совместимость
Вот некоторые общие показатели, используемые для тестов на совместимость:
1. Полоса пропускания
Тесты на сетевую совместимость измеряют взаимодействие приложения с различными сетями, включая широкополосные и мобильные сети передачи данных. Минимальная пропускная способность, необходимая программе для выполнения своих обычных обязанностей и подключения к базе данных компании, может оказаться слишком высокой, например, для среднего 3G-соединения.
2. Использование процессора
Одним из способов проявления проблем с производительностью является непропорционально высокая загрузка процессора – это может означать, что устройство просто не соответствует минимальным требованиям программы. Проблемы с процессором могут также влиять на время отклика приложения, ограничивая его функциональность и вызывая задержку, достаточную для того, чтобы отвлечь пользователей.
3. Шкала удобства использования системы
Шкала удобства использования системы – это распространенный способ измерения субъективных деталей программы, включающий десять основных вопросов об удобстве использования приложения. Полученная оценка SUS – это оценка из 100 баллов, которая может отличаться на разных платформах из-за графических ошибок.
4. Общее количество дефектов
Эта метрика является постоянной для большинства видов тестирования, позволяя тестировщикам понять текущее состояние программы. Команда также может сравнивать количество дефектов между различными платформами. Таким образом, тестировщики могут выделить ошибки, связанные с несовместимостью.
5. Балл SUPRQ
Подобно оценке SUS приложения, Стандартизированный вопросник перцентильного ранга пользовательского опыта – это способ для тестировщиков оценить приложение по нескольким ключевым факторам, включая удобство использования и внешний вид. Это поможет им определить, как клиенты могут испытывать трудности при использовании приложения на определенных устройствах.
7 ошибок и подводных камней при проведении тестов на совместимость
Вот семь основных ошибок, которых следует избегать при проведении тестирования на совместимость:
1. Отсутствие реальных устройств
Хотя невозможно провести тестирование на всех возможных комбинациях устройств, команда тестировщиков все же может извлечь пользу из использования как можно большего количества реальных устройств. Различные платформы предлагают “реальные” устройства с помощью облачных решений, чтобы облегчить тестирование совместимости с кросс-браузерными приложениями таким образом, чтобы отразить производительность “родного” устройства.
2. Избегайте старых устройств
Многие пользователи по-прежнему работают с приложениями на старых версиях Windows или iOS; концентрация на новых версиях популярных устройств и операционных систем может ограничить сферу применения продукта. Если команда не распространит свои тесты на “устаревшие” устройства, значительная часть аудитории может испытывать трудности с использованием программы.
3. Неправильное управление временем
Зачастую существует большое количество устройств и конфигураций, требующих проверки на совместимость, поэтому команда должна рационально использовать свое время, чтобы проверить как можно больше из них. Это важно, так как тесты обычно продолжаются в конце разработки; неправильное управление может значительно ограничить количество проверок.
4. Неправильное составление расписания
Также очень важно, чтобы команды проводили эти тесты на разумном этапе разработки программы, предпочтительно после альфа-тестирования и большинства видов функционального тестирования. Это облегчает понимание того, является ли проблема общим дефектом или специфическим для устройств, которые рассматривает команда.
5. Не учитывается разрешение экрана
Разрешение экрана может быть гораздо более важным фактором совместимости, чем признают многие команды тестирования – особенно потому, что оно настраивается и влияет на то, как устройство отображает графические элементы. Даже с учетом приближающихся сроков проведения тестов на совместимость, очень важно, чтобы команды тестирования все еще работали над тем, чтобы учесть это в своей стратегии.
Отсутствие опыта
Тестировщики должны обладать высокой квалификацией для проверки совместимости сайтов, браузеров и программного обеспечения, а также многих других форм, которые могут принимать эти тесты. Если руководитель тестирования назначает одного из членов своей команды для выполнения проверки совместимости, а у него недостаточно опыта, это может замедлить проведение тестов и ограничить их точность.
6. Без предварительного обсуждения
Поскольку тесты на совместимость часто занимают много времени (и потенциально требуют широкого спектра устройств), команды должны полностью определить объем своих проверок на ранних этапах обеспечения качества. Например, они должны иметь четкое представление о том, какие конкретные устройства или конфигурации они собираются тестировать еще до начала проверок.
Лучшие практики тестирования на совместимость
Лучшие способы обеспечения высококачественных тестов на совместимость включают:
1. Тестирование на протяжении всей разработки
Поскольку программное обеспечение значительно меняется от одной недели к другой, это может повлиять на совместимость программы с предназначенными для нее устройствами. Команды должны неоднократно проводить тестирование совместимости программного обеспечения и кросс-браузерности, чтобы убедиться, что приложение по-прежнему хорошо работает на этих платформах после внесения изменений в разработку.
2. Используйте реальные устройства
Некоторые инструменты тестирования совместимости предлагают доступ к “реальным” симулированным устройствам, которые способны в точности повторять пользовательский опыт для данной платформы. Это позволяет обеспечить совместимость большего количества устройств, сохраняя при этом высокий уровень точности, которого нет в некоторых автоматизированных решениях.
3. Определите приоритет тестов
При ограниченном количестве времени на проведение таких проверок тестировщикам совместимости может потребоваться определить приоритетность наиболее распространенных устройств, браузеров и операционных систем. Аналогичным образом, группа тестирования должна сначала проверить наиболее важные функции программного обеспечения, чтобы гарантировать базовую функциональность на этих устройствах.
4. Интегрировать методы agile
Некоторые компании предпочитают использовать спринтерский подход к тестированию совместимости, что позволяет им легко достигать этапов тестирования – например, проверять определенное количество устройств. Agile способствует межведомственному общению, а также обеспечивает определенную структуру тестирования, которая может гарантировать последовательное и быстрое улучшение.
5. Ограничьте объем тестирования
Команды по обеспечению качества должны знать, когда следует завершить тестирование и даже принять случай несовместимости. В этом случае разработчик может не менять программное обеспечение, а вместо этого изменить минимальные требования, если это будет слишком сложно обойти путем исправления ошибок.
Примеры примеров и сценариев тестирования на совместимость
Тесты на совместимость устанавливают входные данные команды тестирования, стратегию тестирования и ожидаемые результаты; последние сравниваются с фактическими результатами. Поскольку проверки охватывают множество устройств и конфигураций, это часто является длительным процессом.
К таким случаям обычно относятся:
– Проверьте правильность отображения HTML веб-приложения.
– Убедитесь, что код JavaScript программы пригоден для использования.
– Проверьте, работает ли приложение в разных разрешениях.
– Проверьте, что программа может получить доступ к каталогу файлов.
– Убедитесь, что приложение подключается ко всем жизнеспособным сетям.
Вот конкретные примеры тестирования совместимости в тестировании программного обеспечения для различных программ:
1. Приложение для социальных сетей
Социальные сети обычно имеют форму веб-приложений для браузеров и мобильных приложений для соответствующих устройств; оба типа требуют одинаково тщательного тестирования. Например, это мобильное приложение должно быть полностью работоспособным как минимум на устройствах iOS и Android – команда должна проверить старые и новые устройства под каждой операционной системой. Если, например, определенная модель iPhone не может отображать анимированные GIF-файлы, команда должна определить, что является причиной этого, чтобы обеспечить постоянный пользовательский опыт.
2. Видеоигра
Видеоигры обычно предлагают настраиваемые графические параметры, которые пользователи могут изменить в соответствии со своей машиной; это включает в себя управление разрешением экрана и обеспечение соответствующего масштабирования пользовательского интерфейса. Некоторые проблемы могут возникать в зависимости от конкретного оборудования игрока – ошибки сглаживания приводят к зернистой графике. Это может быть связано с распространенной графической картой, которая несовместима с рендерингом текстур компании. В зависимости от конкретной проблемы, это может проявляться даже в виде системного сбоя при запуске игры на некоторых устройствах.
3. Облачная система CRM
Решения по управлению взаимоотношениями с клиентами активно используют базы данных для получения информации о своих сделках, поставщиках и других важных аспектах бизнеса, в основном с помощью облачных хранилищ. Тестировщики должны убедиться, что эта база данных и ее облачные сервисы работают в различных сетях, включая 3G и 4G, если пользователю необходимо получить доступ к ней без подключения к Интернету. Команда также должна проверять широкий спектр операционных систем, поскольку определенные сбои могут проявляться, например, только на устройствах Linux.
Ручные или автоматические тесты на совместимость?
Автоматизация может быть очень полезна для тестов совместимости, позволяя командам проверять большое количество устройств гораздо быстрее, чем при ручном подходе. Однако ручное тестирование может быть более уместным при проведении проверок на ограниченном количестве браузеров и устройств – например, видеоигра доступна только на двух платформах. Удобство использования программного обеспечения часто является основным фактором в тестах на совместимость и обычно требует человеческого взгляда, который может лучше определить проблемы графического рендеринга. Автоматизация роботизированных процессов может помочь в этом вопросе путем внедрения программных роботов, которые могут более легко имитировать подход человека к тестированию совместимости.
Для программ, разработанных для широкого спектра устройств, таких как мобильные и веб-приложения, автоматизация позволяет команде обеспечить более широкое тестовое покрытие. Они даже могут использовать гиперавтоматизацию для интеллектуальной передачи этих проверок на аутсорсинг таким образом, чтобы при этом человеческие тестировщики проверяли эти платформы на предмет функциональности, специфичной для пользователя. Тестирование совместимости при ручном тестировании все еще является обязательным для некоторых задач – например, для проверки правильности отображения пользовательского интерфейса на каждом устройстве. Это означает, что лучшим подходом может быть смешанная стратегия, которая позволяет тестировать больше устройств в целом за счет автоматизации, увеличивая темпы тестирования и учитывая при этом важность удобства использования.
Что нужно для того, чтобы начать тестирование на совместимость?
Основные предпосылки для тестирования на совместимость обычно включают:
1. Квалифицированный персонал по тестированию
Тестировщики совместимости обычно имеют более высокие требования к квалификации, чем другие виды контроля качества, поскольку они проверяют более широкий спектр устройств и часто сталкиваются с большим количеством ошибок. Это может включать решение проблем, общение и внимание к деталям. Руководители групп должны назначать тестировщиков, имеющих опыт изучения одного и того же приложения на многих платформах.
2. Сильная эмуляция устройства
Может быть трудно найти и протестировать каждое физическое устройство в пределах возможностей команды, поэтому эмуляция необходима для того, чтобы увидеть, как различные платформы реагируют на одну и ту же программу. Этот процесс редко бывает идеальным, и тестировщики должны изучить множество доступных эмуляторов и инструментов автоматизированного тестирования, чтобы понять, какой из них обеспечивает наибольшую точность.
3. Четкий объем тестирования
Команда должна иметь представление о масштабах своей работы до начала проверок; тем более что это может определить темп работы. Хотя программа может быть нацелена на охват многих платформ, тестировщики должны определить подходящую точку отсечения. Например, тестирование операционных систем, выпущенных до Windows 7, может привести к снижению отдачи.
4. Управление временем
Тестирование на совместимость может проводиться в любой момент на этапе обеспечения качества, но обычно его приберегают на конец разработки – когда программа стабильна и функционально завершена. Однако тестировщики должны рассматривать совместимость задолго до этого, поскольку это часто отнимает много времени. Тщательное планирование заранее помогает команде обеспечить достаточное время для каждой проверки.
Тестирование на совместимость
контрольный список, советы и рекомендации
Ниже приведены дополнительные советы, которые должны иметь в виду команды по обеспечению качества при проведении тестов на совместимость:
1. Не стремитесь к абсолютному охвату
Хотя каждая стратегия тестирования направлена на максимальное увеличение тестового покрытия, они, как правило, останавливаются, не достигнув 100%, из-за убывающей отдачи при незначительных улучшениях для очень небольшого числа пользователей. В контексте совместимости команды должны понимать, когда слишком мало клиентов будут использовать устройство, чтобы эти проверки имели смысл.
2. Приоритет кроссбраузерных комбинаций
Тестирование на кросс-браузерную совместимость включает в себя проверку каждого браузера на различных операционных системах. Тестировщики должны использовать комплексные аналитические данные о своей аудитории, чтобы определить наиболее популярные оба варианта и использовать это в качестве руководства для своего подхода. Они могут даже разработать матрицу совместимости браузеров, которая устанавливает объем этих проверок и их различные конфигурации.
3. Убедитесь в правильности расположения
В основе тестирования совместимости лежит обеспечение последовательного опыта, и эти проверки должны быть более глубокими, чем определение того, работают ли функции программы на различных устройствах. Команды также должны проверить общую компоновку программы, включая выравнивание любых форм и таблиц, а также целостность CSS и HTML программы.
4. Проверьте API
Интерфейсы программирования приложений являются основным компонентом того, как браузеры читают приложения, что делает их жизненно важными для тестирования кросс-браузерной совместимости команды. Различные веб-браузеры имеют свои собственные вызовы API, и их обновления со временем могут повлиять на совместимость. Тестировщики должны регулярно проверять их, даже если компания использует одинаковый API для каждой программы.
5. Изучите сертификат SSL
SSL-сертификаты повышают безопасность браузера, шифруя веб-трафик и позволяя пользователям пользоваться преимуществами протокола HTTPS. Веб-сайт или веб-приложение может иметь сертификат, несовместимый с некоторыми браузерами. Это означает, что тестировщики должны проверить сертификат на всех основных платформах, чтобы убедиться, что пользователи чувствуют себя в безопасности на их сайте.
6. Проверка видеоплееров
Программы, отображающие видео, такие как потоковые сервисы или мобильные игры freemium, поддерживаемые рекламой, должны пройти тестирование, чтобы убедиться, что эти видео отображаются на всех предполагаемых устройствах. Для многих приложений эти проверки будут включать в себя как настольные, так и мобильные устройства, и могут учитывать качество видео, скорость и частоту кадров.
5 лучших инструментов и программ для тестирования совместимости
Наиболее эффективные бесплатные и платные инструменты для тестирования совместимости включают:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST предлагает отличную функциональность как в бесплатной, так и в корпоративной (платной) версиях, помогая компаниям любого размера (или бюджета) в проверке совместимости. Компании, выбравшие корпоративную версию ZAPTEST, могут даже получить прибыль, превышающую в 10 раз их первоначальные инвестиции. Функция 1SCRIPT в решении специально адаптирована к потребностям тестировщиков совместимости, позволяя им выполнять одни и те же тесты на разных платформах без изменения кода для соответствия. Добавьте современную функциональность RPA без дополнительных затрат, и вы получите универсальное решение для автоматизации любых задач.
2. LambdaTest
LambdaTest использует облачный подход для предоставления 3 000 автоматизированных устройств – правда, со значительным акцентом на веб-браузеры, что может ограничить эффективность этого решения для определенных программ. Платформа специализируется на непрерывном тестировании, более тесно интегрируя процесс обеспечения качества с разработкой. Проверки в этом приложении также позволяют пользователям устанавливать разрешение, что значительно упрощает тестирование совместимости с кросс-браузерными браузерами. Это решение предлагает модель freemium, хотя она включает ограниченное тестирование без обновления и без реальных устройств.
3. BrowserStack
Подобно LambdaTest, BrowserStack предоставляет доступ к 3 000 реальных устройств; их каталог также включает устаревшие и бета-версии браузеров. Хотя люди чаще обновляют свой браузер, чем ОС, все еще может быть много людей, использующих старые версии – BrowserStack учитывает это. Пользователи также могут использовать тестирование геолокации, чтобы посмотреть, как выглядят веб-сайты и веб-приложения в разных странах. Однако здесь нет бесплатных или freemium-вариантов, а тестирование на реальном устройстве может быть медленным.
4. TestGrid
TestGrid позволяет проводить параллельное тестирование, позволяя командам одновременно проверять несколько комбинаций для ускорения процесса. Это решение также хорошо интегрируется с рабочим процессом тестирования и разработки, что может способствовать применению гибкого подхода, формируя ключевую часть спринтов отдела. Однако TestGrid иногда испытывает трудности с подключением к облачным устройствам и браузерам. Кроме того, программа весьма ограничена в плане нагрузочного тестирования, документирования и добавления новых устройств в систему компании.
5. Browsera
Browsera в основном занимается тестированием веб-сайтов для обеспечения их правильного отображения на различных устройствах, браузерах и операционных системах. Благодаря облачному подходу группам контроля качества не нужно устанавливать виртуальную лабораторию тестирования на свои устройства. Browsera также может сравнивать результаты, чтобы грамотно выявить проблемы с версткой и ошибки JavaScript, которые может пропустить даже человек-тестировщик. Однако Browsera не имеет поддержки нескольких распространенных браузеров, включая Opera, и предлагает бесплатно только базовые функции тестирования.
Заключение
Тестирование на совместимость имеет решающее значение для успешной стратегии обеспечения качества, позволяя командам проверить свои приложения на широком спектре устройств. Не применяя этот метод, компании могут не знать, что их программное обеспечение не будет работать для большей части целевой аудитории до момента запуска. Это стоит много времени и денег по сравнению с предрелизным тестированием, и такие приложения, как ZAPTEST, могут еще больше упростить этот процесс. Благодаря 1SCRIPT и многим другим функциям, доступным бесплатно, таким как параллельное тестирование, выбор ZAPTEST в качестве инструмента тестирования может преобразить любой проект и дать командам полную уверенность в своем приложении.