Дымовое тестирование – это процесс, который используется для тестирования программного обеспечения, чтобы определить, является ли развернутая сборка программного обеспечения стабильной.
Когда вы проводите дымовое тестирование программного обеспечения, вы запускаете серию тестов, предназначенных для оценки каждой из основных функциональных возможностей программного обеспечения.
Инструменты дымового тестирования проверяют работоспособность наиболее важных функций программного обеспечения. Существует множество различных подходов к дымовому тестированию, а современные технологии делают автоматизированное дымовое тестирование возможным для большинства сборок программного обеспечения.
В этой статье мы глубоко погрузимся в тему дымового тестирования, чтобы рассмотреть типы, процессы и подходы к дымовому тестированию, которые используют тестировщики программного обеспечения. Мы также рассмотрим современные инструменты дымового тестирования, включая автоматизацию дымового тестирования.
Вкратце, вы узнаете все, что вам когда-либо понадобится знать о тестировании дыма.
Что такое дымовое тестирование в программной инженерии?
Дымовое тестирование – это процесс тестирования программного обеспечения на соответствие основным требованиям к функциональности и стабильности. По сути, это тип миниатюрного, быстрого регрессионного тестирования, которое включает в себя тестирование наиболее важных функций программного обеспечения, чтобы убедиться, что они работают на базовом уровне.
Дымовое тестирование является важным ранним этапом процесса QA, поскольку оно показывает, следует ли команде продолжать дальнейшее тестирование или сразу отправить продукт обратно разработчикам.
Если продукт не прошел дымовой тест, это указывает на то, что первоначальная сборка имеет существенные недостатки, которые необходимо устранить до начала дальнейшего тестирования.
Когда необходимо проводить тестирование дыма?
Мы проводим дымовое тестирование программного обеспечения каждый раз, когда разрабатываются новые функциональные возможности и интегрируются в существующую сборку, а также перед тем, как новая сборка передается в QA. Проведение дымового тестирования на этом этапе позволяет избежать траты денег и других ресурсов на QA-тестирование программного обеспечения с серьезными проблемами.
Для проведения дымового тестирования QA команда разработчиков размещает новую сборку программного обеспечения в QA, после чего берется подмножество тестовых случаев и запускается на этой сборке. Команда QA тестирует приложение на соответствие его наиболее важным функциональным возможностям. Если дымовой тест проходит, команда QA продолжает функциональное тестирование, а в случае неудачи сборка передается обратно команде разработчиков для дальнейшей доработки.
Подобное дымовое тестирование проводится каждый раз, когда в сборку программного обеспечения добавляются новые функции.
Бывают и другие случаи, когда команды QA проводят дымовое тестирование программного обеспечения, например:
● Перед фиксацией нового кода в хранилище
● Перед проведением большой серии тестов, включая регрессионное и приемочное тестирование
● После развертывания новой сборки программного обеспечения
Если вы не проведете дымовое тестирование на этих этапах, вы можете обнаружить серьезные дефекты на более поздних этапах тестирования функциональности, что может повлиять на дату выпуска новой сборки или вызвать более серьезные нарушения в вашем графике.
Когда вам не нужно проводить тестирование дыма
Важно проводить дымовое тестирование при тестировании программного обеспечения всякий раз, когда вы вносите какие-либо изменения в программный код или добавляете новые функции в сборку.
Это также важный подготовительный шаг к тестированию функциональности, поскольку он не позволяет командам QA тратить время на тестирование программного обеспечения, которое еще не готово.
Если ваше программное обеспечение не соответствует этим критериям, вы можете не проводить дымовое тестирование в данный момент времени… хотя автоматизированные инструменты дымового тестирования позволяют легко и экономически эффективно проводить регулярные дымовые тесты, чтобы гарантировать, что программное обеспечение всегда функционирует должным образом.
Кто участвует в тестировании дыма
Дымовое тестирование проводится инженерами QA или руководителем QA; это первый этап тестирования QA, который проводится в среде QA.
Команда QA отвечает за тестирование сборки программного обеспечения и оценку его работы в различных условиях и при различных нагрузках. Во время дымового тестирования инженеры QA будут искать “шоу-стопперы”, или ошибки, которые останавливают разработку и должны быть исправлены до продолжения тестирования.
При сравнении дымового тестирования с тестированием на вменяемость и регрессионным тестированием важно учитывать не только то, что тестируется, но и то, кто проводит тестирование.
Дымовое тестирование при тестировании программного обеспечения всегда проводится специалистами QA. Это отличает дымовое тестирование от тестирования на вменяемость, которое проводится в среде разработки и обычно не вовлекает команду QA.
Жизненный цикл дымовых испытаний
Жизненный цикл дымового теста иллюстрирует, где происходит дымовое тестирование во время разработки продукта и тестирования QA. Понимание каждого этапа этого цикла поможет вам лучше понять, как дымовое тестирование вписывается в процесс тестирования, а также различия между дымовым тестированием, тестированием на вменяемость и регрессионным тестированием.
1. Код
Первым этапом создания любого программного обеспечения всегда является написание и создание кода. Код служит строительным блоком любого программного обеспечения, и команда разработчиков должна написать код, прежде чем его можно будет протестировать на стабильность и функциональность.
2. Единичное тестирование
Юнит-тестирование обычно проводится разработчиками, хотя иногда QA-инженеры также могут выполнять некоторые виды юнит-тестирования. Юнит-тестирование гарантирует, что различные единицы или элементы кода работают так, как ожидается, прежде чем отдельные единицы будут объединены в единую сборку программного обеспечения.
Юнит-тестирование обычно проводится параллельно с разработкой, поскольку оно выявляет ошибки и недочеты в коде, которые можно оперативно исправить.
3. Интеграционное тестирование
Интеграционное тестирование – это процесс тестирования того, как отдельные модули работают вместе при интеграции в единую часть программного обеспечения.
Даже если каждый отдельный блок функционирует хорошо, часто могут возникнуть проблемы, когда эти блоки интегрированы друг с другом. Интеграционное тестирование обычно проводится разработчиками, хотя различные подходы к этому виду тестирования означают, что оно может проводиться на разных этапах процесса создания программного обеспечения.
4. Проверка на пригодность к эксплуатации
Санитарное тестирование – это один из видов регрессионного тестирования, и обычно оно проводится в последнюю очередь. Это происходит на этапе разработки сборки, после того как все ошибки, выявленные в ходе регрессионного тестирования, были исправлены.
Тестирование на благонадежность обычно проводится очень быстро и просто существует для того, чтобы убедиться, что программное обеспечение работает гладко и что все найденные ошибки были адекватно исправлены.
Иногда путают дымовое и вменяемое тестирование, но важно помнить, что вменяемое тестирование проводится в среде разработки, а дымовое – в среде QA.
5. Проверка на дым
Дымовое тестирование – это первый этап QA-тестирования и первый тип тестирования, который проводится в среде QA.
Дымовое тестирование обычно проводится перед тестированием на вменяемость и регрессионным тестированием, несмотря на то, что его обычно выполняют команды QA. Это быстрый и простой процесс тестирования – и в наши дни большинство команд QA используют автоматизированное дымовое тестирование при тестировании программного обеспечения – который определяет, является ли сборка стабильной и нужно ли проводить дальнейшие тесты.
Поскольку дымовое тестирование является самым быстрым и простым тестом при сравнении дымового тестирования с тестированием на вменяемость и регрессионным тестированием, его целесообразно проводить первым, прежде чем переходить к другим, более сложным тестам.
6. Функциональное тестирование
Функциональное тестирование – это следующий этап жизненного цикла тестирования программного обеспечения, который проводится в среде QA.
Функциональное тестирование проверяет каждую функцию программного приложения на соответствие требованиям, при этом основное внимание уделяется функциям, удобству использования, доступности и условиям возникновения ошибок.
Функциональное тестирование можно начинать после прохождения дымового теста.
Применение дымовых испытаний на разных уровнях
Дымовые испытания применимы на трех различных уровнях тестирования: дымовые испытания на уровне приемки, дымовые испытания на уровне системы и дымовые испытания на уровне интеграции.
1. Уровень приемочного тестирования
Дымовое тестирование на уровне приемки обычно проводится, когда сборка программного обеспечения передается в QA. Этот тип дымового теста QA просто проверяет базовую функциональность сборки и соответствие ее ожидаемой функциональности.
2. Уровень тестирования системы
Дымовое тестирование на уровне системы включает в себя тестирование наиболее важных рабочих процессов системы. Это выполняется после тестирования самой системы и перед проведением полного регрессионного тестирования системы.
На уровне системы автоматизированное дымовое тестирование является наиболее распространенной формой дымового тестирования.
3. Уровень интеграционного тестирования
На уровне интеграционного тестирования дымовые тесты гарантируют, что все сквозные функциональные возможности программного обеспечения работают так, как ожидается, а базовая интеграция является функциональной.
Этот тип дымового тестирования обычно проводится при внедрении отдельных модулей или при интеграции нескольких модулей в единую сборку программного обеспечения.
Ручные и автоматизированные дымовые тесты
Когда команды разработчиков программного обеспечения впервые начинают проводить дымовые тесты, они должны принять решение о том, будут ли они проводить ручные дымовые тесты или автоматизированные дымовые тесты.
Хотя автоматизированные дымовые тесты обычно дают более быстрые и экономически эффективные результаты, их создание и внедрение также может занять время. Многие команды начинают с создания ручных дымовых тестов, прежде чем рассматривать возможность автоматизации в дальнейшем.
1. Испытание дыма вручную
Ручные дымовые тесты довольно просты в разработке и обычно могут быть выполнены нетехническими специалистами, не входящими в состав QA или команды разработчиков. Это означает, что ручные дымовые тесты часто предпочтительны в небольших компаниях, в которых, возможно, еще нет специального руководителя QA.
При проведении ручного дымового тестирования важно протестировать ряд сценариев использования, которые охватывают достаточное количество основных функций программного обеспечения, но не настолько много, чтобы дымовое тестирование заняло слишком много времени. Идеальным количеством вариантов использования обычно считается от 20 до 50.
Преимущества проведения дымовых испытаний вручную
Проведение ручных дымовых тестов в QA имеет множество преимуществ по сравнению с автоматизированными дымовыми тестами. Ручные дымовые тесты часто дают более детальное представление о производительности и функциональности программного обеспечения по сравнению с автоматизированными тестами.
Неинженерные специалисты могут выполнять ручное тестирование
В то время как для организации автоматизированного дымового тестирования обычно требуется опыт инженеров и разработчиков программного обеспечения, ручное дымовое тестирование может проводиться членами команды с меньшим опытом работы.
Обычно это полезно для небольших команд, где ресурсы могут быть ограничены, а время специалистов чрезвычайно ценно.
Вы можете создать пользовательский дымовой тест для каждого задания
Если вы хотите убедиться, что ваш дымовой тест точно охватывает наиболее важные функции любого программного приложения и фокусируется на тех функциях, которые более важны для каждой сборки, создание ручного дымового теста позволяет тестировщикам адаптировать тест к каждому проекту.
Подобные ручные дымовые тесты могут дать более полезные результаты по сравнению с некоторыми автоматизированными тестами, но это означает, что их настройка и проведение занимает очень много времени.
Ручные тесты выявляют качественные данные
Когда вы запускаете автоматизированное дымовое тестирование, все, что вы можете ожидать, это количественные данные о том, какие аспекты теста прошли, а какие провалились.
Когда члены команды проводят ручное дымовое тестирование, они могут использовать свою проницательность, интуицию и суждения, чтобы оценить не только то, прошла или не прошла сборка, но и то, как и/или почему.
Трудности ручного дымового тестирования
Также существует множество проблем при проведении дымовых испытаний вручную, и именно поэтому многие компании предпочитают использовать автоматизированные дымовые испытания там, где это возможно.
Ручное дымовое тестирование является тщательным, но оно также отнимает много времени.
Ручные дымовые тесты требуют времени
Ручное дымовое тестирование занимает значительно больше времени, чем автоматизированное, и требует гораздо больше внимания вашей команды.
В то время как автоматизированные тесты могут просто работать в фоновом режиме сами по себе, вашей команде необходимо выделить специальное время для проведения ручного дымового тестирования.
Ручные тесты нельзя проводить слишком часто
Из-за огромного количества времени и ресурсов, которые требуют ручные дымовые тесты, они не могут проводиться так же регулярно, как автоматизированные дымовые тесты.
При проведении ручного дымового тестирования тестировщикам программного обеспечения приходится выделять несколько часов, вплоть до половины дня, в зависимости от сложности теста.
Это устраняет возможность ежедневного тестирования дыма, что широко считается лучшей практикой в отрасли.
Всегда есть место для ошибки
Поскольку тестирование вручную проводят люди, всегда существует вероятность того, что во время ручного дымового тестирования могут быть допущены ошибки.
По этой причине ручное дымовое тестирование обычно не является столь же полным, как автоматизированное, особенно когда речь идет о выявлении тонких ошибок, которые легче пропустить, или при проведении чрезвычайно повторяющегося тестирования, которое может заставить тестировщиков потерять концентрацию во время тестирования.
Когда следует использовать ручное дымовое тестирование
Ручное дымовое тестирование чаще всего используется в небольших командах, которые могут не иметь ресурсов для выделения инженеров для автоматизированного дымового тестирования, или в случаях, когда требуется или необходимо дополнительное человеческое понимание и суждение.
По этой причине ручное дымовое тестирование часто реализуется в дымовых тестах на интеграционном уровне.
2. Автоматизированное тестирование дыма
Автоматизированное дымовое тестирование может быть реализовано инженерами-программистами, обладающими навыками кодирования, необходимыми для создания и запуска серии соответствующих сценариев использования для каждой сборки программного обеспечения.
Автоматизированное дымовое тестирование намного быстрее ручного, обычно оно занимает не более 30-60 минут, и может проводиться в фоновом режиме, пока все члены команды разработчиков и QA продолжают выполнять свои повседневные задачи.
По этой причине автоматизированное дымовое тестирование стало обычным явлением в индустрии программного обеспечения, поскольку все больше фирм стремятся повысить эффективность работы.
Преимущества автоматизации дымового тестирования
Автоматизация дымового тестирования дает множество преимуществ тем компаниям, у которых есть время и ресурсы для ее внедрения. Это быстро и эффективно, а благодаря отсутствию нагрузки на команды и ресурсы автоматизированные тесты можно проводить регулярно даже в небольших компаниях.
Автоматизированное тестирование – это быстро
Автоматизированное дымовое тестирование проходит гораздо быстрее, чем ручное, причем на выполнение большинства автоматизированных тестов уходит не более 30-60 минут.
Для сравнения, ручные тесты могут занять несколько часов.
Автоматизированные дымовые тесты требуют минимальных ресурсов, а после их внедрения их очень легко выполнять.
Автоматизация делает возможным ежедневное тестирование дыма
Согласно существующей передовой отраслевой практике, идеальным вариантом является ежедневное проведение дымовых тестов, особенно при работе над программным обеспечением, которое постоянно находится в состоянии изменения.
Ручные дымовые тесты отнимают слишком много времени, чтобы проводить их ежедневно, но автоматизированные дымовые тесты легко проводить в начале каждого рабочего дня.
Автоматизация исключает человеческий фактор
Автоматизированные тесты выполняются по заранее подготовленным сценариям, созданным в соответствии с самыми строгими стандартами. Это означает, что вероятность того, что автоматизированное тестирование пропустит крупную ошибку или важную проблему, очень мала.
Автоматизация может имитировать тесты нагрузки и производительности
Тесты нагрузки и производительности оценивают, насколько хорошо работает приложение, когда его одновременно использует множество пользователей. Автоматизированное дымовое тестирование может имитировать дополнительную нагрузку от нескольких пользователей так, как не может сделать ручное тестирование, и предоставить дополнительный уровень данных о производительности программного обеспечения в определенных условиях.
Проблемы автоматизации дымового тестирования
Автоматизация дымового тестирования не лишена трудностей. Внедрение автоматизированного дымового тестирования может занять больше времени и ресурсов, особенно в небольших командах с меньшим количеством инженеров в распоряжении.
Технические требования
Автоматизированные дымовые тесты требуют больше технических знаний и навыков в кодировании, чем ручные дымовые тесты. Инженеры-программисты должны иметь время и знания, чтобы знать, как создавать автоматизированные тесты, прежде чем они могут быть реализованы, и не все команды обязательно будут иметь ресурсы для этого.
Отсутствие человеческой проницательности
Автоматизированное тестирование дает общее представление о функциональности программного приложения, а при проведении автоматизированного дымового тестирования тестировщики программного обеспечения получают представление об основных функциях программного обеспечения, что является конечной целью дымового тестирования.
Однако автоматизированные тесты не дают никакого представления о более предметных аспектах работы программного обеспечения, таких как удобство использования и доступность.
Когда следует применять автоматизацию дымового тестирования
Автоматизация часто используется в дымовом тестировании, поскольку целью дымового тестирования является проверка базовой функциональности, а это то, с чем автоматизированное тестирование справляется относительно хорошо.
Команды, обладающие достаточными техническими навыками для внедрения автоматизированного тестирования дыма, скорее всего, будут иметь время и ресурсы для инвестирования в этот процесс, а более крупные компании, скорее всего, будут испытывать большее давление, чтобы соответствовать стандартам передовой практики ежедневного тестирования дыма.
Автоматизация дымового тестирования в сравнении с ручным дымовым тестированием
Не существует правильного или неправильного способа проведения дымового тестирования, и то, что хорошо работает для одной команды, может не сработать для другой.
Перед проведением дымового тестирования команды разработчиков программного обеспечения должны рассмотреть свои цели, ресурсы и долгосрочные планы проекта. Процесс ручного тестирования программного обеспечения может быть познавательным для молодых специалистов, только начинающих работать в QA, но для более устоявшихся команд редко бывает выгодно предпочесть ручное тестирование автоматизированному.
Гибридные испытания на дым
Третий вариант для команд, которые не могут выбрать между ручным и автоматизированным дымовым тестированием и тестированием на вменяемость, – выбрать гибридное тестирование.
Гибридное тестирование сочетает в себе аспекты как ручного, так и автоматизированного дымового тестирования для повышения общей производительности и эффективности тестов. При использовании гибридного метода испытания дымом большая часть испытания может быть автоматизирована, но некоторые аспекты выполняются вручную. Это позволяет командам уделять больше внимания тем аспектам сборки, которые в этом нуждаются, сохраняя при этом общие временные затраты на дымовое тестирование на низком уровне.
Виды испытаний на дым
Дымовые испытания в целом можно разделить на две категории: формальные и неформальные дымовые испытания. Является ли тестирование дыма формальным или неформальным, зависит от того, инициируется ли оно руководителем службы QA официально или просто проводится в процессе разработки.
1. Формальные испытания на дым
При формальном дымовом тестировании разработчики программного обеспечения передают сборку программного обеспечения инженеру QA или руководителю QA для формального тестирования. Ведущий QA назначает тестировщиков на задачу дымового тестирования и просит их выполнить дымовое тестирование либо с помощью инструментов дымового тестирования, таких как автоматизация, либо вручную.
При проведении формальных дымовых тестов специалисты по тестированию QA собирают результаты тестирования в формальный отчет, который может быть проанализирован руководителем QA.
Формальные дымовые тесты проводятся в важные моменты процесса создания программного обеспечения, например, перед проведением функционального тестирования новых функций.
2. Неофициальные испытания дыма
Неофициальные дымовые тесты – это дымовые тесты, выполняемые на сборке программного обеспечения в процессе разработки или QA, о которых официально не сообщается и которые не требуются руководителю QA.
Ежедневные дымовые тесты, которые многие команды разработчиков программного обеспечения проводят в рамках протокола, являются примером неформальных дымовых тестов.
Неформальные тесты могут проводиться на разовой основе, когда инженеры QA считают, что это может быть полезно.
Что нужно для начала тестирования дыма
Прежде чем приступить к дымовому тестированию при тестировании программного обеспечения, важно собрать все необходимое, включая файлы данных и навыки в вашей организации.
Что вам понадобится для проведения дымового тестирования, зависит от того, планируете ли вы проводить автоматизированное или ручное дымовое тестирование, а также от того, какие инструменты тестирования вы используете для облегчения процесса.
1. Список тестовых случаев
Прежде чем начать дымовое тестирование, вам понадобится полный список всех тестовых случаев, которые вы хотите оценить с помощью дымового теста.
Тестовые случаи – это отдельные наборы действий, которые вы хотите протестировать, чтобы оценить, соответствуют ли результаты выполнения этих действий тем результатам, которые вы ожидаете.
Например, очень простой тестовый случай может заключаться в том, что программа загружает основную приборную панель, когда вы открываете приложение.
2. Тестовые файлы
Перед запуском дымового теста вам нужно собрать все тестовые файлы, на которых вы собираетесь проводить дымовой тест. Возможно, вы сможете использовать командную строку используемого вами программного обеспечения для тестирования дыма, чтобы собрать все ваши файлы в одном месте.
То, как вы собираете свои файлы и где вы их храните, зависит от того, как работает ваша организация.
3. Инструменты для дымового тестирования
Вы можете провести базовое тестирование дыма без использования каких-либо специальных инструментов, но использование инструментов для тестирования дыма может помочь вам повысить точность результатов и ускорить процесс тестирования дыма.
Сначала изучите инструменты тестирования дыма в Интернете и выберите программное обеспечение, которое автоматизирует или оптимизирует ваше тестирование дыма в соответствии с вашими конкретными потребностями и бюджетом.
Процесс испытания дымом
Лучший способ проведения дымового тестирования различен для разных организаций, и если вы новичок в дымовом тестировании, вы можете поэкспериментировать с различными подходами, чтобы понять, что лучше всего подходит для вашей команды.
Ниже приведен пример проведения базового дымового теста для оценки основных функций вашего программного обеспечения.
Шаг 1: Выберите тестовые случаи
Первым шагом к проведению дымового тестирования является выбор тестовых примеров, на которых вы собираетесь проводить дымовое тестирование.
При разработке дымового теста инженеры-программисты и QA-инженеры должны рассмотреть, какие функции программного обеспечения являются наиболее критичными для программного обеспечения и как лучше всего протестировать эти функции. Не тратьте время на тестирование функций, которые не важны для работы программы.
Шаг 2: Создание дымовых тестов
После определения тестовых случаев, которые вы собираетесь использовать, вы можете написать тестовые сценарии для их проверки. Используйте один сценарий для дымовых тестов, чтобы повысить гибкость при выполнении теста.
Если вы решите автоматизировать дымовое тестирование, вам не придется писать сценарии тестирования вручную каждый раз, когда вы хотите запустить дымовое тестирование. Для автоматизации подобных сценариев можно использовать комплекты автоматизации тестирования программного обеспечения.
Шаг 3: Проведите дымовые тесты
После создания сценариев дымового тестирования их можно запустить на вашей сборке для поиска ошибок и других серьезных погрешностей. Это не должно занять более 30-60 минут, и по окончании тестирования вы можете оценить результаты, чтобы определить свои дальнейшие действия.
Шаг 4: Исправьте все ошибки
Цель дымового тестирования при разработке программного обеспечения – выявить все основные ошибки и недостатки до начала полноценного QA-тестирования.
Если ваши дымовые тесты выявили какие-либо значительные проблемы, которые нарушают основные функции вашей сборки программного обеспечения, важно отправить программное обеспечение и ваш анализ обратно в команду разработчиков для исправления ошибок, прежде чем продолжать QA.
Лучшие методы тестирования дыма
Дымовое тестирование – это надежный способ выявления основных ошибок в сборках программного обеспечения на всех этапах разработки. Следование лучшим отраслевым практикам – лучший способ обеспечить эффективность, точность и продуктивность ваших дымовых испытаний.
1. Часто проводите дымовые тесты
Не всегда возможно проводить дымовые тесты каждый день, особенно если вы проводите ручные тесты, а не автоматизированные дымовые тесты.
Проводите дымовые тесты так часто, как только можете, и каждый раз, когда вносите изменения в свое программное обеспечение. Как только вы сможете это сделать, проведение ежедневных тестов на дым считается лучшей практикой.
2. Никогда не пропускайте этапы тестирования
Если вы торопитесь, может возникнуть соблазн пропустить некоторые этапы тестирования, чтобы быстрее продвинуться в процессе разработки, но как дымовое, так и регрессионное тестирование необходимы для того, чтобы ваша разработка шла по плану.
Всегда тестируйте свои сборки с помощью дымового и вменяемого тестирования, прежде чем переходить к следующему этапу.
3. Тестируйте каждое изменение
Не существует единственного применения для тестирования дыма. Вы можете и должны использовать дымовые тесты для тестирования каждого изменения, которое вы вносите в сборку программного обеспечения, а также для тестирования вашего программного обеспечения на разных этапах разработки.
Дымовые тесты должны предшествовать интеграционному тестированию, тестированию производительности и функциональному тестированию.
4. Отслеживайте результаты тестирования
Стандартной практикой является проверка результатов формального испытания на дым, но даже при проведении неформальных испытаний на дым инженеры должны вести записи результатов.
Это облегчает передачу результатов разработчикам и позволяет отслеживать, какие функции не прошли тест.
5. Проведите тест на дым дважды
Проведение дымового теста дважды может показаться излишеством, но если вы действительно хотите отловить все ошибки во время тестирования, лучше провести его дважды.
Это гарантирует, что у вашего дымового теста есть все шансы выявить основные ошибки и проблемы, которые могут вызвать дальнейшие проблемы, если не будут исправлены немедленно.
6. Выберите правильный тип испытания на дым
Следует ли вам использовать ручное или автоматизированное дымовое тестирование, зависит от размера и потребностей вашей команды. Убедитесь, что вы выбрали лучший тип тестирования для вашего проекта, чтобы оптимизировать эффективность без ущерба для точности результатов.
Типы результатов испытания на дым
Когда вы проводите дымовой тест, вы можете ожидать, что ваш дымовой тест приведет к одному из двух различных результатов для каждого тестового случая, который вы оцениваете: прохождение или провал.
1. Пройти
Один из возможных результатов для каждого запущенного вами тестового случая – прохождение дымового теста. Это означает, что фактический результат теста совпадает с ожидаемым результатом теста.
Например, если вы проводите тест на то, что происходит при загрузке приложения, и оно загружается на экран, который должен открываться при загрузке, ваш сценарий должен отобразить это как проход.
2. Провал
Если ваш дымовой тест провалился для конкретного тестового случая, это обычно означает, что фактический результат теста не совпал с ожидаемым результатом теста.
Например, если вы тестируете приложение для покупок и один из запущенных вами тестовых примеров проверяет функциональность добавления товаров в корзину, тест будет провален, если товары, которые вы добавляете в корзину, не появляются в корзине, как вы ожидаете.
Примеры тестовых примеров для дымового тестирования
Когда вы пытаетесь придумать, какие тестовые случаи включить в дымовой тест, составьте список основных функций вашего программного обеспечения и подумайте, какие из них необходимы для запуска и использования программы.
Некоторые примеры тестовых случаев для дымового тестирования могут помочь вам определить, какие тестовые случаи использовать в вашем собственном дымовом тестировании.
1. Проверка учетных данных для входа в систему
Если ваше приложение требует, чтобы пользователи входили в систему, вы можете создать тестовый пример, который проверяет, работает ли процесс проверки учетных данных для входа в систему так, как нужно.
Для этого создайте сценарий, который автоматизирует действия по входу в систему, запуску теста и проверке результатов. Если программа входит в систему, как и ожидалось, этот тест проходит.
2. Создание нового документа
Вы можете создать тестовый пример, чтобы оценить, позволяет ли ваше программное обеспечение пользователям правильно создавать новый документ. Создайте сценарий, автоматизирующий создание, именование и сохранение документов в вашей программе, и запустите его.
Любые серьезные проблемы, которые возникнут и помешают этому процессу, будут означать, что данный дымовой тест провален.
3. Выход из системы
Если ваше приложение имеет функцию входа в систему, оно также должно иметь функцию выхода из нее. Запустите сценарий для проверки того, что происходит, когда пользователи нажимают кнопку “выйти из системы”.
Если пользователь не может успешно выйти из системы при нажатии на эту кнопку, дымовой тест завершается неудачно.
Типы ошибок и недочетов, выявляемых в ходе дымового тестирования
Дымовые тесты помогут вам выявить ошибки и баги, которые нарушают основную функциональность вашего программного обеспечения. В зависимости от того, когда вы проводите дымовое тестирование и что вы хотите проверить, вы можете найти различные типы ошибок и багов с помощью дымового тестирования.
1. Функциональные ошибки
Функциональные ошибки – это ошибки, возникающие, когда ваше программное обеспечение ведет себя не так, как вы ожидаете, или когда оно не функционирует должным образом.
Большинство тестовых случаев, для проверки которых вы будете использовать дымовые тесты, являются функциональными тестами, поэтому функциональные ошибки, скорее всего, будут выявлены с помощью таких дымовых тестов.
2. Логические ошибки
Логические ошибки представляют собой недостатки в логике кода и также могут привести к неправильному поведению программного обеспечения. Логические ошибки могут привести к неправильным результатам действий или даже к сбоям в работе программного обеспечения.
Распространенной логической ошибкой является бесконечный цикл, который заставляет программу повторять одни и те же действия снова и снова, пока не произойдет сбой.
3. Ошибки интеграции
Если вы проводите дымовое тестирование на уровне интеграции, вы можете обнаружить ошибки интеграции во время тестирования. Это происходит, когда два отдельных набора кода не интегрируются безупречно друг с другом. Они могут быть вызваны широким спектром проблем совместимости в коде и могут потребовать сложных решений для устранения.
Общие метрики дымового тестирования
При проведении дымового теста команды QA могут использовать метрики для оценки результатов дымового теста и суждения о том, прошел тест или нет.
Помимо рассмотрения вопроса о том, способно ли программное обеспечение должным образом выполнять свои основные функции, метрики дымового теста могут оценивать, помимо прочего, скорость и время загрузки программного обеспечения.
1. Скорость работы программного обеспечения
Дымовые тесты могут использоваться для проверки соответствия скорости и времени загрузки программного обеспечения определенным критериям, указанным в отдельных тестовых примерах.
Например, если вы тестируете, как ведет себя программное обеспечение при загрузке приложения, и приложение загружается, как ожидалось, но загрузка занимает две минуты, вы можете отметить это как Fail, поскольку это не соответствует ожидаемому времени загрузки.
2. Надежность
Проведение дымового теста дважды также может помочь вам проверить надежность вашего программного обеспечения. Если некоторые тестовые случаи проходят один раз, но один раз терпят неудачу, это указывает на то, что какая-то ошибка в коде вызывает ошибки, которые могут возникать не каждый раз, когда используется программное обеспечение, но все же могут вызвать серьезные проблемы у пользователей.
Лучшие бесплатные инструменты для тестирования дыма
Инструменты для дымового тестирования помогут вам проводить дымовые тесты более эффективно и быстро, что позволит вам получить максимальную отдачу от дымовых тестов.
Ниже приведены некоторые из лучших инструментов для тестирования дыма, доступных сегодня бесплатно.
5 лучших бесплатных инструментов для тестирования дыма
1. ZAPTEST FREE edition
ZAPTEST – это бесплатный инструмент, который позволяет пользователям автоматизировать тестирование программного обеспечения и RPA, не заплатив ни цента.
Вы можете использовать редакцию ZAPTEST FREE для проведения простых дымовых тестов на различных платформах, включая мобильные, веб-платформы, API и LOAD.
Если вы хотите попробовать автоматизированное дымовое тестирование, бесплатная версия ZAPTEST поможет вам убедиться в преимуществах автоматизации на собственном опыте. Он также прост в использовании, даже если у вас нет технического образования, поскольку имеет интерфейс без кода и использует современную технологию компьютерного зрения.
Самое главное, ZAPTEST FREE – это хорошо…. бесплатно навсегда! В отличие от этого, многие инструменты для тестирования дыма и автоматизации программного обеспечения имеют начальный период тестирования, после которого вам придется платить за подписку.
2. Селен
Selenium – это бесплатный инструмент с открытым исходным кодом, который вы можете использовать для проведения различных видов тестирования вашего программного обеспечения, включая дымовое и регрессионное тестирование. Он работает с множеством различных языков программирования и особенно хорош для тестирования веб-приложений.
3. Appium
Если вы хотите провести дымовое и вменяемое тестирование мобильных приложений, Appium будет лучшим выбором, чем Selenium. Appium прост в установке и использовании и может использоваться для проведения простых дымовых тестов приложений, разработанных как для iOS, так и для Android.
4. Тестовая ссылка
Testlink – это бесплатный веб-инструмент управления, который позволяет пользователям составлять планы тестирования и тестовые случаи в рамках единой структурированной структуры. Testlink может помочь вам спланировать дымовые тесты, а также определить ваши ожидания и метрики до начала дымового тестирования.
5. QA Wolf
QA Wolf – это бесплатный инструмент сквозного тестирования, который позволяет пользователям создавать автоматизированные дымовые тесты QA наряду с другими функциональными тестами. QA Wolf могут использовать даже люди, не имеющие технических навыков или навыков кодирования, что означает, что он является отличным введением в автоматизацию тестирования для большинства команд QA.
Лучшие инструменты для дымового тестирования предприятий
Если вы готовы вложить немного денег в инструменты для тестирования дыма, вы можете приобрести корпоративные инструменты, которые имеют более широкие возможности тестирования дыма и более тщательные результаты.
Ниже приведен список пяти лучших инструментов автоматизации дымового тестирования на рынке.
5 лучших инструментов автоматизации дымовых тестов для предприятий
1. Издание ZAPTEST ENTERPRISE
ZAPTEST ENTERPRISE edition – это пакет для тестирования программного обеспечения и RPA, который может полностью автоматизировать любой тип тестирования, включая дымовое тестирование.
Бесплатная версия подходит для небольших компаний, желающих узнать, на что способен ZAPTEST, но если вы ищете платное решение, простое в использовании и подходящее для тестирования любого программного обеспечения или приложения, на любой платформе, в любом браузере или устройстве, и с реализацией 1SCRIPT на всех этих платформах, то ZAPTEST ENTERPRISE – отличное место для начала.
2. SoapUI
SoapUI – это корпоративный инструмент тестирования, который упрощает управление и выполнение сквозных QA-тестов программного обеспечения. Это относительно простой в установке инструмент, но у него есть свои ограничения, что отражено в его ценовой политике.
3. Testim
Testim – это платный инструмент для дымового тестирования, который использует искусственный интеллект для создания бескодовых тестов, оценивающих функциональность вашего программного обеспечения. Javascript API Testim можно использовать для рефакторинга, настройки и отладки тестов.
4. Т-план робота
T-Plan Robot – это инструмент корпоративного тестирования, который QA-инженеры могут использовать для автоматизации сценарных действий пользователей и автоматизации роботизированных процессов (RPA) на Windows, Mac, Linux и мобильных устройствах. Вы можете использовать T-Plan Robot для автоматизации дымовых тестов ряда приложений и создания автоматизированных сценариев, которые можно запускать в ключевые моменты разработки.
5. КК тропических лесов
Rainforest QA – это инструмент дымового тестирования QA, который позволяет пользователям управлять и проводить как ручное, так и автоматизированное дымовое тестирование с единой приборной панели. Это делает его идеальным для организаций, заинтересованных в применении гибридного подхода, и он подходит для огромного количества платформ, включая облачные приложения, Windows и Mac.
Когда следует использовать корпоративные и бесплатные инструменты для дымового тестирования?
Корпоративные и бесплатные инструменты для тестирования дыма могут удовлетворять аналогичные потребности немного разными способами. Как правило, бесплатные инструменты служат отличной отправной точкой для организаций, которым удобно работать с ручным дымовым тестированием, но которые хотят более детально изучить автоматизированное дымовое тестирование.
Они также могут больше подходить для очень маленьких стартапов, у которых пока нет денег на платные инструменты.
Корпоративные инструменты тестирования обычно становятся более жизнеспособным вариантом по мере расширения компаний. Они обладают рядом преимуществ по сравнению с бесплатными инструментами, обычно предлагая большую гибкость, лучшую поддержку и более дружественные интерфейсы, позволяющие даже нетехническим специалистам легко проводить автоматизированное дымовое тестирование.
Контрольный перечень испытаний на дымообразование
Прежде чем начать дымовое тестирование, команда QA программного обеспечения может использовать этот контрольный список, чтобы убедиться, что они охватили все этапы процесса дымового тестирования.
● Определите инструменты для дымового тестирования, которые вы собираетесь использовать
● Выберите, какой тест вы собираетесь создать: ручной или автоматизированный
● Выберите тестовые случаи, которые вы хотите протестировать
● Создание сценариев тестирования для каждого случая
● Определите требования “прохождения” для каждого случая тестирования
● Проведите испытания на дым
● Проанализируйте результаты
● Обратная связь для разработки и QA
Заключение
Дымовое тестирование является важным этапом разработки программного обеспечения и контроля качества. Это гарантирует работоспособность продукта до начала дальнейшего тестирования, что предотвращает риск того, что команды QA будут тратить время и ресурсы на интенсивное функциональное тестирование еще не стабильных сборок.
Дымовое тестирование – это относительно быстрый и простой процесс, который должен проводиться командами разработчиков программного обеспечения как можно чаще.
Поскольку предприятия стремятся достичь оптимальной эффективности за счет использования передовых инструментов, поддерживающих гиперавтоматизацию, RPA и другие связанные с ними технологии, автоматизированное тестирование дыма становится все более распространенным в организациях любого размера.
Как ручное, так и автоматизированное дымовое тестирование по-прежнему занимают свое место в современных средах QA, но по мере того, как автоматизированное тестирование становится все более распространенным, нет сомнений, что оно станет нормой.
Часто задаваемые вопросы и ресурсы
Какие лучшие курсы по автоматизации дымового тестирования?
Если вы хотите узнать больше об автоматизации дымовых тестов, вот несколько примеров онлайн-курсов, которые вы можете пройти:
● Курсы тестирования дыма на Coursera
● Курсы тестирования дыма на Udemy
● Курсы тестирования дыма Skillshare
Одним из лучших курсов для начинающих является курс Certified Tester ISTQB Foundation Level (CTFL), доступный на Udemy.
Каждый из этих онлайн-ресурсов предлагает курсы тестирования дыма для учащихся разного уровня подготовки, причем на этих сайтах можно пройти как бесплатные, так и платные курсы.
Если вы хотите получить сертификат, ищите курсы, аккредитованные CAST.
Какие лучшие книги по тестированию дыма?
Если вы хотите узнать больше о дымовом тестировании, вы можете прочитать книги по тестированию программного обеспечения и дымовому тестированию, чтобы развить свое понимание подходов и преимуществ дымового тестирования. Среди лучших книг по испытанию дыма можно назвать следующие:
Искусство тестирования программного обеспечения, авторы Гленфорд Дж. Майерс, Том Баджетт и Кори Сандлер
● Тестирование программного обеспечения, автор Рон Паттон
● Автоматизация тестирования программного обеспечения, авторы Марк Фьюстер и Дороти Грэм
Однако существует множество фантастических книг о тестировании программного обеспечения, которые помогут вам лучше понять, как, почему и что такое тестирование.
Выберите книгу, которая вам понравится, и более подробно изучите темы, которые вас больше всего интересуют.
Каковы 5 лучших вопросов на собеседовании по дымовому тестированию?
Если вы собираетесь пройти собеседование на должность, которая может включать в себя тестирование дыма, подготовьтесь к собеседованию, подготовив ответы на распространенные вопросы интервью, такие как:
● Когда следует проводить проверку дыма?
● Как вы решите, какие тестовые случаи использовать в дымовом тестировании?
● Чем тестирование на дым отличается от других видов тестирования, например, от тестирования на вменяемость?
● Насколько необходимы знания кодирования для проведения дымовых тестов?
● Что вы будете делать, если проверка дыма окажется неудачной?
Какие лучшие учебники по тестированию дыма есть на YouTube?
Если вы любите изучать визуальные методы, вы можете использовать эти видеоролики на YouTube, чтобы узнать больше о тестировании дыма:
● Учебник по тестированию дыма Edureka
● Что такое испытание дымом?
● Дымовое тестирование и тестирование на вменяемость
Как проводить испытания на дым?
Обслуживание дымовых тестов – это обеспечение того, чтобы созданные вами дымовые тесты оставались здоровыми и актуальными по мере продолжения проекта по созданию программного обеспечения.
Выполняйте дымовые тесты ежедневно и создавайте новые тестовые случаи по мере необходимости.
Вы также можете максимизировать преимущества своих дымовых тестов, тесно сотрудничая с теми разработчиками, чей вклад не позволяет улучшить качество их кода.
Что такое дымовое тестирование в программной инженерии?
Дымовое тестирование в программной инженерии также называется тестированием проверки сборки, и это простой и быстрый тест для обеспечения стабильности сборки программного обеспечения.
Дымовое тестирование используется для проверки основных функциональных возможностей сборки и служит в качестве предварительного теста перед проведением дальнейшего QA-тестирования.
Дымовое тестирование и тестирование на вменяемость
Дымовое тестирование и тестирование на вменяемость – это оба вида тестирования, которые включают в себя быстрое тестирование основных функциональных возможностей программного обеспечения или продукта.
Однако, в то время как дымовое тестирование проверяет, ведут ли себя основные функциональные возможности программного обеспечения так, как ожидалось, тестирование на вменяемость обычно используется для проверки того, исправили ли ошибки выявленные проблемы.
Дымовое тестирование – это более формальный и документированный процесс, который обычно проводится перед проверкой стабильности сборки, тогда как тестирование на вменяемость – это неформальный тип тестирования, который может проводиться как часть регрессионного тестирования относительно стабильных сборок.
Дымовое тестирование и регрессионное тестирование
Дымовое и регрессионное тестирование – оба вида тестирования, которые проверяют, продолжает ли программное обеспечение функционировать должным образом после внесения новых изменений.
Однако дымовое тестирование – это относительно быстрый и неглубокий тип тестирования, который просто проверяет основные функции и обеспечивает стабильность программного обеспечения.
Регрессионное тестирование – это тестирование более глубокого уровня, которое занимает гораздо больше времени и оценивает сборку более детально.
Дымовое тестирование в сравнении с вменяемым тестированием в сравнении с регрессионным тестированием
Когда вы сравниваете тестирование на дым и вменяемость с регрессионным тестированием, важно понимать, что все три типа тестов необходимы для хорошей разработки программного обеспечения и QA.
Дымовое тестирование и тестирование на вменяемость – это быстрый способ проверить, нормально ли функционирует программное обеспечение, а регрессионное тестирование позволяет глубже изучить работу продукта.
Команды QA сначала проводят дымовое тестирование программного обеспечения, а затем, если программа проходит эту проверку, проводится тестирование на вменяемость, а затем регрессионное тестирование.
Автоматизированное дымовое тестирование с использованием инструментов дымового тестирования становится все более распространенным, однако некоторые виды тестирования, такие как регрессионное тестирование, пока невозможно полностью автоматизировать из-за сложного характера тестирования.
Наконец, если вы ищете инструменты для проведения тестирования на платформах Windows, iOS, Android, UI-тестов, Linux и многих других, перейдите и скачайте ZAPTEST FREE!