Автоматизация тестирования Windows-приложений с использованием .Net

Материал из Wiki Test Lab
Перейти к: навигация, поиск

Назад    Главная
 

Автоматизация тестирования Windows-приложений с использованием .Net.

Автоматизация тестирования.

Тестирование – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах. Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы. Основным подходом при тестировании программного обеспечения является тестирование «черного ящика». При данном подходе тестировщику неизвестно внутреннее устройство программы. Тестировщик взаимодействует с программой: вводит данные, нажимает кнопки, манипулирует другими визуальными компонентами и оценивает результаты.

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

Механизмы платформы .Net

При разработке Windows-приложений на платформе .Net можно воспользоваться платформой для создания легковесного и гибкого инструмента, который будет запускать разработанные тесты. Не обязательно создавать полное решение, иногда имеет смысл быстрое создание набора автоматизированных тестов, которые будут заданы прямо в коде. Для быстрой модификации и добавления тестов необходимо создать и использовать сборку с различными методами, которые будут выполнять с пользовательским интерфейсом программы необходимые тестировщику действия. При автоматизированном тестировании пользовательского интерфейса Windows-приложений возможны два решения. Первое из них основано на механизме отражения (Reflection). Механизм отражения позволяет получать объекты, которые описывают сборки, модули и типы. Отражение можно использовать для динамического создания экземпляра типа, привязки типа к существующему объекту, а также получения типа из существующего объекта и вызова его методов или доступа к его полям и свойствам. Второй подход основан на низкоуровневых функциях библиотек Win32 API: FindWindow, FindWindowEx, SendMessage, PostMessage и механизме P/Invoke (вызов неуправляемого кода). Вызов неуправляемого кода — это служба, которая позволяет управляемому программному коду вызывать неуправляемые функции, реализованные в библиотеках динамической компоновки (DLL). Вызов неуправляемого кода обнаруживает и вызывает экспортируемую функцию. Второй подход работает не только для .Net-приложений, но для любых Windows-приложений с пользовательским интерфейсом.

Читать дальше...

Личные инструменты