Полнота покрытия пользовательского интерфейса
При определении понятия покрытия пользовательского интерфейса можно ввести следующие его уровни:
· функциональное покрытие – покрытие требований к пользовательскому интерфейсу;
· структурное покрытие – для обеспечения полного структурного покрытия каждый интерфейсный элемент должен быть использован в тестовых примерах хотя бы один раз;
· структурное покрытие с учетом состояния элементов интерфейса – для обеспечения этого уровня покрытия необходимо не только использовать каждый элемент интерфейса, но и привести его во все возможные состояния (например, для чек-боксов – отмечен/не отмечен, для полей ввода – пустое/заполненное не целиком/заполненное полностью и т.п.)
· структурное покрытие с учетом состояния элементов интерфейса и внутреннего состояния системы – поведение некоторых интерфейсных элементов может изменяться в зависимости от внутреннего состояния системы. Каждое такое различимое поведение интерфейсного элемента должно быть проверено. Например, система может иметь два режима работы – нормальный и для начинающего пользователя, в котором нажатие каждого элемента сопровождается появлением всплывающей подсказки. В этом случае нужно проверить оба режима, при этом проверить, что подсказки появляются только в режиме для начинающих.
При определении степени покрытия необходимо учитывать, что реакция на некоторые интерфейсные элементы определяется не программной системой, а на уровне операционной системы или среды выполнения. Так, например, реакция на использование многих интерфейсных элементов стандартного диалогового окна открытия файла определяется операционной системой и может не тестироваться.
Если уровень покрытия интерфейсных элементов тестами недостаточен, то это является либо сигналом к уточнению требований к пользовательскому интерфейсу, либо к снижению степени подробности тестирования.
Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса
Функциональное тестирование пользовательского интерфейса может проводиться различными методами – как вручную при непосредственном участии оператора, так и при помощи различного инструментария, автоматизирующего выполнение тестовых примеров. Рассмотрим эти методы более подробно.