Как вы тестируете визуальные компоненты?

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

4 ответа

Решение

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

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

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

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

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

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

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

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

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

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

Проведите тестирование удобства использования в коридоре.;)

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

Другие вопросы по тегам