Область применения:Visual Studio
Visual Studio для Mac
Visual Studio Code
В этой статье объясняется, как выполнять модульное тестирование приложений универсальной платформы Windows (UWP) в Visual Studio. Visual Studio предлагает шаблоны проектов модульных тестов UWP для C#, Visual Basic и C++. Дополнительные сведения см. в статье Начало работы с приложениями UWP.
В этой статье рассматривается пример создания и модульного тестирования класса C# в приложении UWP. В этом примере используется подход разработки на основе тестирования. Он позволяет создавать тесты для проверки конкретного поведения, а затем писать код, успешно проходящий тесты.
Создание и запуск проекта модульного теста
Далее приведены процедуры создания и запуска проектов модульных тестов для приложений UWP.
Программа для создания тестов iSpring Quizmaker: обзор возможностей
Создание проекта модульного теста UWP
- В начальном окне Visual Studio выберите команду Создать проект.
- На странице Создание проекта в поле поиска введите фразу модульный тест. В списке шаблонов выполняется фильтрация по проектам модульного тестирования.
- Выберите шаблон Приложение модульного тестирования (универсальное приложение Windows) для C# или Visual Basic, а затем выберите Далее.
- При необходимости измените имя и расположение проекта или решения, а затем выберите Создать.
- При необходимости измените целевую и минимальную версии платформы, а затем нажмите кнопку OK.
Visual Studio создаст тестовый проект и откроет его в Обозревателе решений Visual Studio.
- В начальном окне Visual Studio выберите команду Создать проект.
- На странице Создание проекта в поле поиска введите фразу модульный тест. В списке шаблонов выполняется фильтрация по проектам модульного тестирования.
- Выберите шаблон Приложение модульного тестирования (универсальное приложение Windows) для C# или Visual Basic, а затем выберите Далее.
- При необходимости измените имя и расположение проекта или решения, а затем выберите Создать.
- При необходимости измените целевую и минимальную версии платформы, а затем нажмите кнопку OK.
Visual Studio создаст тестовый проект и откроет его в Обозревателе решений Visual Studio.
Мастер-класс. Создание тестов в программе MyTestXPro.
Изменение манифеста приложения проекта
- В Обозревателе решений щелкните правой кнопкой мыши файл Package.appxmanifest и выберите пункт Открыть.
- В конструкторе манифеста выберите вкладку Возможности.
- В списке Возможности выберите возможности, необходимые для кода и модульного теста. Например, если вашему коду и его модульному тесту требуется доступ к Интернету, установите флажок Интернет.
Выберите только те возможности, которые необходимы для правильной работы модульного теста.
Добавление кода в модульный тест для приложения UWP
В редакторе кода Visual Studio измените файл кода модульного теста, чтобы добавить утверждения и логику, необходимые для тестов. Примеры см. в разделе Модульное тестирование класса C# далее в этой статье.
Запуск модульного теста с помощью Обозревателя тестов
Выполните сборку решения и запустите модульный тест с помощью Обозревателя тестов.
- В меню Visual Studio Тест выберите элемент Обозреватель тестов. Откроется окно Обозреватель тестов.
- В Обозревателе тестов выберите значок Запустить все. Команда Запустить все используется для обнаружения тестов в проектах UWP.
Выполняется сборка решения и запускается тест. После запуска тест отображается в списке тестов Обозревателя тестов со сведениями о результатах и длительности.
Кроме того, в Обозревателе тестов вы можете выбрать отдельные тесты и щелкнуть правой кнопкой мыши для запуска либо отладки тестов или воспользоваться командой Перейти к тесту, чтобы открыть код теста. В верхнем меню можно группировать тесты, добавлять их в списки воспроизведения или открывать параметры тестов.
Выполните сборку решения и запустите модульный тест с помощью Обозревателя тестов.
- В меню Visual Studio Тест выберите элемент Обозреватель тестов. Откроется окно Обозреватель тестов.
- В Обозревателе тестов выберите значок Запустить все. Команда Запустить все используется для обнаружения тестов в проектах UWP.
Выполняется сборка решения и запускается тест. После запуска тест отображается в списке тестов Обозревателя тестов со сведениями о результатах и длительности.
Кроме того, в Обозревателе тестов вы можете выбрать отдельные тесты и щелкнуть правой кнопкой мыши для запуска либо отладки тестов или воспользоваться командой Перейти к тесту, чтобы открыть код теста. В верхнем меню можно группировать тесты, добавлять их в списки воспроизведения или открывать для теста раздел Параметры.
Модульное тестирование класса C#
Стабильный набор хороших модульных тестов повышает уверенность в том, что изменение кода не привело к появлению ошибок. В следующем примере рассматривается один из способов создания модульных тестов для класса C# в приложении UWP. В этом примере используется подход разработки на основе тестирования. Он позволяет создавать тесты для проверки конкретного поведения, а затем писать код, успешно проходящий тесты.
В примере проекта кода Maths класс Rooter реализует функцию, которая вычисляет предполагаемый квадратный корень числа. Проект RooterTests выполняет модульное тестирование класса Rooter.
Создание решения и проектов
Создание проекта приложения UWP:
- В Visual Studio в меню Файл выберите элемент Новый проект.
- На странице Создание проекта в поле поиска введите фразу пустое приложение, а затем выберите шаблон проекта C# Пустое приложение (универсальное приложение для Windows) .
- На странице Настроить новый проект укажите имя проекта Maths. Затем выберите команду Создать.
- При необходимости измените целевую и минимальную версии платформы, а затем нажмите кнопку OK. Visual Studio создаст проект и откроет его в Обозревателе решений.
Создание проекта модульного теста:
- В Обозревателе решений щелкните решение Maths правой кнопкой мыши и выберите пункты Добавить>Новый проект.
- На странице Добавление нового проекта в поле поиска введите фразу модульный тест, а затем выберите шаблон проекта C# Приложение модульного тестирования (универсальное приложение Windows) .
- Задайте для тестового проекта имя RooterTests и выберите команду Создать.
- При необходимости измените целевую и минимальную версии платформы, а затем нажмите кнопку OK. Проект с именем RooterTests появится под решением Maths в Обозревателе решений.
Проверка с помощью Обозревателя тестов, что тесты запускаются
Класс Assert содержит несколько статических методов, которые можно использовать для проверки результатов в тестовых методах.
- В Обозревателе решений выберите файл UnitTest.cs в проекте RooterTests.
- Вставьте в TestMethod1 следующий код:
[TestMethod] public void TestMethod1()
Добавление класса в проект приложения
- В Обозревателе решений щелкните правой кнопкой мыши проект Maths и выберите элементы Добавить>Класс.
- Присвойте файлу класса имя Rooter.cs, а затем нажмите кнопку Добавить.
- В редакторе кода добавьте следующий код в класс Rooter в файле Rooter.cs:
public Rooter() < >// estimate the square root of a number public double SquareRoot(double x)
public class Rooter
- В Обозревателе решений щелкните правой кнопкой мыши проект Maths и выберите элементы Добавить>Класс.
- Присвойте файлу класса имя Rooter.cs, а затем нажмите кнопку Добавить.
- В редакторе кода добавьте следующий код в класс Rooter в файле Rooter.cs:
public Rooter() < >// estimate the square root of a number public double SquareRoot(double x)
public class Rooter
Добавление ссылки из тестового проекта в проект приложения
- В Обозревателе решений щелкните правой кнопкой мыши проект RooterTests и выберите элементы Добавить>Ссылка.
- В диалоговом окне Диспетчер ссылок — RooterTests разверните узел Проекты и выберите проект Maths.
- Щелкните ОК.
- Добавьте следующую инструкцию using в UnitTest.cs после строки using Microsoft.VisualStudio.TestTools.UnitTesting; :
using Maths;
- В Обозревателе решений щелкните правой кнопкой мыши проект RooterTests и выберите элементы Добавить>Ссылка.
- В диалоговом окне Диспетчер ссылок — RooterTests разверните узел Проекты и выберите проект Maths.
- Щелкните ОК.
- Добавьте следующую инструкцию using в UnitTest.cs после строки using Microsoft.VisualStudio.TestTools.UnitTesting; :
using Maths;
Добавление теста, использующего функцию приложения
- Добавьте в UnitTest.cs следующий метод теста:
[TestMethod] public void BasicTest()
Запуск тестов
В Обозревателе тестов выберите значок Запустить все тесты. Будет выполнена сборка решения, а также запущены и успешно пройдены тесты.
В Обозревателе тестов выберите значок Запустить все тесты. Будет выполнена сборка решения, а также запущены и успешно пройдены тесты.
Если при выполнении теста возникает ошибка Повторяющаяся сущность, удалите файл PropertiesDefault.rd.xml директив среды выполнения из тестового проекта и повторите попытку.
Вы настроили проекты тестов и приложений и убедились, что можно выполнять тесты, вызывающие функции в проекте приложения. Теперь вы можете писать реальные тесты и код.
Добавление тестов и их передача
Не рекомендуется изменять пройденные тесты. Вместо этого добавьте новые тесты. Пишите код, добавляя тесты по одному, и после каждой итерации проверяйте, пройдены ли все тесты.
- Добавьте в UnitTest.cs новый тест с именем RangeTest :
[TestMethod] public void RangeTest() < Rooter rooter = new Rooter(); for (double v = 1e-6; v < 1e6; v = v * 3.2) < double expected = v; double actual = rooter.SquareRoot(v*v); double tolerance = expected/1000; Assert.AreEqual(expected, actual, tolerance); >>
Запустите тест RangeTest и убедитесь, что он завершается сбоем.
Совет При разработке на основе тестов тест запускается сразу же после его написания. Такой подход поможет избежать распространенной ошибки, заключающейся в написании теста, который никогда не завершается сбоем.
public double SquareRoot(double x) < double estimate = x; double diff = x; while (diff >estimate / 1000) < double previousEstimate = estimate; estimate = estimate — (estimate * estimate — x) / (2 * estimate); diff = Math.Abs(previousEstimate — estimate); >return estimate; >
- Добавьте в UnitTest.cs новый тест с именем RangeTest :
[TestMethod] public void RangeTest() < Rooter rooter = new Rooter(); for (double v = 1e-6; v < 1e6; v = v * 3.2) < double expected = v; double actual = rooter.SquareRoot(v*v); double tolerance = expected/1000; Assert.AreEqual(expected, actual, tolerance); >>
Запустите тест RangeTest и убедитесь, что он завершается сбоем.
Совет При разработке на основе тестов тест запускается сразу же после его написания. Такой подход поможет избежать распространенной ошибки, заключающейся в написании теста, который никогда не завершается сбоем.
public double SquareRoot(double x) < double estimate = x; double diff = x; while (diff >estimate / 1000) < double previousEstimate = estimate; estimate = estimate — (estimate * estimate — x) / (2 * estimate); diff = Math.Abs(previousEstimate — estimate); >return estimate; >
Рефакторинг кода
В этом разделе вы выполните рефакторинг кода приложения и теста, а затем повторно запустите тесты, чтобы убедиться, что они выполняются успешно.
Упрощение оценки квадратного корня
- В Rooter.cs упростите центральное вычисление в функции SquareRoot . Для этого измените следующую строку: estimate = estimate — (estimate * estimate — x) / (2 * estimate); Кому estimate = (estimate + x/estimate) / 2.0;
- Запустите все тесты, чтобы убедиться, что не введена регрессия. Все тесты должны пройти успешно.
Удаление дублирующегося кода теста
В методе RangeTest жестко задан знаменатель переменной tolerance , которая передается в метод Assert. Если вы планируете добавлять другие тесты, которые используют такой же расчет отклонения, использование жестко запрограммированных значений в нескольких местах может усложнить работу с кодом. Вместо этого вы можете добавить в класс UnitTest1 закрытый вспомогательный метод для вычисления значения отклонения, а затем вызвать этот метод из RangeTest .
Чтобы добавить вспомогательный метод, в UnitTest.cs сделайте следующее:
-
Добавьте в класс UnitTest1 следующий метод:
private double ToleranceHelper(double expected) < return expected / 1000; >
Если вы добавляете вспомогательный метод в тестовый класс и не хотите, чтобы этот метод отображался в Обозревателе тестов, не добавляйте к методу атрибут TestMethodAttribute.
Дальнейшие действия
- Задачи и средства модульного тестирования
- Пошаговое руководство. Создание и запуск модульных тестов для управляемого кода
- Пошаговое руководство: разработка на основе тестирования с помощью обозревателя тестов
Источник: learn.microsoft.com
Как создать онлайн тест для обучения
Чтобы получить знания нужно не только задавать вопросы, но и отвечать на них. Это позволяет лучше запомнить материал и делает процесс обучения интересным. Такой подход можно применять не только при классической форме обучения. Добавить вопросы в онлайн-курс помогает тестирование.
При этом важно составлять вопросы так, чтобы они не оценивали уровень знаний, а давали возможность применить их. Онлайн-тест — это инструмент для проверки и закрепления знаний при дистанционном обучении. Для разработки тестов используют онлайн-систему управления обучением или LMS.
В этом материале мы расскажем, как создать тесты, которые сделают онлайн-обучение ещё более эффективным.
Цель создания обучающих тестов
Некоторые люди воспринимают тесты как испытание, которое нужно пройти, чтобы подтвердить свой уровень знаний. Однако в случае с обучающим тестированием такой подход не годится. Цель разработки профессиональных тестов для онлайн-обучения — помочь закрепить полученные знания. Рассмотрим этот подход на примере изучения иностранных языков.
Когда человек читает и запоминает слова, информация откладывается в глубине памяти, формируя так называемый пассивный словарный запас. Для того, чтобы сделать его активным, нужно применять изученное на практике. Поиск ответов на вопросы теста так же помогает извлекать знания из недр памяти.
Кроме того, отвечая на вопросы, обучающийся понимает, какой материал усвоен хорошо, а где нужно повторение. Это даёт инструменты для самоконтроля хорошо мотивированным ученикам.
Важно учитывать эти цели при разработке тест-систем. Вопросы должны включать пройденный материал, но в других формулировках, чтобы исключить механическое запоминание информации без её понимания. Тестирование не должно занимать много времени, так как в этом случае способность к запоминанию информации снижается. Поэтому, как правило, обучающие тесты ставят в середине или в конце небольшого блока или главы курса. Чтобы создать комфортные условия, ответы на вопросы не ограничивают по времени, а обучающемуся дают несколько попыток.
Использование онлайн-платформы при разработке тестов позволяет отслеживать результаты в режиме реального времени и оперативно корректировать обучение.
Этапы разработки тестов для обучения
Разработка заданий теста для обучения начинается с ответов на вопросы: хотите ли вы оценивать знания или только закреплять? будут ли предусмотрены санкции за неправильные ответы? Например, на платформе Эквио есть возможность добавлять вставки с вопросами в середину обучающего видео. При неправильном ответе ученик будет вынужден просмотреть обучающий материал ещё раз. Если тесты не предусматривают штрафов, нужно сопроводить каждый ответ кратким объяснением.
После этого можно перейти к выбору типов вопросов. От этого зависят результаты обучения. Например, это могут быть вопросы с несколькими вариантами ответов, с ответами «да/нет» или «верно/неверно». Специалисты рекомендуют использовать несколько разных типов вопросов. На этом же этапе нужно выбрать уровень сложности теста.
Процесс разработки тестов включает и составление самих вопросов. Важно, чтобы они были простыми для понимания и допускали только однозначную трактовку. Для того, чтобы вопросы помогали в процессе обучения, нужно, чтобы их составлял эксперт. Необходимо также проверить тест на точность и наличие фактологических ошибок.
Часть вопросов или ответов можно представить в виде изображений. Это поможет уйти от монотонности и сделать тест более увлекательным.
Примеры тестовых вопросов
Вопрос 1: Каков наилучший подход к разрешению конфликтов на рабочем месте?
A) Избегать конфликта
B) Навязывание своей точки зрения другому человеку
C) Агрессивное отстаивание своей позиции
D) Игнорирование проблемы
Вопрос 2: Какова роль менеджера в определении целей компании?
A) Обеспечивать руководство и управление
B) Делегировать ответственность другим
C) Не принимать никакого участия в постановке целей
D) Диктовать цели сотрудникам
Вопрос 3: Как эффективно делегировать задачи команде?
A) Путем микроконтроля каждого этапа процесса
B) Четко определяя ожидания и обязанности
C) Давая расплывчатые инструкции и оставляя команду разбираться самой
D) Делегируя задачи только самым опытным членам команды
После этого нужно выбрать онлайн-платформу для разработки учебных тестов. Важно, чтобы она соответствовала задачам и возможностям компании и была доступна для обучающихся. От выбора платформы зависит, как будет происходить подсчёт баллов (автоматически или вручную), можно ли будет настраивать количество попыток, ограничение по времени и т.д.
Требования к разработке онлайн-тестов
Составление вопросов требует специальных навыков, нельзя просто придумать их, руководствуясь только опытом, логикой и здравым смыслом. Процедура разработки тестов должна быть основана на методиках, разработанных учёными. Например, в России подобными разработками занимались специалисты В. С. Аванесов, М. Б. Челышкова и другие. Результатом их исследований стали стандарты разработки тестов.
Согласно этим стандартам:
- технология создания теста для обучения требует включать вопросы по всем темам курса;
- информация, лежащая в основе теста, должна соответствовать содержанию программы обучающего курса;
- можно использовать только темы, в которых отсутствуют спорные точки зрения;
- для обучающих тестов важен высокий уровень детализации, вопросы не должны быть поверхностными;
- важно добавить в тест все важные моменты, без которых знания по изученной теме будут неполными;
- второстепенные детали стоит, наоборот, исключить.
Независимо от того, какие средства разработки тестов были использованы, важно, чтобы для их прохождения хватало простых и доступных решений. Чаще всего это приложения для мобильных телефонов или программное обеспечения для ПК. Интерфейс должен быть простым и интуитивно понятным. Пользователи должны понимать, как выбрать нужный вариант ответа, как посмотреть предыдущие вопросы и т.д.
Выбор программы для создания тестов
Есть несколько видов программ для разработки тестов. Например, Мастер-Тест, Madtest, Quizlet и другие. Специальные конструкторы позволяют добавлять вопросы, выбирать количество и типы ответов, а также автоматически проверять результаты. Минус таких программ — в урезанной функциональности. Тесты в таких конструкторах создаются отдельно от обучающих курсов, что не слишком удобно.
Современные платформы для управления удалённым обучением предоставляют инструменты не только для разработки курсов, но и для создания тестов в онлайн. При этом их возможности гораздо шире — от обучения и контроля до мотивации и взаимодействия внутри команды. А главное, тесты, созданные в LMS, можно легко встроить в любой учебный материал на этой же платформе.
Рассмотрим несколько удобных приложений для создания тестов:
Эквио — обучающая платформа и полноценный корпоративный портал, функциональность которого позволяет мотивировать, контролировать, информировать и коммуницировать с сотрудниками. В Эквио можно добавлять вопросы тестов вручную или загружать их в виде файла. При этом можно выбирать различные варианты тестов: с разными типами вопросов, интерактивными вставками и возможностью добавлять картинки.
iSpring — платформа для онлайн-обучения и проверки уровня знаний сотрудников. В iSpring можно создавать тесты с ограничением времени выполнения и количества попыток.
Moodle — в этой обучающей платформе тесты добавляются в онлайн-курсы. Администратор выбирает количество попыток, ограничения по времени и условия выставления оценки за прохождение теста.
Google Forms — бесплатная программа, в которой можно разработать как простые, так и многоуровневые обучающие тесты. Инструменты программы позволяют добавлять в тесты картинки и видео с YouTube.
Источник: e-queo.com
Home
Одна из самых больших проблем на пути становления отличным автоматизатором – это практика. Тестирование – это настолько же искусство, насколько и наука. Определение, где добавлять явные ожидания, как создавать устойчивые локаторы, и почему нужно проверять этот элемент, а не другой, требует времени.
Обучение также требует наличия приложений со специфическими элементами или конечными точками, чтобы проверить определенные операции. К сожалению, при огромном количестве ресурсов по обучению автоматизации (вроде Test Automation University) количество публичных демо-сайтов, на которых можно попрактиковаться, практически ничтожно. Я с трудом нашел нравящиеся мне, и люди часто просят меня порекомендовать такие площадки.
Какие демо-сайты стоит использовать?
Ниже – список демо-сайтов, найденных мной через онлайн-поиск или рекомендации друзей. Многие из них входят в другие списки «Топ-N сайтов для тестирования». Мой список создан не только с целью сбора ссылок на популярные демо-сайты, но и как рекомендация по их использованию.
- WebUI – выглядит как реальный веб-сайт
- WebUI элементы – обучающие страницы, демонстрирующие типы веб-элементов
- MobileUI – выглядит как реальный мобильный сайт
- API – публичный API для тестирования
- DIY – «сделай сам», нужно создать и настроить сайт самостоятельно
Демо-сайт
Тип
Описание
Онлайн-банк от Parasoft с логином и REST/SOAP API. Если вы запускаете продукт локально, используя исходный код, можно получить доступ к базе данных.
Онлайн-сайт для бронирования гостиниц от Марка Уинтерингэма. Фронтэнд – приложение React (код), а бэкэнд – REST API (код)
Базовый онлайн-магазин с опциональным логином от SeleniumFramework.com. Отличный сайт для примеров тестов web UI.
Базовый онлайн-магазин с опциональным логином от BlazeMeter. Отличный сайт для примеров тестов web UI.
Базовый онлайн-магазин с обязательным логином от Sauce Labs. Отличный сайт для примеров тестов web UI.
Небольшой сайт со страницей логина и домашней страницей от Applitools. Сравните со второй версией для визуального тестирования.
Одностраничный сайт для динамического поиска книг. Хорош для тестирования отзывчивой верстки в коротких демо.
Магазин домашних животных от MyBatis на основе MyBatis 3, Spring 3, и Stripes (код).
Базовое банковское приложение с логином через выпадающее меню и простыми страничками от GlobalSQA.
Одностраничный сайт от Gatling, с пронумерованным многостраничным списком моделей компьютеров. Список можно фильтровать и добавлять новые компьютеры.
Сайт на тему Хэллоуина от Пола Гроссмана со страшными багами. Есть также вторая версия, исправленная.
Тестовый сайт, полностью написанный на JavaScript с использованием Node.js, Express и Angular. Специально создан для тестирования проблем безопасности.
Муляж приложения оплаты от Cypress, предназначенный для демонстрации реального Cypress-тестирования. Можно использовать для других задач.
Одно демо-приложение, внедренное на разных языках и фреймворках. Не создано для тестирования, но может для него использоваться.
Web UI элементы
Сайт от Дейва Хеффнера и Elemental Selenium с рядом четких примеров веб-элементов и взаимодействий.
Web UI элементы
Сайт с несколькими страничками, дающими более глубокие примеры по сравнению с the-internet.
Web UI элементы
Набор очень чистых страниц с видеоматериалами, объясняющими, как автоматизировать взаимодействия.
Web UI элементы
Сайт для практики от ToolsQA, включающий страницы для элементов, форм, фреймов, взаимодействий, и даже небольшой книжный магазин.
Web UI элементы
Набор богатых для практики страниц от Ultimate QA.
Web UI элементы
Набор обучающих страниц с элементами, с которыми можно взаимодействовать, от команды Rapise.
Web UI элементы
Страница для практики от SelectorsHub для взаимодействия с различными типами веб-элементов.
Web UI элементы
Еще один набор обучающих страниц с элементами, с которыми можно взаимодействовать.
Мобильное приложение от Sauce Labs для Android и iOS, очень похожее на сайт Swag Labs.
Публичный REST API для генерации фейковых данных из набора предопределенных источников. Следуйте руководству, чтобы узнать, как делать запросы.
Публичный REST API от Swagger для тестирования CRUD-операций над данными магазина домашних животных.
Длинный список публичных API, которые можно использовать для тестирования.
Flask-приложение, которое я разработал для обучения тестированию REST API. Включает приложение и автоматизированные API-тесты, которые можно локально запускать.
Демо-сервис REST API на основе JavaScript от Best Buy.
Мои рекомендации
Выше перечислено очень много сайтов. Ниже – те, которые рекомендую лично я.
- Нужен сайт, где есть и web UI, и API? ParaBank или Restful Booker!
- Нужен сайт, похожий на настоящий? Automation Practice Website!
- Нужно продемонстрировать визуальное тестирование? Applitools demo site!
- Нужно продемонстрировать уязвимости безопасности? OWASP Juice Shop!
- Нужно попрактиковаться во взаимодействии с определенными элементами? the-internet!
- Нужен API, наполненный данными? JSONPlaceholder!
- Нужно научиться тестировать REST API? Device Registry Service!
Конечно, остальные сайты тоже хороши, поэтому они и попали в список!
Зачем морочиться с «муляжами» сайтов?
Возможно, вы задаетесь вопросом, зачем нам демо-сайты. Почему бы просто не использовать настоящие сайты? Демо-сайты и «муляжи» сайтов соответствуют ряду потребностей, которые не покрываются реальными сайтами:
- Демо-сайты постоянны. Они внедрены определенным способом и затем не меняются. Можно быть уверенным, что тесты всегда сработают на них.
- Демо-сайты зачастую проще реальных сайтов. Они не так пугают новичков.
- Демо-сайты иногда создаются для обучения. Если они часть обучающего материала, автор может добавлять туда функции для демонстрации определенных концепций.
- Демо-сайты безопаснее для публикаций статей, обучающих материалов и книг. Письмо статично, поэтому любые сайты, на которые ссылается книга, тоже должны быть статичными. Реальные сайты изменчивы.
- Реальные сайты могут требовать принять пользовательское соглашение, запрещающее автоматизированные запросы. Некоторые даже душат или блокируют запросы, если подозревают, что они отправлены «ботом».
- Реальные сайты также могут подразумевать юридические и копирайтные заморочки, особенно если компания использует их для размещения собственного контента.
Ограничения демо-сайтов
К сожалению, у демо-сайтов есть ограничения:
- Демо-сайты могут быть слишком простыми. В них может не быть длинных сценариев или реальных данных. Неактивные элементы, кажущиеся реальными, могут раздражать.
- Демо-сайты могут быть не созданы для масштабирования. Нагрузка запросами или параллельное тестирование могут сломать их.
- Демо-сайты могут выглядеть низкокачественными вне зависимости от того, правда это или нет. Иногда их быстро создают для тестирования, не вдаваясь в детали так, как с реальными сайтами.
- Демо-сайты со значительным уровнем брендирования могут не подходить для использования. К примеру, если А и В – конкуренты, то А не должны использовать демо-сайт компании В для обучения использованию своего продукта.
Источник: www.software-testing.ru