Системное тестирование настольного приложения - PullRequest
4 голосов
/ 16 ноября 2009

У меня есть настольное приложение, написанное на C #, созданное с использованием VS2008 Pro и тестируемое модулем с помощью инфраструктуры Nunit и плагина Testdriven.net для VS2008. Мне нужно провести системное тестирование приложения.

Ранее я проводил веб-тестирование системы с использованием Bad Boy и плагина Selenium для Firefox, но я новичок в Visual Studio и C #.

Буду признателен, если кто-нибудь поделится своим советом по этому поводу.

Ответы [ 5 ]

2 голосов
/ 17 ноября 2009

Системное тестирование, вероятно, необходимо будет выполнить через пользовательский интерфейс. Это дает вам два варианта:

1) Вы можете вручную выполнить контрольные примеры, нажав на элементы. 2) Вы можете автоматизировать тестовые случаи, программируя с помощью пользовательского интерфейса. Для этого существует множество коммерческих инструментов, или вы можете использовать среду программирования, такую ​​как Microsoft UI Automation Framework . Как правило, они используют API-интерфейсы специальных возможностей, встроенные в Windows, для доступа к вашему пользовательскому интерфейсу.

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

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

1 голос
/ 17 ноября 2009

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

Просто для начала:
AtoIT - не тестовый инструмент для распыления, но он позволяет автоматизировать некоторые задачи. Таким образом, вы можете записать / сценарий использования. Не очень рекомендуется, но может быть сделано.
HP QuickTestPro - это легко сделать с помощью этого инструмента с помощью записи / написания сценариев, но это дорого, поэтому, возможно, не стоит его использовать в личных целях.
Робот IBM - как HP QTP.
Powershell - вы можете писать скрипты в powershell и выполнять их. Если бы вы использовали специальные ide-like инструменты для powershell, вы также можете записать тест. Я сделал некоторые веб-автоматизации с помощью powershell, и это сработало. Немного поработав, возможно, вы сможете написать скрипт для своего настольного приложения.

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

0 голосов
/ 20 ноября 2009

Возможно NUnitForms может быть полезно для вас?

0 голосов
/ 17 ноября 2009

Если вы готовы отложить деньги, вы можете посмотреть что-то вроде TestComplete .

Хотя я еще не использовал его (наша компания только что купила его), кажется довольно хорошим. Вы можете записывать клики, нажатия клавиш и прочее, определять критерии успеха, и тест будет воспроизведен позже. Похоже, он достаточно умён в отношении изменений пользовательского интерфейса - он запоминает, какую кнопку вы нажали, а не только (x, y) каждого нажатия.

Это сценарий или программируемое перетаскивание.

Я никоим образом не связан, и это не одобрение, потому что я еще не сформировал свое мнение об этом.

0 голосов
/ 16 ноября 2009

Системные тесты обычно имеют сценарии использования, сквозные сценарии и другие скриптовые функции, которые выполняют реальные люди. Это тесты, которые плохо поддаются автоматизации, поскольку они требуют, чтобы ваши проверенные модульные винтики работали друг с другом. У вас могут быть хорошие юнит-тесты для ваших «гаек» и «гаечных ключей», но только комплексный тест системы даст вам знать, если у вас есть гаечный ключ подходящего размера для гайки под рукой, как выбрать / вернуть его из / в ящик и т. д.

Короче - ручные тесты.

...