Всем привет!
За семь лет в тестировании мне пришлось много работать с десктопными приложениями, но конечно, и мобильные веб-приложения тоже тестировал. Знаю по опыту, что периодически у тестировщиков возникают сложности с работой над определенным функционалом. Я говорю об аудио- и видеозвонках. И чтобы помочь тем, кто впервые столкнулся с подобным, я сформировал чек-лист тестирования звонков.
Я написал его на основании багов, выявленных не только при использовании техник тест-дизайна, но и при исследовательском тестировании. Уверен, что этот чек-лист позволит вам найти больше ошибок, которые могут быть неочевидны на первых этапах работы с приложением. Например: после нескольких включений-отключений кнопки паузы у одного из собеседников кнопка “Mute” не отключает микрофон или при относительно долгом звонке происходит “утечка” оперативной памяти.
В моем чек-листе рассмотрены проверки для peer-to-peer (P2P) звонков. Сам он разбит на 7 логических блоков.
Раздел истории звонков:
- Проверка отображения списка истории вызовов;
- Проверка отображения кнопок действий;
- Проверка появления новых записей в истории после завершения звонка;
- Проверка исчезновения удалённых записей (при поддержке удаления);
- Появление новых записей в истории вызовов после завершения звонков;
- Проверка исчезновения записей в истории звонков после их удаления (если допустимо удаление);
- Работа сортировки записей в истории звонков;
- Работа фильтров записей в истории звонков;
- Отображение истории звонков с настроенными сортировкой и фильтрами после переключения между разделами (и перезапуском приложения);
- Отображение пустого списка истории звонков (часто при пустых списках выводятся тексты и/или изображения вроде “тут будут отображаться совершенные звонки” или “список пуст”. Важно проверить не только отображение текста/картинки, но и грамматику);
- Если допустимо удаление записей в истории звонков, то возможны всплывающие окна с вопросом “Точно желаете удалить звонок ХХХХХ ?”. Тут также следует уделить внимание окончаниям при возможности удалять сразу несколько записей (пример: “удалить одну запись”, “удалить две записи”, “удалить 21 запись”);
- Проверка языка (если приложение поддерживает несколько языков, то необходимо проверять грамматику и верстку на нескольких языках. Т.к. размеры предложений на разных языках разные, то текст может быть обрезан, а также кнопки или значки “смещаться”);
- Проверка кнопок действий (если не выбрана запись в истории звонков, то часть кнопок действий должна быть недоступна, например «совершение вызова»).
Окно входящего вызова:
- Отображение самого окна (верстка, размеры, текст);
- Отображение и работа кнопок (например, при аудиозвонке у нас отображается две кнопки: принять и отклонить, а при видеозвонке три: ответ по аудио, ответ по видео, отклонить);
- Проверка закрытия – если есть кнопка закрытия (крестик), то нужно проверить действия с ним. Если эта кнопка доступна, то что будет происходить при ее нажатии (если окно вызова свернется, проверить возможность восстановления окна);
- Проверка звукового сопровождения при входящем звонке.
Способы совершения звонка.
3.1 Из раздела истории звонков:
- Проверка посредством функциональности набора номера;
- Проверка звонка кому-то из истории.
3.2 Из других разделов (ниже перечисляю наиболее распространенные):
- Проверка звонка из раздела почты (как из списка писем, так и из окна письма);
- Проверка звонка из раздела чатов (из личного чата и конкретному участнику из группового чата);
- Проверка звонка из раздела контактов (из карточки контакта);
- Проверка звонка из календарного события;
- Проверка звонка из раздела задач (карточка задачи).
Кроссплатформенность/кроссбраузерность:
- мобилка-мобилка
(например iOS-Android, а также на одинаковых ОС, но разных версиях);
- десктоп-десктоп
(например Win-Mac, Win-Linux, Mac-Linux, а также на одинаковых ОС, но разных версиях);
- веб-веб
(Mozilla Firefox — Google Chrome, Safari — Opera, и т.д., если требуется, то можно еще на одинаковых браузерах, но разных версиях);
- смешанные
(веб-мобилка, веб-десктоп, десктоп-мобилка).
Окно набора номера:
- Проверка плейсхолдера в поле ввода (если должно быть, то наличие текста при пустом поле, например “Введите номер»);
- Проверка наличия кнопок (цифры, кнопки вызова (аудио- и видео-), кнопка удаления);
- Проверка доступности ввода в поле ввода, как с кнопок в окне набора номера, так и с клавиатуры;
- Проверка доступности копирования/вставки/вырезания в поле ввода;
- Проверка работы кнопок (цифры, удаление, аудио- и видеовызовы).
Окно звонка:
- Открепление и закрепление звонка;
- Поведение при свернутом приложение (будет ли вспомогательное мини-окно звонка, если такое есть);
- Разные действия во время звонка (проверяется как поочередное включение-отключение, так и комбинированное):
- звук (мьют),
- пауза,
- камера,
- шаринг экрана,
- тональный набор
(шаги для проверки можно взять из пункта “окно набора номера”, а также на реальных звонках необходимо проверять работу тонального набора).
- Отклонение входящего звонка, на который не ответили (когда звонят нам и мы “сбрасываем”);
- Отклонение исходящего звонка, на который не ответил собеседник (когда звоним мы и собеседник “сбрасывает”);
- Отклонение входящего звонка, который приняли (когда звонят нам и мы “сбрасываем”);
- Отклонение исходящего звонка, который принял собеседник (когда звоним мы и собеседник “сбрасывает”);
- Второй (третий и т.д.) звонок во время первого (как входящий, так и исходящий). Тут зависит все от реализации и возможны другие варианты:
- второй звонок невозможен во время первого;
- первый звонок становится на паузу и открывается окно второго звонка;
- возможны и другие варианты, все зависит от реализации в конкретном приложении.
Прочие проверки:
- Отключение камеры/микрофона на устройстве как до вызовов, так и в момент вызова;
- Прерывание интернета;
- Переключение между источниками интернета;
- Долгое время звонка (более 15 минут);
- Звонки при плохом интернете (на медленной скорости, при потере пакетов – на Win можно использовать программу OneClickFirewall);
- Звонки при отсутствующем интернете (как у того кто звонит, так и у того, кто принимает звонок);
- Звонок на несуществующий/недоступный/невалидный номер.
Чек-лист составлен с прицелом на максимальное покрытие различных сценариев работы с вызовами, так что надеюсь, он поможет вам в поиске и устранении багов ещё на ранних этапах. Сохраняйте и обязательно записывайте свои проверки, дополняйте чек-лист. Формируя его под свой проект вы можете объединять или разбивать блоки или пункты в них. Несмотря на то, что чек-лист объемный, его точно можно дополнить. Делитесь вашими идеями в комментариях, а также пишите, составляете ли похожие чек-листы в процессе работы.
Хороший чеклист, как тестировать интерфейс звонилки, но вот сами вызов вы как раз не тестируете. Тестирование звонков подразумевает проверку соединения, двусторонней слышимости, передачу кпв и мелодии удержания, переадресации вызовов, автоответчики и еще вагон всего. И это даже без видео.
Спасибо за комментарий. Очень полезное дополнение. Переадресация и автоответчик на моем проекте еще не реализованы (и в ближайшее время, к сожалению, не планируется). Если эта функциональность есть у читателя на проекте, то разумеется нужно расширить чек-лист, включив в какой-либо из вышеописанных разделов или добавить в новый раздел. Тестирование соединений, слышимости, мелодии удержания и т.д. должно происходить при тестировании в разделах «Кроссплатформенность/кроссбраузерность», «Окно звонка», «Прочие проверки». В данном чек-листе детально это не прописывалось, т.к. это все таки чек-лист, а не полноценные кейсы проверки, где детально указаны шаги и ожидаемый результат. Из опыта, скажу что распространены проблемы с двусторонней слышимостью при кроссплатформенном… Подробнее »
Прикольно, спасибо. Раньше всегда пользовался готовыми чек-листами, сейчас стараюсь свои уже собирать для себя и использовать. Работаю чуть больше двух лет. Но всегда полезно по чужим полазить, что-то новое да найдется.
Спасибо большое за обратную связь. Под каждый проект лучше составлять свои чек-листы, но хорошо, когда под рукой есть универсальный чек-лист, доработка которого займет меньше времени, чем написание с нуля.