Тестирование GUI [закрывается]

Хорошо, что прошло 2 дня, и никто не смог найти решение, поэтому я поменяю свой комментарий на ответ:

Насколько я могу судить, вы не можете проверить равенство или личность функций (например, ваш пример) и метаклассов (например, MyClass.self):

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

15
задан Mihai Limbășan 17 October 2008 в 21:29
поделиться

13 ответов

У Вас есть (по крайней мере) 2 проблемы - сложность среды (сервер) и сложность GUI.

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

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

Объединение этих двух методов позволит Вам автоматизировать тестирование GUI.

Одна последняя мысль - удачи!

4
ответ дан 1 December 2019 в 03:25
поделиться

Mercury QuickTest Pro, Borland SilkTest и Устройство записи Ranorex являются некоторыми инструментами тестирования GUI.

2
ответ дан 1 December 2019 в 03:25
поделиться

Другие инструменты тестирования GUI, которые я могу предложить: Белый Thoughtworks , PyWinAuto, AutoIt, Автогорячая клавиша .

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

7
ответ дан 1 December 2019 в 03:25
поделиться

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

Много шаблонов, которые были развиты из MVC (я думаю пассивное представление , контроллер наблюдения ) стремится заставить представление потребовать очень небольшого тестирования, потому что это действительно просто соединяет вводы данных пользователем проводом предъявителю или модели (в зависимости от точного варианта шаблона, который Вы используете).

"тестирование GUI часто включает отправку сообщения к серверу и затем наблюдению, что ответ на GUI" Этот оператор волнует меня.

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

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

3
ответ дан 1 December 2019 в 03:25
поделиться

Если Ваше приложение веб-, можно записать тестовые инструменты использования как WatiN или Селен .

, Если Ваше приложение является базирующейся.NET Windows, Вы могли бы попробовать Белый .

2
ответ дан 1 December 2019 в 03:25
поделиться

Мой совет: забудьте традиционное тестирование GUI. Это слишком дорого. Кодирование тестов занимает много времени, инструменты не действительно стабильны, таким образом, Вы получите ненадежные результаты испытаний. Связь между кодом и тестом очень сильна, и Вы проведете много времени с обслуживанием.

новая тенденция состоит в том, чтобы проигнорировать тесты GUI. Посмотрите шаблон ModelViewPresenter от Fowler как текст ссылки инструкции

1
ответ дан 1 December 2019 в 03:25
поделиться

Самым ясным путем я могу сказать, что это:

не тратят впустую Ваше время, пишущий автоматизированные тесты GUI .

Особенно, когда Ваша работа с приложением MVC - в Вашем случае при отправке сообщения в сервер можно удостовериться, правильный номер сообщения возвращается и быть сделанным. Можно добавить некоторые дополнительные случаи - или другой тест полностью, чтобы удостовериться, что GUI преобразовывает идентификатор сообщения в правильные строки, но просто необходимо запустить тот тест однажды.

1
ответ дан 1 December 2019 в 03:25
поделиться

Мы действительно включаем тестирование GUI в наш проект, и это имеет свои побочные эффекты. У разработчиков однако есть один критический принцип разработки: Сохраняют уровень GUI максимально тонким!

, Который означает никакая логика в классах GUI. Разделите это в моделях представления, ответственных за контроль ввода и т.д.

Для тестирования на машине Unix, мы используем сервер Xvfb в качестве ДИСПЛЕЯ при запущении тестов.

1
ответ дан 1 December 2019 в 03:25
поделиться

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

0
ответ дан 1 December 2019 в 03:25
поделиться

не пропускают 'U' в 'GUI'
, я имею в виду: если то, что Вы пытаетесь протестировать, все работает правильно и работает, поскольку это было запланировано на работу, то можно следовать ответ Seb Rose .

, Но, не забывайте , Пользовательский интерфейс должен быть сделан, думая о ПОЛЬЗОВАТЕЛЯХ , и не ЛЮБОМ пользователе, но ЦЕЛЕВОМ ПОЛЬЗОВАТЕЛЕ, на которого была подана заявка. Так, после того, как Вы уверены, что все работы как он должны работать, поместить каждое представление/экран/форму в тест с командой, сделанной из пользователей, представляющих каждую группу различных пользователей, которые могут использовать Ваше приложение: опытные пользователи, администраторы, пользователи MS Office, низкие компьютерные пользователи профиля, высокие компьютерные пользователи профиля... и затем, получают критические анализы каждого пользователя, делают соединение, ретушируют Ваш GUI, если это - neccesary и назад снова к тесту пользователя GUI.

0
ответ дан 1 December 2019 в 03:25
поделиться

Я нашел WinTask быть очень хорошим способом сделать тестирование GUI. Если Вы постоянно не изменяете способ, которым ОС относится к каждому элементу UI, WinTask обращается к элементам UI по имени, поэтому даже если изменения макета, элементы UI могут все еще быть нажаты / настроил / выбранный.

0
ответ дан 1 December 2019 в 03:25
поделиться

Для SIMPLE-тестирования веб-интерфейса пользователя попробуйте iMacros (простой плагин Firefox, имеет классную функцию для отправки всего теста другому человеку) Обратите внимание, что ПРОСТО был написан с инициалами ...

0
ответ дан 1 December 2019 в 03:25
поделиться

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

1
ответ дан 1 December 2019 в 03:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: