Чит-листы

  • Структурное тестирование
    DESCRIBE schema.table_name;
    • cоглашения об именах таблиц и столбцов базы данных;
    • название схемы, таблицы;
    • название полей, их количество, тип, длина, обязательность (IS NOT NULL);
    • первичный ключ (РК), составной ключ, внешний ключ;
    • связи с другими таблицами, представлениями;
    • типы данных между столбцом внешнего ключа и столбцом в другой таблице.
  • Целостность данных
    • поля на null, уникальность и длину значений;
    • проверка дубликатов;
    • символы в имени, пробелы, отрицательный процент.
  • Функциональное тестирование (Алгоритмические проверки)
    • правильность расчета вычисляемых полей, расчет итогов, разности, процентов;
    • триггеры;
    • сопоставление полей с пользовательским интерфейсом (GUI, API);
    • операции CRUD через внешний интерфейс (web API, GUI);
    • пароли, номера кредитных карт зашифрованы и не хранятся в виде простого текста.
  • Нефункциональное тестирование
    • нагрузочное тестирование:
      • время ответа для выполнения транзакций для нескольких удаленных пользователей;
      • время, затраченное базой данных на выборку определенных записей;
      • многократный запуск наиболее часто используемой пользовательской транзакции, чтобы увидеть производительность системы базы данных;
      • загрузка серии больших файлов из Интернета;
      • запуск нескольких приложений на компьютере или сервере одновременно;
      • важные системные транзакции (архивирование, выгрузка).
    • стресс-тестирование - определить точку останова системы.

  • Извлечение данных
    • проверить источник данных;
    • сравнить количество записей, количество отклоненных записей;
    • проверить значения методом анализа граничных значений (первая, последняя запись из файла);
    • проверить дублирование загруженных данных.
  • Преобразование данных
    • данные преобразованы правильно;
    • значения по умолчанию верны.
  • Загрузка данных в систему DW

  • Структурное тестирование
    • проверка заголовков;
    • проверка параметров;
    • проверка тела ответа.
  • Функциональное тестирование
    • код ответа;
    • правильность расчета, сортировки.
  • Нефункциональное тестирование
    • нагрузочное тестирование;
    • стрессовое тестирование;
    • объемное тестирование.

  • уровень логирования;
  • размер лог-файла;
  • срок хранения логов;
  • обработка событий при отсутствии свободного места на сервере (вызывать ошибки в работе API для заполнения свободного места логами).

Принцип - не заставляйте меня думать.

Навигация

  • «хлебные крошки»;
  • кнопка «вверх»;
  • группировка элементов выбора / меню;
  • визарды – последовательность шагов при регистрации / инсталляции;
  • поиск.

Курсор

  • "курсор по умолчанию" (стрелка) для неактивных элементов;
  • "курсор-рука" (палец) для кликабельных элементов;
  • "курсор изменения размера" (туда-сюда) для изменяемых размер элементов;
  • "курсор перемещение" (ладонь) для элементов, которые разрешено перетаскивать;
  • "курсор текстовое выделение" (палка) для поля ввода, контента для копирования.

Подсказки

  • обязательность заполнения;
  • плейсхолдер;
  • размер, тип, длина вводимых значений;
  • технические ограничения на ввод неразрешенных символов;
  • наличие подсказки при наведении на элемент.

Сообщения об ошибках

  • понятность;
  • краткость;
  • однозначность.

Инструкция пользователя

  • актуальность.

Текст

  • заголовки до 10 слов;
  • абзац не более 3-5 предложений, предложение не более 10-15 слов;
  • строка не более 50-75 символов для десктоп, 30-40 для мобильных;
  • межстрочный интервал на 30% больше высоты символов;
  • выделение ключевых слов, ссылок.

Интернационализация (18n) - программное и аппратное обеспечение для упрощения адаптации продукта к использованию в других языковых и культурных регионах. Производится на начальных этапах разработки.

Локализация (L10n) - добавление специальных функций для использования в определенном регионе. Производится для каждого целевого языка.

  • название элементов, сообщений, мета-информации, инструкций
  • формат даты, времени, адреса, телефона
  • разделитель разрядности числа, копеек, отрицательные числа
  • валюта, мера, шрифт
  • ограничения цветов, чисел, музыки, фото, видео
  • культурные особенности

Проверки

  • язык по умолчанию;
  • переключение исходной и локализованных версий, редиректы;
  • стандарты отображения знаков препинания;
  • целостность верстки после перевода элементов интерфейса;
  • направление написания текста;
  • параметры шрифтов.
  • полнота перевода:
    • языковые файлы (json, yaml, xml);
    • сокращеня и аббревиатуры;
    • имена, географические названия;
    • элементы интерфейса;
    • системные сообщения и ошибки;
    • сопроводительная документация (FAQ/Help)
    • форма "Свяжитесь с нами" / "Свяжитесь с нами по телефону".
  • форматирование и маски:
    • вид и конвертация валюты;
    • числа;
    • даты (дд.мм.гггг, мм-дд-гггг);
    • время (часовой пояс, АМ/РМ, 12/24);
    • номер телефона;
    • индекс, адрес.
  • система мер и весов:
    • вес (кг, фунты);
    • длина (метры, футы, дюймы);
    • размер одежды и обуви;
    • температура (градусы Цельсия (°C), градусы Фаренгейта(°F)).
  • ограничения на поля ввода для имен и фамилий;
  • изображения картинок и фотографий на предмет религиозных особенностей;
  • соотвествие правовым требованиям и местным законам (соглашение о конфиденциальности, условия использования сервиса и т.п.);
  • контроль символики и цветов;
  • запреты интеграции со сторонними ресурсами;
  • поддержка региональных раскладок клавиатур и работа горячих клавиш;
  • перевод мета-тегов (влияет на "SEO");
  • перевод alt-подписей к изображениям и ссылкам;
  • настройка системы веб-аналитики (метрики, коды, счетчики).

Портативность (переносимость) - способность программы работать в различном окружении

  • размер, разрешение экрана (адаптивность)
  • разные браузеры
  • разные операционные системы
  • местоположение пользователя
  • часовой пояс
  • время, дни недели, сезон
  • скорость интернета

Адаптивность

  • меню, "хлебные крошки";
  • графики, диаграммы;
  • иконки, картинки;
  • таблицы;
  • кнопка «вверх», горизонтальный скрол.

Кроссбраузерность

  • проверка в браузерах с которых наиболее вероятно и часто приходит клиент на сайт (яндекс-метрики, гугл-аналитика);
  • основные браузеры и их версии: Chrome, Firefox, Edge, Safari (статистика).

Кроссплатформенность

  • проверка в операционных системах с которых наиболее вероятно и часто приходит клиент на сайт (яндекс-метрики, гугл-аналитика);
  • основные операционные системы и их версии: Android, Windows, iOS, Linux (статистика);
  • обратить внимание:
    • слеш в пути;
    • перевод строки \n,\r;
    • регистр в названии;
    • работа с архивом.

  • соответствие рекомендациям WCAG;
  • соответствие рекомендациям W3C;
  • перемещение с помощью клавиатуры (клавиатурная навигация);
  • перемещение с помощью программы чтения с экрана NVDA;
  • перемещение с помощью программы для распознавания речи Apple VoiceOver;
  • набор текста с помощью клавиатуры, специально разработанной для людей с двигательными нарушениями;
  • просмотр контента с помощью программы для увеличения экрана (экранная лупа);
  • проверка цветового контраста.

Литература

  • Политика в области обеспечения доступности веб-ресурсов: международный опыт (смотреть pdf);
  • Как сделать веб-сайт дружественным к людям с ограничениями по зрению (смотреть pdf);

URL

  • название латиницей;
  • категории м подкатегории разделять /;
  • разделять слова через -, а не _;
  • отсутствие пробелов.

Анализ тегов и метатегов

  • title = 60-70 char, uniq, title+companyName (проверить)
  • description = 120-160 char, uniq, должен быть призыв к действию;
  • заголовки h1-h6, h1 один на странице;
  • уникальность title, description, h1 на странице / в пределах сайта;
  • исходящие ссылки: target="_blank", rel="noopener noreferrer nofollow", где noopener, noreferrer - для безопасности, nofollow - не отдавать “seo-вес” своего сайта;
  • циклические ссылки (сам на себя): логотип на главной странице, пункты меню, хлебные крошки последний пункт, статьи;
  • картинки с отсутствующим атрибутом alt, title; размер картинки до 100Кб.

Анализ разделов

  • контакты;
  • карта сайта;
  • политика конфиденциальности;
  • отказ от ответственности;
  • согласие с рассылкой;
  • файл robots.txt (до 32 KB);
  • файл sitemap.xml (до 50_000 ссылок);
  • размер html страницы до 500 КВ.

Страница 404

  • совпадает с дизайном сайта;
  • содержит ссылки на главную, другие разделы и полезные материалы;
  • содержит поиск по сайту;
  • отображает нестандартное, возможно, приправленное долей юмора сообщение и изображение.

Редирект на главную страницу

  • http://siteName
  • http://siteName/
  • http://www.siteName
  • http://www.siteName/
  • http://siteName/index.html
  • http://siteName.index.php
  • https://siteName
  • https://siteName/
  • https://www.siteName
  • https://www.siteName/
  • https://siteName/index.html
  • https://siteName.index.php

Рекомендации

  • теги Title, Description и Keywords следует располагать сразу после открывающегося тега head;
  • CSS-стили и Java-скрипты необходимо выносить в отдельные файлы с расширением css и js. В противном случае технический код будет увеличивать объем страницы и негативно влиять на скорость ее загрузки;
  • весь ненужный код – счетчики статистики (liveinternet, rambler top100, bigmir и т.п.), формы голосований и опросов, отправки заявки или поиска товара, логин-панель — следует закрыть от индексации;
  • важно удалять из исходного кода комментарии верстальщиков к разным элементам, т.к. это увеличивает объем страницы и увеличивает скорость ее загрузки;
  • правильно формировать парные теги – если тег был открыт, его обязательно нужно закрыть;
  • Устаревшие теги, которые уже не поддерживаются, следует исключить из кода, заменив на универсальный тег div. Примеры таких тегов: applet, acronym, bgsound, dir, frame, frameset, noframe, isindex, listing, xmp, nextid, noembed, plaintext, rb, strike, basefont, big, blink, center, font, marquee, multicol, nobr, spacer, tt, u;
  • прописывать атрибут alt для всех изображений;
  • для атрибутов ширины и высоты в элементе img нужно указывать только цифры без «px»;
  • из кода необходимо удалять все скрытые от поисковых систем средствами CSS-форматирования элементы. К наиболее часто встречающимся элементам этой категории относятся «display:none» и «visibility:hidden»;
  • корректная конструкция тега noindex выглядит следующим образом: <!–noindex–>Текст или код, который нужно исключить из индексации<!– /noindex–>. Не следует использовать конструкцию [noindex]Текст или код, который нужно исключить из индексации[/noindex].

Telegram-bot

  • мобильная версия = Android, iOS;
  • web версия;
  • desktop версия.

Что проверять

  • подключение-удаление бота
  • что умеет бот, описание
  • команды: через бот-меню, через бот-клавиатуру, через бот-строку
  • бот-ответ на неправильно введенную команду
  • рассылка при блокирующем пользователе (удалил бот)
  • контент: текст, картинки, видео, даты, суммы, разделители
  • функциональность
    • логика переходов-возвратов (отсутствие тупиков)
    • корректность расчетов
    • база пользователей, рассылка по шедулеру
  • защищенность
    • разделение контента по ролям
  • нагрузка
    • рассылка 10_000 пользователям

Windows

  • XP, 7, 8
  • *10, 11

Linux Kernel

  • *Ubuntu 18, 20
  • CentOS, Mint, Debian
  • *Android (for mobile)

Darwin

  • *macOS (for leptop, desktop)
  • *iOS (for mobile)

virtualization

  • VirtualBox (for OS)
  • Selenium Hub (for browsers)
  • Docker (virtualMachineImage)

Элементы ввода

  • формы;
  • списки;
  • время, дата;
  • переключатели.

Элементы вывода

  • таблицы;
  • графики;
  • файлы.

Элементы навигации

  • слайдер;
  • поиск;
  • «хлебные крошки»;
  • пейдженация.

Информационные элементы

  • полоса загрузки;
  • подсказки;
  • сообщения.

  • favicon;
  • кодировка (UTF8, Windows1251);
  • общий дизайн интерфейса (логотип, корпоративные цвета);
  • наличие всех элементов, их размер и цвет, расположение в соответствии макету;
  • вертикальное / горизонтальное выравнивание элементов, взаимное расположение;
  • единый формат заголовков, кнопок, фильтров;
  • название элементов;
  • правильность шрифтов (название, размер);
  • цвета интерфейса;
  • кликабельность логотипа, меню, кнопок, ссылок;
  • кликабельность, выбираемость, вводимость, удаляемость данных в полях;
  • очистка введенных значений при клике на крестик в правой части поля;
  • кнопка F5;
  • браузерная кнопка НАЗАД;
  • переходы с помощью TAB;
  • работа Enter, как кнопки;
  • отсутствие горизонтального скролла (для статичных страниц минимальная ширина 800рх);
  • масштабируемость окна браузера (на весь экран, ½, ¼, 80% экрана);
  • масштабируемость страницы (75% - 200%);
  • изменение размера элемента (поле textarea);
  • информация должна оставаться доступной:
    • отключить стили, скрипты (css, js);
    • отключить картинки (отображается альтернативный текст);
    • отключить Flesh, Turbo;
    • отключить / включить браузерные расширения, например AdBlock
    • увеличенный размер шрифта;
    • монохромный экран.
  • параметры печати.

  • текст;
  • скрол;
  • закрытие окна (Esc, x, button).

  • размер слайда;
  • количество слайдов;
  • частота обновления (продолжительность пауз);
  • ручное переключение.

  • название (количество элементов), шрифт, цвет, размер, расположение;
  • значение по дефолту, кликабельность;
  • шаг ползунка и плавность изменения данных;
  • граничные значения: min, max, (max/2), (min+1), (max-1).

Применяется для изменения размера изображения или когда не важно указывать точное значение.

  • шрифт, цвет, размер, расположение;
  • горизонтальный скрол для таблицы, а не страницы;
  • количество и название колонок, строк;
  • значения в колонке одного типа, разрешенного формата;
  • отображение данных:
    • единица измерения, размерность;
    • разделитель дробной части (точка / запятая);
    • разделитель разрядов (пробел / без пробела);
    • длина дробной части (1 или 2 знака);
    • особенности расчета (если план = 0, тогда % выполнения не считать и выводить прочерк);
    • количество записей на странице;
    • варианты вложенности, схлопывания.

  • шрифт, цвет, размер, расположение;
  • горизонтальный, вертикальный скрол;
  • количество и название элементов;
  • порядок отображения и сортировки значений.

Позволяет выбрать одно или несколько (Ctrl + Shift) значений из предложенных.
Для списка с единственным выбором - выбрать один элемент из множества.
Для списка с мультивыбором - проверить граничные значения: min, max, (max/2), (min+1), (max-1).

  • шрифт, цвет, размер, расположение;
  • количество и название элементов;
  • значение по дефолту.

Радиокнопки - позволяет выбрать один единственный вариант из предложенного списка. Группа радиокнопок, рассматривается как единый объект, который может быть только в одном из предложенных состояний. Необходимо проверить каждое состояние.

  • любое значение можно выбрать;
  • можно выбрать только 1 значение;
  • можно ли не выбрать ни одного?

Чекбоксы - позволяет выбрать любое количество вариантов из предложенного списка. Группа чекбоксов, рассматривается как единый объект, который может быть в (max! + 2) состояниях.

  • любое значение можно выбрать;
  • можно выбрать любое количество значений;
  • можно ли не выбрать ни одного?
  • граничные значения: min, max, (max/2), (min+1), (max-1).

  • шрифт, цвет, размер, расположение;
  • значение по дефолту;
  • выбор даты в будущем, прошлом.

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

  • тип (расширение);
  • название (допустимые символы, длина);
  • размер и кодировка;
  • разделитель полей (запятая, TAB, точка с запятой);
  • язык представления данных (английский, китайский);
  • корректность данных;
  • права на редактирование и удаление;
  • сообщения во время экспорта / импорта.

  • от 3-х символов;
  • часть слова;
  • точное слово;
  • точная фраза;
  • аббревиатуры;
  • словосочетание;
  • несколько неполных слов;
  • спецсимволы;
  • цифры (положительные, отрицательные, ноль, целые, дробные, специальные значения, например, "Infinity");
  • регистр ввода;
  • различные языки / раскладки;
  • пустое значение;
  • морфология;
  • анализ граничных значений и классы эквивалентности для длины;
  • поиск по всем полям;
  • поиск по некоторым полям;
  • поиск без заполнения обязательных полей;
  • поиск по обязательным полям;
  • учет разнообразных параметров.

  • ввод с клавиатуры;
  • вставка из буфера (через контекстное меню, горячие клавиши: Ctrl+V, alt+код);
  • ввод с экранной клавиатуры;
  • редактирование, копирование;
  • символы конца строки: \n, \r;
  • перенос строки;
  • очистка поля через Esc, Delete, Backspace;
  • очистка поля через кнопку приложения.

Текстовое поле

  • placeholder;
  • буквы, цифры, специальные символы;
  • длина строки;
  • текст с пробелом: в начале, середине, конце, только пробел;
  • не ASCII символы: смайлики;

Числовое поле

  • положительные, отрицательные, ноль;
  • целые, дробные;
  • степени двойки;
  • научная запись чисел: 1Е-10;
  • вычисляемые выражения: 2+2;

Числовое поле

  • границы минуты, часа, дня, недели, месяца, года, столетия;
  • переход на зимнее / летнее время;
  • несуществующие значения: 29 февраля;
  • часовые пояса;
  • соотношение с "сейчас";
  • несколько связанных дат: с 01.01 - по 31.01

Нестандартный ввод

  • '; SELECT *
  • <!--abc>
  • <script>alert("Alert text")</script>
  • "[|]'~<!--@$%^&#*/()?>,.\