Функции веб-тестирования и нагрузочного тестирования Visual Studio действительно предназначены для разработчиков , а не для тестировщиков. У нас была демонстрация от эксперта Microsoft, и он подтвердил это, когда я спросил.
Для некоторые используют это просто и понятно (например, если вы можете протестировать только с помощью списка URL-адресов или если ваш веб-сайт тестируется с помощью метода записи и воспроизведения), но если у вас есть более сложное веб-приложение с:
- аутентификация пользователя
- много обработки на стороне клиента (ваш тест может имитировать часть этого)
- кадров или несколько асинхронных запросов на страницу
- Частичное обновление страницы ASP в старом стиле (не дай бог)
тогда вы попадете в мир боли.
Встроенные возможности извлечения и проверки довольно слабы, и для динамических тестов существует базовая, а не богатая поддержка (т. Е. Решение во время выполнения, что делать). Просто не существует встроенной поддержки для многих вещей, с которыми вы столкнетесь или захотите сделать в своем тесте. Также не помогает то, что они действительно разборчивы и скупы на то, какие ошибки они решают исправить. Даже если ошибка явно очевидна, если это не сбой, кажется, что нет смысла сообщать о ней.
При всем этом, если у вас есть навыки программирования и глубокое понимание http, html, javascript и любых других конкретных веб-технологий, которые использует ваше веб-приложение, вы можете делать довольно интересные вещи, потому что среда тестирования является суперрасширяемой широко открыты для любого волшебства C #, которое вы можете себе представить. Но иногда кажется, что ты заканчиваешь чужую работу над продуктом, за который уже заплатил.
Проблема с отсутствующими "скрытыми полями" , похоже, является единственной наиболее распространенной проблемой во всем Интернете, и во многих случаях ее просто не решить. Когда вы делаете тестовую запись, Visual Studio записывает все скрытые поля, которые присутствовали на странице. Что ж, когда вы запускаете полученный тест, есть множество причин, по которым одно из этих скрытых полей может больше не быть на странице. Возможно запись пропустила запрос ajax; возможно, страница что-то делает с JavaScript (тогда как VS не запускает JavaScript); возможно, существуют незначительные изменения в содержании страницы, основанные на другой учетной записи пользователя, или предыдущих действиях, или времени суток, или, возможно, другие факторы, не зависящие от вас. Если ваш сайт или приложение очень статичны, их легче тестировать. Но если он очень динамичный, тогда вы можете столкнуться с серьезной проблемой.
Подводя итог моему опыту: после использования трех замечательных сторонних библиотек, а затем написания собственной библиотеки поддержки, состоящей из 95 классов и примерно 2700 строк кода (включая очень богатые и мощные правила извлечения и проверки), я рассмотрел большинство основных трудностей, с которыми я раньше сталкивался
Но мне жаль бедного одинокого тестера, которому дали VS и сказали «написать несколько нагрузочных тестов».