Контролы
Textbox
- #Тексты (кроме раздела перенос строки)
- #Security
- Enter срабатывает, как Submit
- #Тексты
- #Security
- Enter обрабатывается, как перенос строки
- Большая часть за обработку отображения звездочек зависит от браузера (устройства)
- Русские пароли
- Длина пароля
- Разнообразие символов в пароле
- Совпадение 2-х паролей в форме регистрации
- #Тексты
- !!!Найти!!!
- Уточнить язык поисковых запросов?
- И ИЛИ НЕ
- Строгое соответствие
- Поиск по подстроке (в результатах поиска должны быть документы, начинающиеся с или заканчивающиеся тем, что указал пользователь при поиске)
- Какие символы игнорируются?
- Wildcard и прочие regexp'ы (.*, *., ?, *)
- Разделители слов
- #Тексты
- Ищется ли по цифрам. Являются ли цифры разделителями слов (не должны являться)
- Ищутся ли слова с различными "сложными" символами вроде '+' (например, c++)
- Ищется ли по словоформам (например, "систему" и "система" - поиск может считать за одно слово)
- Поиск по нескольким словам, разбросанным по записи (то есть не идущим последовательно друг за другом)
- Поиск с учетом порядка слов ( "Вася сказал" и "сказал Вася" - результат должен быть одинаковый)
- Вести текст в другой кодировке (например, Óèêèïåäèÿ å ìíîãîåçè÷íà åëåêòðîííà)
- Е и Ё
- Вместо " может искаться quot
- Корректное значение
- Граничные значения
- Значения выходящие за заданный диапазон
- Пустое значение
- Не должно принимать буквы и спецсимволы
- 0
- Отрицательные числа
- Дробные числа с разным разделителем (0.0001 или 0,0001)
- Числа с запятыми или пробелами (1,234,567 или 1 000 000)
- Европейский стиль (1.234.567,89)
- #Продвинутые числа
Популярные виды контролов
- HH:MM:SS
- HH:MM
- AM PM или 24h
- Корректное время (12:00:04)
- 00:00:00
- Пусто
- Пусто после редактирования
- Указано только одно из полей (например, указаны только часы 00:MM:SS)
- Отрицательное время -12
- Буквы
- Пробелы
- Copy-Paste некоторый текст
- Больше или меньше цифр, чем нужно
- Разное время между машинами
- Различные временные зоны
- Сброс времени вперед или назад
- Високосный день
- Некорректная дата (30 февраля)
- 29 февраля в не високосном году
- Различные форматы (Июнь 5, 2001; 60/05/2001; 06/05/01; 05-05-01; 6/5/2001 12:34)
- Перевод на летнее и зимнее время
- Перевод даты вперед-назад
Иногда оба календаря должны разрешать ставить даты только ДО сегодняшнего дня включительно, а иногда даты могут быть любыми относительно сегодняшнего дня
Иногда требуется валидация на то, что дата «с» раньше, чем дата «по»:
- если пользователь сперва указал дату «с», то даты для «по» должны ограничиваться датой «с» снизу (включительно)
- если пользователь сперва указал дату «по», то даты для «с» должны ограничиваться дату «по» снизу (включительно)
- если пользователь несколько раз редактирует даты, то они должны работать адекватно!
Другие популярные проверки для интервалов времени и дат:
- A < B
- A = B
- A > B
- Только А
- Только B
- Ни А, ни B
Здесь А - это начальное время, B - конечное время интервала.
- Длинное имя файла (> 255 знаков)
- Название с русскими буквами
- Специальные символы в имени (пробел, * ? / \ | < > , . ( ) [ ] { } ; : ' " ! @ # $ % ^ &)
- Не существующий
- Уже существующий
- Нет свободного места на диске
- Доступность хранилища куда грузим файл
- Минимальное место на диске
- Защищенное на запись
- Запись на несуществующий диск
- Запись на заблокированный диск
- Запись на удаленную машину
- Запись на испорченный диск или флешку
Возможные значения для типов данных
Тексты
- Длинные строки (255, 256, 257, 1000, 1024, 2000, 2048 или более знаков)
- Символы со знаками ударения (àáâãäåçèéêëìíîðñòôõöö, etc.)
- Общие разделители и специальные символы (" ' ` | / \ , ; : & < > ^ * ? Tab « »)
- «Достаточно плохое» строковое значение: "[|]'~<!--@/*$%^&#*/()?>,.*/\
- "Плохие символы" (♣ ☺ ♂)
- Пустая строка
- Пустая строка после редактирования
- Пробелы
- Одиночный пробел
- Только пробелы
- Строка, начинающаяся и заканчивающаяся с пробелов
- Чаще всего лишние пробелы будут удаляться (стрипяться)
- Конец строки (^M, \n, \r)
- Действия (Cut, Copy, Paste, etc.)
- Перенос строки
- Один перенос строки
- Только переносы строк
- Начало и окончание текста с переноса строки
- Чувствительность к регистру символов
- Иероглифы
- Степени двойки
- 32768 (2^15)
- 32769 (2^15 + 1)
- 65536 (2^16)
- 65537 (2^16 + 1)
- 2147483648 (2^31)
- 2147483649 (2^31 + 1)
- 4294967296 (2^32)
- 4294967297 (2^32 + 1)
- Научная запись чисел (1Е-16)
- Вычисляемые выражения (2+3)
- В шестнадцатеричной системе счисления (F0)
Security
SQL иньекции
- Кавычка: '
- ' OR '1'='1'
- ' or '1'='1' -- '
- ' or '1'='1' ({ '
- ' or '1'='1' /* '
- !!!Найти!!!
- http://ha.ckers.org/xss.html
- <script>alert("xss!")</script>
- <script>document.getElementByID("...").disabled=true</script>
- <input onclick="javascript:alert('xss');">
- <b onmouseover="alert('xss!')">Hello</b>
- </body> или </body></body>
- <textarea />
- <input></input>
- <form action="http://live.hh.ru"><input type="submit"></form>
- !!!Найти!!!
- DROP TABLE user;
- SELECT * FROM blog WHERE code LIKE 'a%';
- !!!Найти!!!
- Комментарий <!--
- "${code}";
- '';!--"<CSS_Check>=&{()}
Некоторые пункты будут дополнены в будущем.
1) Если тут написано, что "Очередной чит-лист", то дайте ссылку на предыдущий материал
ОтветитьУдалить2) И интересно, эту инструкцию в жизни кто нибудь применяет (речь идет о ручном тестировании)?
Леш, привет.
ОтветитьУдалитьВ предыдущий раз я писал о тестировании страниц в целом: http://ap-test-team.blogspot.com/2011/05/gui.html . Этот чит-лист посвящен контролам. Чит-листы распространены при иследовательском тестированнии, когда тесты заранее не пишутся, и чтобы что-то не забыть и не пропустить при тестировании используют эти инструкции - чит-листы. В них собраны наиболее типичные проверки.
Почему чит лист, а не чек лист? Первый раз встречаюсь с таким термином.
ОтветитьУдалитьЧек-листы составляются для конкретных проектов. Например, проверить ту или иную функцию на проекте.
ОтветитьУдалитьА этот список типовых проверок (чит-лист) независит от проекта, и может быть использован где угодно. Своего рода "читерство".
В иностранной литературе подобные списки называют cheat sheets.
"В иностранной литературе подобные списки называют cheat sheets"
ОтветитьУдалитьНе подскажете книгу(ги)?
Спасибо
Спасибо за чит-лист=)
ОтветитьУдалитьДля тестов поля e-mail есть такие варианты:
ОтветитьУдалитьВарианты левой части адреса (до собачки):
- прописные англ символы
- заглавные англ символы
- кириллические символы
- спец. символы (! # $ % & ' * + - / = ? ^ _ ` { | } ~) - должны работать корерктно
- пустая строка
- цифры
- двухбайтные символы
- символ точки:
1. в начале строки (некорректно)
2. один раз в середине строки (корректно)
3. несколько раз подрят (некорректно)
4. несколько раз не подрят (некорректно)
Варианты правой части адреса (после собачки):
- прописные англ символы
- заглавные англ символы
- домен в несуществующей зоне
- несуществующий домен
- домен в зоне .РФ
- формат записи типа: [IP]
- пустая строка
что за слово такое "по'дрят"? кто-то кого-то подрит,или в каком смысле?
Удалитьк предыдущему комментарию можно добавить для e-mail мы проверяем
ОтветитьУдалить-допустимые в адресах электронной почты символы по RFC2822
-точка перед @(-)
-адрес без @(-)
-адрес с двумя и более @ подряд (-)
-адрес с двумя и более @ не подряд (-)
-доменная часть адреса с несколькими точками подряд (-)
- доменная часть адреса с пробелами
- trim пробелов до\после\до и после адреса электронной почты
-непечатные символы форматирования текста(перенос строки, табуляция...) до\после адреса.
- минимальное\максимальное количество символов(но это уже для поля)
А есть еще вот такой рфц:
ОтветитьУдалитьhttp://tools.ietf.org/html/rfc5322
да, с выходом RFC5322 RFC2822 устарело, но не думаю, что изменения очень радикально затронули e-mail адреса.
ОтветитьУдалитьдля числового ввода "001" нули по идее должны удаляться.
ОтветитьУдалитьЧто значит # (н-р, #Тексты)?
ОтветитьУдалитьЗаранее спасибо.