Как вы тестируете визуальные компоненты? - PullRequest
5 голосов
/ 09 декабря 2008

Мне кажется, я понимаю юнит-тестирование. Но мне было интересно: есть ли способ автоматизировать что-то визуальное, например, убедиться, что сглаживание работает, или чтобы закругленные углы на веб-сайте выглядели так, как они должны? У меня такое ощущение, что это просто не практично, но у меня мало опыта в мире обеспечения качества.

Ответы [ 4 ]

2 голосов
/ 11 декабря 2008

"Сглаживание работает или что закругленные углы на сайте выглядят так, как они должны?"

Вы можете теоретически написать автоматизированные инструменты, чтобы делать снимки визуализации и как-то анализировать их и сравнивать с макетом.

Вам понадобится какой-то механизм «привязки», чтобы выровнять ответ модели с визуализированным выводом, а затем выполнить различие в цвете на нем, где результирующий вывод представляет собой полное черное изображение == идеальное соответствие.

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

Вместо этого вам нужно создать полное дерево всех возможных путей навигации в приложении (немного проще сделать программно / на основе набора тестов), а затем передать спецификацию группе людей для прохождения и выполнения. на различных платформах.

Это справится на этой неделе, но будет вы повторяете ручные тесты каждый раз Вы вносите изменения в код? Или каждый раз вы делаете релиз? Ручные тесты просто не будет масштабироваться. Они дешевые короче говоря, но безнадежно дорого в долгосрочной перспективе. - Тим Оттингер

FWIW, Даже Firefox все еще имеет набор тестов, управляемых человеком. Люди просто лучше распознают поведение, которое, хотя и соответствует определенному стандарту, не соответствует какому-либо другому стандарту, который еще не был произвольно определен, и, таким образом, еще не было написано для него тестового примера.

1 голос
/ 11 декабря 2008

Это сложная проблема с модульным тестированием, и нет хорошего ответа. Проверка результата, отображаемого на экране, технически больше не является модульным тестированием (это более функциональное тестирование).

Лучший подход, который я нашел, состоит в том, чтобы структурировать ваш код так, чтобы слой представления был тонким в максимально возможной степени. Для этого полезны такие шаблоны, как MVC и Presentation Model. Как только вы это сделаете, вы можете программно протестировать бизнес-логику представления (как в конкретных взаимодействиях между компонентами представления) без необходимости что-либо отображать.

1 голос
/ 09 декабря 2008

Вы также можете рассмотреть автоматизацию на уровне графического интерфейса, используя такой инструмент, как TestComplete . Существует множество таких инструментов по доступным ценам с огромным набором функций. Посетите форум по автоматизации SQAF , чтобы обсудить несколько полезных тем на эту тему.

1 голос
/ 09 декабря 2008

Провести юзабилити-тестирование прихожей. ;)

http://www.joelonsoftware.com/articles/fog0000000043.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...