Тестирование текстового поля в мире веб-приложений является одними из ключевых этапов для будущего взаимодействия с пользователем. Они встречаются повсеместно: в формах регистрации, поисковых окнах, комментариях и многих других местах. Поэтому важно уделять внимание тщательному тестированию текстовых полей для обеспечения надежности и качества пользовательского опыта.
Тестовые случаи для поля «Имя», текстового блока, текстового поля: В этом посте мы обсудим тестирование текстового поля. У каждого веб- или настольного приложения есть текстовый ввод для своей функциональности. Для эффективного тестирования текстового поля нам нужно понимать цель его и обрабатываемый ввод. Текстовое поле — это элемент ввода в HTML и XHTML, который позволяет пользователю вводить текст. Это один из самых распространенных элементов в любой форме, но у него есть некоторые специфические использования и стили, которые делают его отличным выбором для тестирования пользователя.
Текстовое поле — это одномерный элемент ввода для пользовательского ввода. В отличие от других элементов, у него нет дополнительной семантики; поэтому его значение должно быть явно определено, чтобы избежать недоразумений пользователем. Текстовые поля стали важной частью веб-опыта, тестирование веб-форм. Они являются стандартной частью каждого веб-сайта, и многие браузеры предоставляют отдельное место для ввода текста. Тем не менее, они часто являются нарушителями в отношении проблем с удобством использования, начиная от самых базовых и заканчивая самыми сложными. Эта статья поможет вам понять, как следует проектировать текстовые поля и что они должны делать, чтобы быть действительно удобными.
Тестирование текстового поля чек-лист
Функциональные проверки | Юзабилити, интерфейс | Измерение, форматы | Классы эквивалентности для тестирования | базовые примеры |
---|---|---|---|---|
Позволяет ввести пользователю информацию. | Типы полей ввода: | Length, number of characters | min; max 0 (epmty); min-1 max +1, very big | 5 chars; 25 chars epmty string; 4 chars; 26 chars; 100 chars; |
Проверка ввода различных значений для функциональности. Ввод только пробелов и проверка обработки. Ввод пробелов различными способами для проверки корректной обработки. | 1. Одиночное поле ввода (Single-line) 2. Поле с несколькими строками для ввода (Multi-line) 3. Текстовая область для ввода (Text area) | Type of symbols | Alphabet (case sensitive or non case sensitive) | asdfsf; GsGEgG; RTYUG |
Ввод данных с минимальным и максимальным количеством символов. | Основные требования: — Легкость обнаружения на странице. — Понятность предназначения поля для пользователя. — Визуальное отображение доступности, наличия введенного текста и валидности данных. — Наличие названия (label). — Линия ввода (input line). — Индикатор ввода (cursor) при клике на поле ввода. | Special | !!@#$%^&*()_+|-=\{} []:»;’<>?,./ problems with these symbols are very common. First you need to clarify what charsets ( languages ) should be supported. | |
Ввод числовых данных в различных форматах. Попытка ввода тегов и скриптов в поле. Вставка данных из буфера обмена. | Типы полей ввода: 1. Сгруппированные символы (например, номер карты). 2. Поля с префиксами и суффиксами. 3. Поля для ввода пароля (например, телефон). | Not english | ÀÇÈÌÑÒÙßàçèìíñò | |
Проверка изменения указателя мыши при наведении на текстовое поле. Нажатие Enter и проверка соответствующего действия. | Поведение: — При автопоиске введенная пользователем часть тела подсвечивается. — Если поле пустое, отображается «Placeholder text». — Под полем ввода отображается ‘Helper text’ для подсказок пользователю. — ‘Helper text’ меняется на ошибки при вводе неверных данных. | Alphanumeric | abcd1234 | |
Ввод неверных данных и проверка их сохранения. Проверка отображения значения по умолчанию при загрузке формы. | — Обязательные поля помечаются значком ‘*’, иногда выделяются красным. — Вывод ошибки содержит конкретный текст или условия валидности данных. — Некоторые поля помечаются как ‘Optional’, что означает их необязательность. | Double-byte | hierogliphs: 事事事事事事 | |
Ввод корректных данных для проверки нормальной работы. Проверка возможности оставить поле пустым. | — Под полем ввода может быть счетчик введенных символов (1/10). — Приложение должно обрабатывать большое количество символов без потери данных. — Иконка голосового ввода рядом с полем. | Spaces present | No spaces | ggaga |
Проверка максимального количества символов в поле. Проверка обработки превышения максимального количества символов. | — Иконка дропдауна для выбора значений. — Иконка очистки поля (clear button), если применимо. — Подсветка линии ввода при наведении. — Красная подсветка при наличии ошибки. | Leading spaces | ‘ sdasg’ | |
Попытка ввода специальных символов и тегов для проверки обработки. | Trailing spaces | ‘ sgasg ‘ | ||
Проверка возможности выделения текста различными способами. | Way is filled | Type | typed string pasted string | |
Ввод уникальных данных и проверка на уникальность. Открытие формы и проверка автоматической постановки курсора в первое поле. | Paste | (CTRL-C+CTRL-V CTR-X +CTRL-V) | ||
Ввод данных в различных форматах и проверка их соответствия логике и требованиям приложения. | Unique + Case | different exactly the same same but in different case | aaa \ bbb aaa\ aaa aaa\aAa | |
Попытка ввода невалидных символов в соответствующие поля. | Defult value | blank / | blank / |
Основной упор проверок проводя тестирование текстового поля должен исходить из сути и целей функционала этого поля:
1. Обязательные кейсы: Тестирование должно начинаться с базовых сценариев. Проверьте, что пользователь может успешно ввести текст, в том числе числа и специальные символы. Удостоверьтесь, что валидация работает корректно и ограничения на длину текста применяются правильно.
2. Валидация и безопасность: Важна не только корректность введенных данных, но и обработка невалидных. Тестирование должно включать проверку на предотвращение внедрения SQL и XSS-атак, а также обработку недопустимых символов.
3. Интерфейс и отзывчивость: Плавность ввода, отображение курсора, подсказки и стили текстового поля — все эти аспекты влияют на визуальное и функциональное восприятие пользователем. Проверьте, что текстовые поля выглядят и ведут себя корректно в различных состояниях.
4. Кроссбраузерность и мобильная совместимость: Текстовые поля могут вести себя по-разному в разных браузерах и на различных устройствах. Тестирование должно включать проверку на различных браузерах (Chrome, Firefox, Safari, Edge) и мобильных устройствах.
5. Интеграция и взаимодействие: Текстовые поля часто взаимодействуют с другими элементами формы. Удостоверьтесь, что они правильно взаимодействуют с кнопками, выпадающими списками и другими формами на странице.
Дополнительно
6. Автоматизация и производительность: Эффективное тестирование включает использование средств автоматизации тестирования, чтобы обеспечить повторяемость тестовых сценариев. Также следует проверить, как текстовые поля ведут себя при медленном или нестабильном интернет-соединении.
7. Глобализация и локализация: Если ваша аудитория глобальна, убедитесь, что текстовые поля корректно обрабатывают данные на разных языках и соответствуют стандартам глобализации.
Тестирование текстового поля — ключевой шаг в обеспечении качественного пользовательского опыта. Внимательное и систематическое тестирование помогает выявить потенциальные проблемы, обеспечивая безопасность и удобство использования. Вместе с другими элементами формы, текстовые поля играют важную роль в создании надежных веб-приложений.
Подробное тестирование текстового поля
Поля с именем являются одними из общих полей любой формы. Так что, если вы идете на собеседование на позицию тестировщика как новичок, вам, скорее всего, предстоит ответить на базовый вопрос по тестированию: как написать тест-кейсы для поля «Имя»?
Поэтому мы решили предложить тест-кейс для тестирования поля «Имя». Прежде чем написать тест-кейс, вам нужно уточнить, пишете ли вы тест-кейсы для полей имени и фамилии, или для какого-то конкретного поля. Также на некоторых собеседованиях интервьюеры формулируют аналогичные вопросы по-разному, такие как тест-кейсы для поля «Имя», тест-кейсы для полей «Имя» и «Фамилия», тест-кейсы для поля «Имя», сценарии тестирования для поля «Имя», тест-кейсы для валидации поля «Имя», тест-кейсы для валидации поля «Имя», тест-кейсы для поля «Полное имя», тест-кейсы для поля «Имя», как написать тест-кейсы для поля «Имя».
UI тестирование текстового поля «Имя»
- Дизайн поля с именем соответствует требованиям заказчика.
- Разметка поля с именем должна соответствовать требованиям заказчика.
- Обязательное ли поле с именем. Если да, то должен отображаться красный знак «*».
- Чек отображения подсказки в поле с именем.
- Дизайн поля с именем выполнен корректно.
- Ширина поля с именем.
- Высота поля с именем.
Функциональное тестирование текстового поля «Имя»
- Чек:
- видимости курсора при клике на поле с именем.
- возможности клика по полю с именем.
- возможности ввода текста в поле с именем.
- что пользователь может вводить только буквы в поле с именем.
- возможности копирования текста из поля с именем.
- возможности удаления текста из поля с именем.
- максимальной длины символов в поле с именем.
- минимальной длины символов в поле с именем.
- длины с граничными значениями в поле с именем.
- возможности оставить поле с именем пустым.
- правильной видимости введенных значений в поле с именем.
Негативные
Проверки:
- что пользователь не может ввести числовые символы в поле с именем.
- что пользователь не может ввести специальные символы в поле с именем.
- Пользователь не должен иметь возможности вводить числовые специальные символы в поле с именем.
- что пользователь не может использовать пробел в поле с именем.
- Пользователь не должен иметь возможности вставлять числовые или специальные символы в поле с именем.
Валидационные тесты текстового поля
- отображения сообщения об ошибке валидации для обязательного поля.
- что при обязательном поле отображается красный знак «*».
- отображения сообщения об ошибке валидации, когда пользователь вводит числовые символы в поле с именем.
- отображения сообщений об ошибке валидации при вводе специальных символов в поле с именем.
- отображения сообщения об ошибке валидации при вводе числовых специальных символов в поле с именем.
- возможности пользователя продолжить с пустым полем с именем.
- отображения сообщения об ошибке валидации, если пользователь ввел максимальное количество символов.
- отображения сообщения об ошибке валидации, если пользователь ввел минимальное количество символов.
Базовое тестирование текстового поля
- Максимально допустимая длина символов в текстовом поле.
- Минимально допустимая длина символов в текстовом поле.
- Ожидаемый символ для текстового поля.
- Разрешение текстовому полю принимать больше символов, чем ожидается и меньше символов, чем указано в ТЗ.
- Только числа.
- Только буквы.
- Десятичные числа.
- Отформатированные числа.
- Только заглавные буквы.
- Строчные буквы.
- Разрешение текстовому полю принимать буквенно-цифровые символы.
- Разрешение текстовому полю принимать заглавные и строчные буквы.
- Специальные символы.
- Особые операции, такие как алфавитно-цифровые HTML-символы / Java Script / SQL-инъекции.
- Разрешение текстовому полю оставаться пустым.
- Содержать пробелы в конце или в начале.
- Разрешение копировать и вставлять в текстовом поле.
- Содержать пробелы.
Типы текстовых полей
В зависимости от требований к текстовому полю в форме ввода, входные данные должны обрабатываться соответственно.
- Поле с именем должно принимать только буквенные значения.
- Поле с именем не должно принимать числовые данные.
- Поле с именем не должно принимать символы.
- Поле «Номер карты» является числовым, поэтому оно должно принимать только цифры.
- Поле «Номер карты» не должно принимать символы и буквы.
- Формы с полем «Номер карты» должны принимать только конкретные числа.
- Поле «Номер карты» не должно принимать ввод, превышающий необходимую длину.
- Поле «Номер карты» автоматически определяет тип карты на основе введенных цифр.
- Поле «Номер карты» также должно определять тип карты (кредитная или дебетовая).
- Поле «Почтовый индекс» должно принимать только буквенно-цифровой ввод от пользователей.
- Поле «Адрес» должно разрешать ввод символов, цифр и символов.
- Поле «Адрес» может быть однострочным или многострочным полем ввода.
- Поле «Адрес» может быть обязательным или необязательным.
- Если для текстового поля не указан тип ввода, в таком случае оно может принимать цифры, текст или символы в качестве ввода. Тестирование в таком случае должно основываться на типе данных, который требуется обработать. Например, поисковый движок принимает такой тип ввода, однако для обработки такого содержимого у поискового движка есть система обработки ввода. Тесты должны соответствовать спецификациям обработки содержимого.
Тестирование «text-area» поля
Текстовая область (text-area) является контейнером веб-страницы, который используется для размещения содержимого или группировки связанного контента. На веб-странице также можно использовать другие методы группировки контента, такие как заголовки, списки и строки. Текстовые области представляют собой участки веб-страницы, где можно вводить и редактировать текст. Эти области обычно создаются с использованием элемента input, textarea или какого-либо другого элемента HTML. Их можно использовать для отображения данных из форм, отправленных пользователями, или для изменения параметра на странице.
Функциональные тест-кейсы для текстовой области:
- Отображение текста по умолчанию внутри текстовой области.
- Проверка того, что при щелчке внутри текстовой области текст по умолчанию не отображается.
- Проверка высоты и ширины текстовой области.
- Изменение указателя на вставку при перемещении курсора внутри текстовой области.
- Проверка появления вертикальной и горизонтальной полос прокрутки при вводе большего количества символов в текстовую область.
- Появление полос прокрутки в соответствии с требованиями.
- Появление полос прокрутки при вставке символов.
- Отображение опций редактора форматированного текста.
- Проверка разрешения или запрета изменения размеров текстовой области пользователем.
- Возможность пользователя добавить дублированное содержимое в текстовую область.
- Отображение подсказки при наведении на текст.
- Наличие валидации для текстовой области.
- Проверка разрешения клавиш CTRL+C, CTRL+V и других функций клавиатуры в текстовой области.
- Возможность удаления текста, нажимая клавишу Backspace на клавиатуре.
- Возможность ввода текста, щелкая внутри текстовой области.
- Проверка копирования в буфер обмена и вставки того же содержимого из раздела результатов в текстовую область при щелчке на кнопке «Копировать в буфер».
- Проверка работоспособности HTML-тегов в текстовой области.
- Отсутствие выполнения кода JavaScript в текстовой области или разделе результатов при нажатии кнопки «Отправить». Например, <script>alert(“123”)</script> не должно вызывать предупреждение.
- Отображение сообщения об ошибке при вводе не поддерживаемого форматированного содержимого в текстовую область.
- Проверка защиты текстовой области от SQL-инъекций.
- Совпадение формата скопированного и вставленного содержимого.
- Проверка того, что выделенный текст при копировании/вставке не отображается выделенным.
- Возможность вставки содержимого с помощью мыши в текстовую область.
- Отображение общего количества слов под текстовой областью.
- После вставки содержимого в текстовую область проверка обновления количества слов.
- Проверка возможности пользователя вводить буквенно-цифровые, буквенные, числовые и специальные символы в текстовой области.
- Разрешения ввода строчных и заглавных букв.
- Проверка максимально допустимого количества символов в текстовой области.
- Наличие ограничения на минимальное количество символов.
- Проверка отображения сообщения об ошибке при нажатии кнопки без ввода какого-либо содержимого.
- При вводе большего количества содержимого в текстовую область проверка появления вертикальных и горизонтальных полос прокрутки.
- Соответствие функционала полосам прокрутки требованиям.
- При вставке содержимого проверка добавления лишних пробелов.
Тест-кейсы для тестирования поля «Число»
- Проверка приема числовых значений.
- Пустое поле: отправить форму без данных и проверить обработку.
- Буквенные символы: ввести буквы и проверить отклонение.
- Максимальная длина: ввести числа максимальной длины и проверить.
- Минимальная длина: ввести числа минимальной длины и проверить.
- Десятичные значения: ввести десятичные числа и проверить обработку.
- Специальные символы: ввести числа с символами, такими как $, #.
- Значение 0: проверить прием значения 0.
- Десятичное значение 0.0: проверить десятичное значение 0.0.
- Пробелы: ввести пробелы и проверить обработку.
- Знаки: ввести положительные и отрицательные значения.
- Пробелы между числами: ввести числа, разделенные пробелами.
Тестирование алфавитно-цифрового поля
- Проверка приема алфавитно-цифровых значений.
- Числа: ввести только числа и проверить.
- Буквы: ввести только буквы и проверить.
- Алфавитно-цифровые значения с пробелами: ввести значения с пробелами.
- Только пробелы: ввести только пробелы и проверить.
- Десятичные символы: ввести десятичные символы и проверить обработку.
- Специальные символы: ввести специальные символы, такие как !,@,#,$,%,&.
- Заглавные и строчные буквы: ввести их и проверить.
- Вставка значений: вставить алфавитно-цифровые значения и проверить.
Тестирование текстового поля обязательных полей
- Проверка отметки обязательных полей.
- Звезда (*) как отметка: проверить, что обязательные поля помечены символом *.
- Сохранение без данных: сохранить без ввода данных в обязательные поля.
- Алерт при попытке сохранения без заполнения обязательного поля.
- Правильное отображение алерта.
- Поведение поля при попытке отправки формы без заполнения обязательного поля.
- Сохранение корректных значений в обязательном поле после нажатия кнопки сохранения.
- Алерт при отправке формы с незаполненным обязательным полем.
- Сохранение обязательных полей с использованием пробелов.
- Алерт при вставке недопустимых значений.