Являются вы тестировщик автоматизации и хотите знать, как выбрать тестовые случаи для автоматизации?
Знаете, это один из популярных вопросов на собеседовании по Selenium
Мы знаем, что автоматизация тестирование экономит много времени и средств. Некоторые менеджеры считают, что тестировщик автоматизации должен полностью автоматизировать приложение, а некоторые команды спешат автоматизировать все.
Есть некоторые типы тестовых случаев, которые мы должны автоматизировать, а также некоторые тестовые случаи, которые мы не должны автоматизировать. Мы не должны автоматизировать все тестовые случаи. Ранее мы обсуждали 8 типов тестовых наборов, которые нельзя автоматизировать.
Здесь мы обсудим, как выбрать правильные тестовые наборы для автоматизированного тестирования.
Автоматизация тестирования веб-приложений имеет кардинальное преимущество по сравнению с ручным тестированием, поскольку она улучшает результат и структуру, повышает надежность и минимизирует отклонения от результатов. Более того, автоматизация тестирования стимулирует процесс, расширяет охват тестами. Таким образом, это может в конечном итоге расширить общие стандарты применения. Превосходная автоматизация может повысить качество публикаций, увеличить тестовый охват, минимизировать затраты на тестирование, а также обеспечить раннее обнаружение просчетов.
Одной из основных проблем автоматизации тестирования является выбор подходящих тестовых сценариев для автоматизации. Здесь возникает вопрос, на основании чего пользователь может определить, можно ли автоматизировать все тест-кейсы или нет.
Чтобы преодолеть это препятствие, пользователи должны признать преимущества автоматизации каждого тестового примера. Тестирование программного обеспечения является решающей частью любой системы, которая будет запущена. Если программное обеспечение не тестируется должным образом и содержит растущее количество ошибок, существует максимальная вероятность того, что люди не будут использовать этот продукт, по крайней мере, в течение длительного периода времени.
Ручное тестирование не только занимает много времени, является неумеренным и повторяющимся, но также приводит к человеческим ошибкам. Команды обеспечения качества выполняют автоматизированное тестирование с помощью инструментов автоматизации программного обеспечения. Эти инструменты выполняют детальный, повторяющийся и обрабатывающий большие объемы данных анализ программного обеспечения, что помогает повысить качество программного обеспечения в ограниченных масштабах и с минимальными затратами.
Решения об автоматизированном тестировании являются важной частью планирования автоматизации. Процесс скрининга должен выполняться всякий раз, когда требуется ручной тестовый пример. Следующие рекомендации могут быть учтены при выборе потенциальных тестовых случаев для автоматизации
Типы тестовых случаев для автоматизации
1. Тестовые случаи, управляемые данными:
Тестовые случаи, управляемые данными, подходят для этих тестов, поскольку они требуют нескольких наборов данных или требуют нескольких вводов данных, таких как тестирование, для которого требуется имя пользователя и пароль, заполнение формы с множественным изменением данных. Давайте рассмотрим несколько возможных примеров
- Вы хотите протестировать разные роли с разными разрешениями. В одном из моих медицинских проектов мне пришлось протестировать около 20 ролей, и у каждой роли был свой набор разрешений. Представьте, что вы вручную входите в систему под каждой ролью и проверяете ее разрешения. Кроме того, представьте, что эти тесты выполняются как часть дымового тестирования, которое происходит часто. Таким образом, автоматизация этих тестов идеальна.
- В другом сценарии я тестировал приложение, которое отслеживает медицинские устройства, такие как компьютерная томография и магнитно-резонансная томография. Приложение будет отслеживать несколько параметров, может быть, 50 из них, и на основе порогового значения выдавать предупреждение, если что-то не так. Пример: если жесткий диск заполнен, поднимите тревогу. Теперь представьте тестирование оповещения для каждого параметра. Раньше тестирование всех комбинаций занимало 2 дня, однако после автоматизации тестирование завершилось за 30 минут.
2. Тестовые случаи повышенной сложности:
Тестовые случаи, требующие более высокого уровня подготовки и настройки, должны быть автоматизированы.
Допустим, вы тестируете приложение CRM (Customer Relationship Management) и, возможно, захотите использовать CRM API, но перед этим вам нужно настроить аутентификацию, возможно, вам потребуется использовать некоторые другие API, чтобы окончательно протестировать CRM API. Это может занять некоторое время, а проверка нескольких сценариев может занять день или два.
3. Тестовый пример со многими обновлениями базы данных:
Если ваши тестовые примеры включают несколько записей в базу данных, это должен быть хороший кандидат на автоматизацию. Представьте себе сценарий, в котором у вас есть только одни учетные данные для входа в систему, но вы хотите протестировать разные разрешения. В одном из моих проектов нам не разрешалось иметь более одного удостоверения, поэтому мы изменили разрешения для роли и вошли в систему с теми же удостоверениями. Выполнено тестирование. Мне пришлось протестировать разные роли, но с одними учетными данными для входа. Я автоматизировал это, написав сценарий автоматизации, в котором сценарий сначала меняет разрешения, входит в систему и выполняет тестовый пример. Это сэкономило мне много времени.
4. Скорость выполнения тестов высока:
Тестовые случаи, которые выполняются в каждом выпуске, являются подходящими кандидатами для автоматизации. Тестовые случаи дыма или работоспособности — лучшие примеры для более эффективного выполнения.
5. Дым/Критические тесты:
Дымовые или критические тесты выполняются для тех функций и функций, которые часто используются в процессе автоматизации. Дымовой тест включает в себя критические тестовые случаи. Иногда вам нужно убедиться, что ваша производственная среда всегда работает, и для этого вы автоматизируете критические тесты и запускаете их каждое утро.
6. Тесты с несколькими комбинациями:
Тестовые случаи, включающие различные комбинации или конфигурации, автоматизированы, чтобы сэкономить время и избежать ошибок, связанных с человеческим фактором. Не путайте это с любой из вышеперечисленных категорий. Позволь мне привести пример; Представьте себе приложение, которое подключается к различному оборудованию и проверяет конфигурации оборудования и программного обеспечения, установленного на нем. Вы должны сохранить эти ожидаемые параметры либо в базе данных, либо в файле XML, подключиться к устройству и сравнить сохраненные параметры с фактическими значениями параметров, хранящимися на устройстве. Это станет проблемой для тестирования вручную, когда вам придется тестировать несколько устройств с разными комбинациями.
7. Графические тестовые примеры:
Графики используются для отображения данных в графическом формате. Тестирование графов требует множества манипуляций с данными. Он также включает в себя различные сценарии, такие как тестирование с положительными и отрицательными значениями, действительными и недействительными данными и т. д. Автоматизированное тестирование с графическим тестовым примером не только экономит время, но и помогает поддерживать точность графических данных.
8. Более высокое время ручного выполнения:
Иногда выполнение тестов занимает много времени, даже если тесты короткие, несложные по своей природе или не предполагают изменений данных. Эти тесты также можно автоматизировать, чтобы сэкономить время и избежать повторяющихся действий.
Например, я работал над проектом, и в тестируемом приложении было много взаимосвязанных/взаимозависимых модулей, что означает, что изменения в одном модуле могут повлиять на функциональность в других режимах. Нам приходилось тестировать все модули, выполняя тесты всех модулей, что иногда приводило к 200 или более тестовым примерам и легко занимало от 4 до 5 дней. Запуск этих тестов за одну итерацию в течение 5 дней стоил бы много времени и денег. Таким образом, мы автоматизировали все взаимозависимые тесты и смогли выполнить одну итерацию всего за день, что сэкономило нам 4 дня времени.
Вывод:
Теперь мир перешла к автоматизированным методам тестирования, которые не только экономически эффективны, но и экономят огромное количество времени. Для тестирования системных приложений доступно множество автоматизированных методов тестирования. Детальное понимание системных приложений и методов тестирования помогает тестировщику выбирать подходящие методы для своих систем. Успех любой автоматизации тестирования зависит от определения и выбора правильных тестовых случаев для своих программных продуктов.
Автоматизированное тестирование помогает быстрее завершить задачу и получить приемлемые результаты. Тем не менее, есть некоторые тестовые примеры, которые могут дать эффективные результаты, если они выполняются вручную, а не с использованием автоматизированных методов. Таким образом, тестировщики должны взять на себя инициативу, обсудить с заинтересованными сторонами и разработать комплексный план для выявления потенциальных случаев автоматизации.
TAG: qa