2009-11-16 5 views
4

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

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

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

+1

Системное тестирование имеет множество типов тестирования - юзабилити-тестирование, тестирование производительности, регрессионное тестирование. Есть ли какой-либо конкретный тип тестирования, который вы хотите сделать, или вас просто интересует проверка системы в соответствии с вашими функциональными требованиями? –

ответ

0

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

Вкратце - ручные испытания.

+0

1down. Извините, но большой, большой не согласен. Системное функциональное тестирование на настольном приложении может быть легко автоматизировано, особенно в Windows, с другими платформами может возникнуть проблема (например, QNX). Но для окон есть инструменты, которые делают это. И есть много инструментов для тестирования различных систем на рабочем столе (как Томас Оуэнс прокомментировал вопрос). – yoosiba

2

Тестирование системы, скорее всего, должно быть выполнено через пользовательский интерфейс. Это дает вам два варианта:

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

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

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

0

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

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

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

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

1

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

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

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