четверг, 19 мая 2011 г.

Чит-лист: GUI тестирование окон и экранов

Несколько лет назад, когда я был молодым начинающим тестировщиков, мне показали замечательную вещь - некий план проверок GUI  приложения. Его можно назвать своего рода чит-листом. Этот чит-лист позволяет не забыть, что мы хотели и что нам надо проверить.
Пользоваться им очень просто. Сначала определяем окна и экраны, для которых надо проверить интерфейс пользователя (GUI). А затем последовательно для каждого окна выполняются нижеследующие проверки.

1. Проверка точки входа. В каких случаях появляется данное окно?
Например:
  • Панель навигации
  • Выпадающий список меню
  • Через меню по правому клику мышки
  • Ярлычки
  • ...

2. Общее состояние окна
  • Проверить все элементы в окне на их присутствие: все необходимые элементы должны находиться на своих местах (это могут быть поля, подписи, списки, чек-боксы, радио-батоны, группы элементов, кнопки, заголовки окон, менюшки и т.п.).
  • Проверить окно: желательно, чтобы оно имело дружелюбный интерфейс и было удобным для пользователей
  • Проверить грамматику: должны быть проверены все тексты, надписи и сообщения
  • Проверить состояние элементов в окне по умолчанию и их значения (они могут быть активны или неактивны, могут стоять галочки, что-то может быть выбрано и что-то может иметь какие-то значения и т.п.)

3. Навигация
  • Проверить куда можно перейти со страницы
  • Особое внимание уделить кнопке “Назад” (Back) (если есть такая)
  • Проверить положение курсора по-умолчанию (если это необходимо)
  • Проверить навигацию при помощи клавиатуры Tab, Up, Down и т.п.: она должна быть логична и удобна

4. Горячие клавиши
  • Проверить горячие клавиши доступные для приложения
  • Стандартные сочетания клавиш (Ctrl+C, Alt+F4 и т.п.)

5. Стандартная функциональность элементов окна
Например:
  • Списки - скроллинг, сортировки
  • Текстовые поля - должны быть редактируемыми
  • Чек-боксы - выбрать, не выбрать
  • Радио-батоны - выбрать, не выбрать
  • Поля только для чтения
  • Поля паролей
  • ...

6. Проверка данных
  • Пусто
  • Минимальное значение
  • Максимальное значение
  • Меньше максимального
  • Больше минимального
  • Корректный тип данных (char, numeric и пр.)
  • Некорректный тип данных
  • Все необходимые значения
  • ...

7. Проверка необходимых вводимых параметров
  • Все необходимые параметры определены
  • Необходимые параметры не определены (или все кроме одного)
  • Проверить состояние элементов окна в зависимости от состояний элементов и данных

8. Изменение размеров окна. Проверить, как ведут себя элементы в окне:
  • При изменении размеров окна
  • Сжатии и растяжении
  • Свертывании и развертывании
  • При изменении разрешения экрана

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

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

6 комментариев:

  1. Ещё один пример GUI чек-листа. Там же можно выкачать в виде pdf.
    http://bazman.tripod.com/checklist.html

    ОтветитьУдалить
  2. 6. Проверка данных
    ...
    - Меньше максимального
    - Больше минимального
    ------------------------------------------------

    Наверное имелось введу:
    - Больше максимального
    - Меньше минимального

    ОтветитьУдалить
  3. >Проверить навигацию по tab
    Стандартное поведение в этом случае движение слева-направо, сверху-вниз. Такой критерий , мне кажется, более детерминирован.

    )

    ОтветитьУдалить
  4. 6. Проверка данных

    важно еще проверить чтобы текстовые поля не пропускали javaScript или HTML теги,они должны экранироваться.

    ОтветитьУдалить
  5. Нашел еще такую ссылку: http://wiki.answers.com/Q/Is_there_a_generic_checklist_for_Website_Testing

    ОтветитьУдалить
  6. Этот комментарий был удален автором.

    ОтветитьУдалить