bannerbanner
Тестирование программного обеспечения. Занимательная практика
Тестирование программного обеспечения. Занимательная практика

Полная версия

Тестирование программного обеспечения. Занимательная практика

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
1 из 5

Виктор Захаров

Тестирование программного обеспечения. Занимательная практика

Захаров Виктор


Тестирование программного обеспечения.

Занимательная практика


Практика для специалиста по тестированию


Первое издание

Бердск, 2025

Аннотация

Погрузитесь в увлекательный мир практики тестирования программного обеспечения с этой книгой, которая является логическим продолжением издания по теории тестирования. Автор приглашает вас в захватывающее путешествие, где вы освоите анализ требований, проектирование тестов, создание тестовые артефактов и многое другое. Вас ожидает более 100 практических заданий и примеров из реальной жизни, которые помогут закрепить материал и поднять уровень ваших компетенций. Эта книга – настоящий практикум, полный вызовов и готовых решений, который станет надёжным фундаментом для вашей успешной карьеры в области тестирования.

Предисловие

Представьте, что теория – это детальная карта, а практика – это реальное путешествие по указанным на ней маршрутам. Только в пути вы приобретаете уникальный опыт, который невозможно получить, просто разглядывая карту в уюте дома. Из этого следует, что без применения теории на практике невозможно набраться необходимого опыта для повышения квалификации, развития профессиональных навыков и углубления знаний. Эта книга поможет вам приблизиться к глубокому пониманию практической стороны тестирования программного обеспечения.

Данная книга является логическим продолжением издания «Тестирование программного обеспечения. Основы»1, в котором изложены фундаментальные теоретические аспекты тестирования. Здесь мы сосредоточимся на практическом применении ранее рассмотренной теории. Рекомендуется сначала ознакомиться с предыдущей книгой, поскольку она содержит базовые знания, необходимые для эффективного решения задач. Без этой подготовки выполнение практических заданий может вызвать значительные трудности.

Практика в теории

Прежде чем приступать к тестированию любого элемента, необходимо глубоко понимать сам процесс. Без достаточного опыта специалист рискует упустить ключевые аспекты, требующие особого внимания. Например, перед проверкой поля ввода текста в приложении тестировщику важно знать, как правильно подходить к этой задаче. Если у него нет практического опыта, он может не осознавать, на что именно следует обратить внимание. Эта глава посвящена тому, как применять теоретические знания и навыки на практике. Мы разберём основные элементы и базовые проверки, используемые при тестировании приложений2.

В этой главе мы предлагаем практические рекомендации, которые помогут в будущем успешно решать реальные задачи. Наша цель – не охватить все возможные аспекты, а сосредоточиться на ключевых, фундаментальных элементах тестирования приложений. Поэтому мы не стремимся к исчерпывающему описанию, а акцентируем внимание на базовых компонентах и проверках.

Тестирование надписей

Тестирование надписей в интерфейсе приложений является важной частью обеспечения качества приложений и удобства их использования. Надписи должны быть чёткими, понятными и корректными, чтобы пользователи могли легко ориентироваться в интерфейсе приложения. При тестировании необходимо обращать внимание на все имеющиеся в интерфейсе надписи. Сколько надписей в интерфейсе данного приложения?



В интерфейсе приложения семь надписей, включая заголовок приложения и подписи кнопок (текст кнопок).

Рассмотрим основные аспекты, на которые следует обратить внимание при тестировании надписей.

Типографика и читабельность. При тестировании типографики и читабельности внимательно оцениваем ключевые аспекты, чтобы убедиться, что информация легко воспринимается пользователями. Сюда входит проверка размера шрифта, чтобы текст был достаточно большим для чтения без напряжения глаз, а также оценка цвета и контраста текста по отношению к фону, чтобы обеспечить хорошую видимость при различном освещении и на разнообразных устройствах. Межстрочный интервал и ширина символов также должны способствовать удобочитаемости текста, предотвращая слияние строк и упрощая сканирование текста глазами.

Правильность и однозначность. Необходимо удостовериться, что все надписи написаны без ошибок: орфографических, пунктуационных и грамматических. Это обеспечивает профессиональный вид приложения и способствует лучшему пониманию содержимого пользователями. Также важно проверить, что тексты ясны и не содержат двусмысленностей, чтобы избежать возможных недопониманий, которые могут повлиять на работу с приложением. Тщательное тестирование этих аспектов поможет убедиться, что информация передаётся чётко и корректно, что особенно важно для функциональных элементов интерфейса, таких как кнопки действий, подсказки и инструкции.

Соответствие контексту. При тестировании соответствия контексту необходимо убедиться, что тексты надписей адекватно отражают ситуацию их использования, обеспечивая чёткое и логичное взаимодействие пользователя с интерфейсом. Это особенно важно в диалоговых окнах, где тексты должны точно соответствовать доступным действиям пользователя, например, подтверждение удаления файла или сохранение изменений. Надписи должны быть формулированы так, чтобы исключить любые возможности недопонимания и предоставить пользователю полную ясность в отношении того, какие действия будут выполнены при нажатии на кнопки.

Согласованность. Убеждаемся в единообразии надписей по всему интерфейсу, что важно для предотвращения путаницы. Необходимо проверить, чтобы одни и те же действия или объекты обозначались одинаковыми терминами в разных частях приложения. Например, если для отправки данных используется кнопка «Отправить» в одном разделе, то в других разделах не должно быть кнопок «Подтвердить» или «Запустить» для выполнения той же функции. Это помогает избежать ситуаций, когда пользователь затрудняется в понимании или даже делает ошибки из-за несогласованных обозначений.

Интерактивность. Необходимо удостовериться, что все интерактивные элементы, такие как ссылки или кнопки, чётко выделены и легко узнаваемы для пользователя. Ссылки должны отличаться от обычного текста по стилю – обычно они подчёркнуты или выделены цветом, чтобы пользователь мог сразу понять, что по ним можно кликнуть. Это обеспечивает интуитивное взаимодействие и помогает избежать путаницы, делая интерфейс дружелюбным и понятным для пользователей.

Тестирование полей для ввода текста

Тестирование полей для ввода текста – это проверка элементов интерфейса, в которые пользователи могут ввести информацию, такую как имя, пароль, комментарии, числовые данные и прочую информацию. Важно убедиться, что эти поля работают правильно и удобны для использования.



Обратим внимание на важные детали, касающиеся проверки полей для ввода текста.

Функциональность. При тестировании функциональности полей ввода основное внимание следует уделить проверке того, что поля корректно принимают и отображают введённые данные. Важно убедиться, что при клике на поле ввода появляется курсор, позволяя пользователю начать ввод текста. Также необходимо проверить, что текст вводится и отображается без ошибок или искажений, а также соответствует ожидаемому формату, например, для полей с ограничениями на количество символов или специфические форматы данных (как в случае с электронной почтой или телефонными номерами).

Ограничения на ввод. При анализе ограничений на ввод в полях формы важно проверить, что установленные ограничения точно соблюдаются. Это включает в себя проверку максимального и минимального количества символов, которые можно ввести в поле, а также ограничения на типы данных: например, проверьте, что поле, предназначенное только для ввода цифр, не принимает буквы или специальные символы. Если поле должно принимать комбинацию различных символов, убеждаемся, что оно корректно обрабатывает и отображает все разрешённые типы данных. Также важно проверить, что при попытке ввода недопустимых данных система корректно информирует пользователя о нарушении правил ввода, предоставляя ясные инструкции или сообщения об ошибке.

Проверка данных. Необходимо удостовериться, что поля корректно анализируют введённую информацию и реагируют на ошибки. Например, при вводе электронного адреса поле должно проверять, соответствует ли введённая строка формату адреса электронной почты и выдавать предупреждение, если формат некорректен. Сообщения об ошибках должны быть чёткими и понятными, что поможет пользователю исправить ошибку без дополнительных затруднений. Эти тесты способствуют тому, что приложение не только предотвращает ввод неверных данных, но и помогает пользователям корректировать свои действия.

Копирование и вставка. При тестировании функциональности копирования и вставки необходимо убедиться, что поля ввода поддерживают эти операции. Необходимо проверить, можно ли копировать текст из полей и вставлять текст в них, а также удостовериться, что при вставке данные корректно отображаются и сохраняют свой первоначальный формат. Это особенно важно для полей, принимающих форматированный текст или специфические данные, такие как номера телефонов или адреса электронной почты. Также стоит проверить, что система правильно обрабатывает попытки вставить недопустимый или потенциально вредоносное содержимое, например, скрипты или слишком длинные строки, предотвращая возможные ошибки или угрозы безопасности.

Очистка полей ввода. При проверке возможности очистки полей ввода необходимо проверить, что пользователи могут удалять введённые данные с использованием клавиатурных клавиш, таких как «Backspace» и «Delete», а также через любые специальные кнопки очистки, предусмотренные в интерфейсе приложения. Эта проверка должна подтвердить, что после использования указанных методов поля действительно очищаются и готовы к новому вводу данных без оставшихся данных от предыдущего ввода.

Перенос строк. Нужно убедиться, что многострочные поля поддерживают перенос строк, что позволяет пользователям организовывать текст более чётко и понятно. Это особенно важно для текстовых полей, где требуется вводить длинные сообщения или комментарии, например, в формах обратной связи или текстовых редакторах. Необходимо удостовериться, что нажатие клавиши «Enter» приводит к созданию новой строки, а не к отправке данных формы, если иное не предусмотрено спецификой приложения. Также следует проверить, что переносы строк корректно сохраняются и отображаются при последующем просмотре или редактировании данных.

Ввод паролей. При тестировании полей для ввода паролей необходимо проверить, что введённые символы маскируются специальными символами (обычно это точки или звёздочки), чтобы обеспечить конфиденциальность данных пользователя. Это стандартная мера безопасности, предотвращающая возможность подглядывания пароля посторонними лицами во время ввода. Также следует проверить, что функция копирования и вставки отключена для полей пароля, чтобы минимизировать риск несанкционированного извлечения пароля. В дополнение к этому полезно удостовериться, что система предлагает надёжные меры по обработке и хранению паролей, такие как шифрование, чтобы усилить защиту пользовательских данных.

Десятичные числа. При проверке полей ввода, предназначенных для работы с десятичными числами, необходимо тщательно проверить их способность корректно обрабатывать и принимать числа с дробями. Важно удостовериться, что поле принимает как точку, так и запятую в качестве десятичного разделителя, если это поддерживается приложением, а также корректно обрабатывает введённые данные в обоих форматах. Особое внимание следует уделить проверке влияния системных настроек на ввод десятичных данных, так как в разных регионах могут использоваться различные стандарты для разделения целой и дробной части числа. Кроме того, необходимо проверить, как система обрабатывает сценарии, когда десятичная точка ставится в начале числа (например, «.5»), и убедиться, что такие числа корректно суммируются или обрабатываются в расчётах (например, «1.5 + .5» должно корректно рассчитываться как 2.0 или приложение должно сообщать об обязательном вводе ведущего нуля – «0.5»). Эти тесты помогут гарантировать, что поля ввода надёжно работают с числовыми данными в любых форматах и условиях, предоставляя точные и ожидаемые результаты.

Граничные значения. При тестировании граничных значений для полей ввода, где заданы ограничения на размер или определённые границы ввода данных, крайне важно провести тщательный анализ с использованием специализированных тестов для граничных значений. Проверяем минимально и максимально возможные вводимые значения, чтобы убедиться, что система корректно обрабатывает эти крайние случаи. Например, если поле ограничено 100 символами, следует проверить ввод 100 символов и убедиться, что они принимаются, а также попытаться ввести 101 символ, чтобы проверить, правильно ли система блокирует этот ввод. Аналогично следует проверить поведение поля при вводе минимально допустимого значения, например, одного символа или минимального числа в числовом поле. Такие тесты помогут обнаружить потенциальные ошибки в обработке данных на границах допустимых значений и гарантировать, что ввод пользователя будет обработан корректно.

Рассмотрим дополнительные аспекты для полей с ограниченным вводом.

Тип вводимых данных. При проверке полей с ограничениями на типы вводимых данных необходимо проверить, что механизмы приложения работают правильно. Это включает тестирование полей, предназначенных для ввода специфических данных, таких как даты, телефонные номера, номера кредитных карт или числа, чтобы убедиться, что они принимают только допустимые форматы и корректно обрабатывают ввод. Например, если поле предназначено только для ввода чисел, необходимо проверить, что при попытке ввести буквы или специальные символы данные не принимаются. Такие тесты помогают гарантировать, что ввод пользователя соответствует ожидаемым требованиям и что приложение исключает некорректный ввод, предотвращая возможные ошибки в обработке данных.

Формат ввода данных. Необходимо убедиться, что поля ввода строго соответствуют заданным форматам для определённых типов информации, таких как даты или телефонные номера. Это требует тщательного тестирования механизмов валидации, чтобы убедиться, что поля не принимают данные, которые не соответствуют ожидаемому формату. Например, если поле предназначено для ввода даты в формате «ДД.ММ.ГГГГ», следует проверить, что ввод любого отличающегося формата (например, «ММ/ДД/ГГГГ») вызывает ошибку валидации и предупреждает пользователя о некорректном вводе. Также стоит проверить, как приложение реагирует на ввод символов или неполных данных, чтобы убедиться в надёжности и точности проверок.

Автоматическое дополнение. В процессе тестирования функции автоматического дополнения в полях ввода важно оценить, насколько эффективно и точно она работает. Необходимо проверить, что при начале ввода система предлагает релевантные варианты для завершения введённых данных, например, предлагая закончить ввод адреса электронной почты после введения первых нескольких символов. Тестирование должно включать разные сценарии использования, чтобы убедиться, что предложения актуальны и соответствуют вводимым данным. Кроме того, важно проверить скорость реакции приложения на ввод пользователя, а также то, как оно обрабатывает неверный ввод или необычные варианты данных. Также следует удостовериться, что функция автоматического дополнения не нарушает приватность и безопасность данных пользователя, предлагая только те варианты, которые соответствуют ранее введённой информации.

Тестирование кнопок

Тестирование кнопок – это процесс, направленный на проверку их функциональности, визуального отображения, доступности и взаимодействия с пользователем.



Разберём основные элементы, имеющие значение при тестировании кнопок.

Возможность нажатия, активность. Необходимо убедиться, что каждая кнопка доступна для взаимодействия с ней. Проверяем, что кнопка реагирует на нажатия, проведённые различными методами ввода, такими как мышь, сенсорный экран и клавиатура, и что реакция на взаимодействие соответствует ожидаемому результату без задержек или ошибок. Проверки включают проверку визуальной обратной связи при нажатии, например, изменения цвета или анимации, подтверждающих активацию кнопки. Такие тесты помогут обеспечить надёжное и интуитивно понятное взаимодействие пользователей с приложением, повышая удобство и эффективность его использования.

Выполнение заданного действия. При проверке выполнения заданного действия каждой кнопкой важно убедиться, что она точно соответствует своему предназначению, как описано в требованиях к приложению. Необходимо проверить, что при нажатии кнопка выполняет именно то действие, которое от неё ожидается, будь то отправка формы, переход на другую страницу, обновление информации или любое другое действие. Кроме того, следует проверить, что действие выполняется без задержек и сопровождается соответствующими уведомлениями или изменениями интерфейса, подтверждающими успешное выполнение операции.

Состояния кнопки. При тестировании визуальных состояний кнопки важно убедиться, что каждое состояние – обычное, при наведении курсора, при нажатии, и неактивное, когда кнопка заблокирована – чётко различимо и корректно функционирует. Проверяем изменения цвета, подсветки или текстуры, которые должны наглядно информировать пользователя о возможности взаимодействия или его ограничениях. Также важно, чтобы после активации кнопки она возвращалась в исходное визуальное состояние, подтверждая завершение действия.

Подписи. Для обеспечения лучшей доступности и удобства использования каждая кнопка в интерфейсе должна быть снабжена чёткой подписью, которая точно описывает её функцию. Это важно, чтобы пользователи могли легко понять, какое действие будет выполнено при нажатии на кнопку, без необходимости догадываться или искать дополнительную информацию. Подписи должны быть краткими, но информативными, и использовать язык, понятный целевой аудитории.

Защита от многократного нажатия. При проверке кнопок, которые инициируют действия, связанные с обработкой данных, такие как отправка формы, особое внимание необходимо уделить проверке защиты от многократного нажатия. Необходимо убедиться, что механизм блокировки кнопки или другие методы предотвращения повторной отправки данных работают корректно. Тестирование должно включать сценарии, когда пользователь пытается нажать кнопку несколько раз подряд, чтобы проверить, что данные не отправляются повторно и приложение обрабатывает только одно нажатие. Также стоит проверить, что кнопка корректно разблокируется или восстанавливает своё состояние после успешного завершения операции и что пользователю предоставляется соответствующая обратная связь о статусе выполненного действия.

Подсказки на критические действия. Если кнопки выполняют важные или необратимые действия, такие как удаление данных, необходимо убедиться в наличии визуальных подсказок или запросов на подтверждение действия. Проверяем, что перед выполнением таких операций пользователю отображаются предупреждения или запросы на подтверждение, например, в виде всплывающих окон с вопросом «Вы уверены, что хотите удалить этот элемент?». Эти подсказки должны быть хорошо заметны и понятны, чтобы пользователь мог осознанно подтвердить или отменить действие. Тестирование должно охватывать различные сценарии, включая случайное нажатие кнопки, чтобы убедиться, что приложение надёжно предотвращает нежелательные или ошибочные операции.

Тестирование радиокнопок

Радиокнопка – это специальные кнопки, которые позволяют выбирать один из нескольких вариантов ответа. Когда нажимаем на радиокнопку, она светится или отмечается специальным образом, чтобы показать, что выбран именно этот вариант. Из нескольких радиокнопок можно выбрать только один вариант.



Тестирование радиокнопок в интерфейсе приложений включает проверку их функциональности, взаимодействия с пользователем, визуального представления и доступности. Проанализируем основные моменты, которые следует принимать во внимание при проверке радиокнопок.

Выбор по умолчанию. При тестировании радиокнопок проверяем, правильно ли установлен первоначальный выбор, если он предусмотрен требованиями. Это означает, что при открытии формы или страницы с набором радиокнопок должна быть выбрана именно та кнопка, которая указана в требованиях, или ни одна кнопка не должна быть выбрана, если такова задумка. Например, если по умолчанию должен быть выбран определённый вариант, убеждаемся, что он автоматически активен при загрузке страницы.

Сохранение выбора. Проверяем, что выбор пользователя сохраняется корректно, особенно при таких действиях, как перезагрузка страницы или отправка формы. Это означает, что после выполнения этих действий выбранная пользователем радиокнопка должна оставаться активной, сохраняя ранее сделанный выбор. Проверка этого аспекта гарантирует, что приложение сохраняет выбор пользователя без необходимости повторного выбора.

Отклик на действия пользователя. Необходимо удостовериться, что радиокнопки корректно реагируют на все способы взаимодействия, включая клики мышью, касания на сенсорных экранах и навигацию с клавиатуры. Радиокнопки должны незамедлительно активироваться при любом из этих действий, чётко отражая выбранный пользователем вариант.

Отличие состояний. При тестировании радиокнопок важно убедиться, что пользователь легко может отличить выбранное состояние от невыбранного. Это означает, что радиокнопка в активном состоянии должна визуально выделяться, например, заполненным кружком, цветом или другой заметной меткой, в то время как невыбранные кнопки остаются пустыми или менее выраженными. Такое различие помогает пользователю сразу понять, какой вариант выбран.

Группировка радиокнопок. Проверяем, что кнопки, относящиеся к одной группе, визуально сгруппированы вместе, чтобы пользователи могли легко понять, что из предложенных вариантов можно выбрать только один. Эта группировка может быть достигнута с помощью расположения кнопок близко друг к другу, применения общего заголовка или рамки вокруг группы. Такое визуальное оформление помогает пользователю интуитивно понять, что все радиокнопки внутри этой группы связаны между собой, и выбор одного варианта автоматически исключает возможность выбора другого.



Единичный выбор. При проверке радиокнопок в группе необходимо убедиться, что приложение позволяет выбрать только один вариант. Это означает, что при выборе одной радиокнопки все другие кнопки в той же группе автоматически снимают свой выбор. Такой механизм гарантирует правильное функционирование радиокнопок, позволяя пользователю сделать только один выбор из предложенных вариантов, что является основным принципом их работы.

Взаимодействие с другими элементами. Проверяем, как выбор радиокнопок влияет на другие элементы интерфейса. Например, необходимо убедиться, что выбор определённой радиокнопки может активировать или деактивировать другие элементы, такие как кнопки, или привести к появлению дополнительных полей ввода, которые пользователю нужно заполнить. Это взаимодействие должно обеспечивать логичное и предсказуемое поведение интерфейса.

Проверка данных. При тестировании логики проверки данных в интерфейсе с радиокнопками необходимо убедиться, что эта проверка корректно работает, особенно в случаях, когда выбор одного из вариантов является обязательным. Это означает, что, если пользователь не сделал выбор, система должна выдавать соответствующее предупреждение или не позволять продолжить выполнение действия, например, отправку формы, до тех пор, пока не будет выбрана одна из радиокнопок. Тестирование должно включать сценарии с отсутствием выбора, попыткой обойти обязательный выбор, а также с правильным выбором, чтобы подтвердить, что логика проверки данных надёжна и выполняется в соответствии с требованиями.

Тестирование чекбоксов

Чекбокс – это элемент интерфейса приложения в виде квадрата, где можно поставить или снять отметку (галочку). Когда чекбокс отмечен галочкой, это означает, что функция или опция активирована или выбрана. Например, когда оформляется заказ в интернет-магазине и видим чекбокс с надписью «Я соглашаюсь с условиями пользовательского соглашения», можем поставить галочку в этом чекбоксе, чтобы подтвердить своё согласие с условиями. Чекбоксы позволяют пользователям выбирать один или несколько вариантов из предложенного набора.

На страницу:
1 из 5