IcuTest - Википедия - IcuTest
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Разработчики) | NXS-7 Software Inc. |
---|---|
Стабильный выпуск | 1.0.7 / 11 мая 2010 г. |
Операционная система | Майкрософт Виндоус |
Тип | Автоматизация тестирования, модульное тестирование |
Лицензия | Проприетарный |
Интернет сайт | www |
IcuTest это модульное тестирование фреймворк для графических интерфейсов. Текущая версия поддерживает Windows Presentation Foundation Приложения. Проверка графического интерфейса выполняется в основном с помощью сравнения изображений. Наборы тестов могут выполняться в интерактивном или полностью автоматизированном режиме.
Философия
IcuTest не является системой записи и воспроизведения. Такие системы могут создавать сценарии тестирования, которые сложно поддерживать.[1][2] Скорее, IcuTest считает, что наиболее эффективное место для тестирования - это модульное тестирование. Следовательно, IcuTest отказывается от каких-либо механизмов записи и, как и в случае с обычными модульными тестами, полагается на программиста, который определяет объем и параметры теста.
использование
Типичный IcuTest обеспечивает прямой контроль над тестируемым приложением. Вот пример, который гарантирует правильность ViewModel.
[Метод испытания] общественный пустота TestMyWindow_WithDataContext() { ICU.Вызвать(() => { вар ш = новый MyWindow(); ш.Показать(); ICU.CheckView(ш, «MyWindowTest»); ш.DataContext = новый MyViewModel(); ICU.CheckView(ш, "MyWindowTest_with_ViewModel"); ш.Закрывать(); }); }
ICU.CheckView является основным механизмом тестирования (или утверждения) в IcuTest. Он выполняет быстрое сравнение растрового изображения между текущим снимком пользовательского интерфейса и ранее сохраненным снимком. Как и Assert, CheckView выдает исключение, когда тест не проходит.
IcuTest предлагает инструменты более высокого уровня, специально разработанные для помощи при тестировании графического интерфейса. Вот пример, иллюстрирующий:
- Сценарии IcuTest
- Закодированная автоматизация пользовательского интерфейса
- BDD (Развитие, управляемое поведением ) поддерживать
- GWT (Учитывая, когда, тогда ) и AAA (аранжировать, действовать, утверждать) беглость
[Метод испытания] общественный пустота cannot_login_with_invalid_password() { вар контекст = новый WindowScenario<ExampleLoginWindow>(); ICU.Данный(контекст) // Необязательные спецификации BDD .Как(«Пользователь MyApp») .Я хочу("окно входа в систему") .Так что(«У меня есть безопасный доступ к данным MyApp») .Когда(() => { // установить неправильный пароль с помощью автоматизации GUI set_login(контекст.Окно, "мое имя", "неправильный пароль"); }) .потом(() => { // в окне должно отображаться сообщение "неверный логин" ICU.CheckView(контекст.Окно, "login_with_invalid_pass"); }) .Тест(); } пустота set_login(ExampleLoginWindow ш, нить Пользователь, нить проходить) { вар userBox = guiHelper.Находить<Текстовое окно>(ш, "userBox"); вар passBox = guiHelper.Находить<PasswordBox>(ш, "passwordBox"); вар loginBtn = guiHelper.Находить<Кнопка>(ш, "LoginButton"); userBox.Текст = Пользователь; passBox.Пароль = проходить; guiHelper.Нажмите(loginBtn); }
Функции
С IcuTest вы можете:
- Создавайте простые и удобные в обслуживании тесты графического интерфейса.
- Обеспечение надежных, полнофункциональных приложений
- Поддержка лучших практик TDD и BDD
- Используйте с MSTest, NUnit, XUnit, MbUnit и т. Д.
- Находите ошибки быстро и автоматически
- Обеспечьте лучшее покрытие кода
- Продвигайте уверенный рефакторинг
- Упростите ручное тестирование и отладку