- Тестирование программного обеспечения
- Цели тестирования
- Виды и типы тестирования
- Вопросы-ответы
- Заключение
В Интернете постоянно встречаются вопросы на тему «Тестирование ПО»: что это такое, каково определение терминов этого процесса.
В статье мы поговорим о тестировании, узнаем его разновидности.
Тестирование программного обеспечения
Для начала разберемся, что собой представляет тестирование ПО. Это процесс проверки соответствия поведения приложения ожидаемым параметрам. Например, в теории программа может вести себя определенным образом, а на практике – совсем по-другому. Для проверки применяется специальный набор тестов.
Тестирование – это одна из техник регулировки качества программы. Его этапы:
- планирование работ;
- дизайн тестов;
- проведение тестирования;
- анализ результатов.
Процесс проверки качества (quality assurance) проводит специальный человек или группа людей, которых называют тестировщиками.
Цели тестирования
- Убедиться, что тестируемый продукт отвечает заявленным требованиям. Соответствующий данной цели тест называют валидацией (проверкой достоверности). Успешная валидация указывает, что система работает как надо.
- Найти ситуации, когда программное обеспечение ведет себя ошибочно, нежелательно или не соответствует спецификации. Следовательно, поиск ошибок в этом смысле предназначен для того, чтобы ликвидировать нежелательное поведение системы, как, например, крах системы, нежелательное взаимодействие с другими системами, неправильные расчеты, поврежденные данные.
Виды и типы тестирования
Можно выделить такие виды тестирования программного обеспечения:
- Функциональные.
- Нефункциональные.
- Связанные с изменениями.
Разберем каждый из них по отдельности.
Функциональные виды тестирования
- Функциональное тестирование.
- Тестирование безопасности.
- Тестирование взаимодействия.
Функциональное тестирование
Рассматривает предварительно заданное поведение программы, опираясь на анализ всей системы и спецификации функциональности элемента.
Тестирование безопасности
Проверяет всю систему на предмет безопасной работы. Помогает провести анализ рисков, которые связаны с организацией защиты программы от различных вирусов и взломщиков, неправомерного проникновения для просмотра секретной информации.
Тестирование взаимодействия
Тестирует приложение на возможность одновременного взаимодействия с одним или несколькими модулями или внешними приложениями. Включает в себя интеграционное тестирование и тестирование на совместимость.
Нефункциональные виды тестирования
- Тестирование надежности.
- Установочное тестирование.
- Стрессовое тестирование.
- Тестирование на предмет удобства использования.
- Объемное тестирование.
- Нагрузочное тестирование.
- Тестирование конфигурации.
- Тест на предмет отказа и восстановления.
Тестирование надежности
Во время этого теста идет проверка программы на функциональность в течение нескольких часов. Нагрузка на программу может быть как средней, так и высокой.
Установочное тестирование
Проверяет инсталляцию и ее настройки, обновления и удаление ПО.
Стрессовое тестирование
Проверяет работоспособность приложения в стрессовых условиях и делает оценку регенеративной способности системы.
В качестве стресса можно рассматривать степень увеличения регулярности выполнения операций до высочайших значений или аварийное редактирование параметров в сервере.
Еще одна задача такого тестирования – дать оценку деградированию работы системы.
Тестирование на предмет удобства использования
Этот метод тестирования направлен на определение степени удобности применения, понятности и привлекательности для юзеров.
Объемное тестирование
Задача этого теста – получить оценку производительности во время увеличения количества информации в БД приложения.
Нагрузочное тестирование
Эмулирует работу большого количества пользователей на каком-то ресурсе.
Тестирование конфигурации
Проверяет персональный компьютер в конфигурациях с драйверами и различными платформами, которые поддерживают это ПО.
Тест на предмет отказа и восстановления
Делает проверку программы на предмет восстановления после серьезных сбоев, которые возникают во время ошибок ПО, отказа оборудования и проблем со связью.
Данная разновидность тестирования дает возможность провести проверку системы восстановления, которая после сбоя обеспечит нормальную работу данных.
Виды тестирования, которые связаны с изменениями
- Дымовое.
- Регрессионное.
- Повторное.
- Тестирование сборки.
- Санитарное.
Дымовое
Можно рассматривать в виде нескольких небольших тестов, которые выполняются для подтверждения того, что необходимое приложение нормально запускается и выполняет свои функции после сборки кода.
Регрессионное
Этот вид тестирования проверяет, что внесенные изменения не повлияли на работу функционала, разработанного ранее.
Повторное
Выполняет проверочные скрипты, выявляющие ошибки в момент последнего запуска. Это нужно для подтверждения того, что ошибки исправлены.
Тестирование сборки
Дает возможность определить соответствие выпущенной версии основным параметрам качества.
Похоже на дымовое тестирование, но, в отличие от него, способно проникать гораздо глубже.
Санитарное
Проверяет работу определенной функции согласно прописанным требованиям, представляет собой разновидность регрессионного тестирования.
Применяется с целью проверки работы какого-то фрагмента программы после внесения изменений в текущий или связанные модули.
Способ применяется, чтобы оценить работу определенной части программы после того, как в ней были проведены какие-то изменения или внесены корректировки.
Также отдельным пунктом стоит выделить Тестирование пользовательского интерфейса (UI).
Проводится абсолютный тест по этим пунктам:
- Соответствие реализации прототипу дизайна;
- тестирование навигации (переходов) между компонентами;
- адаптивность верстки для различных устройств.
Вопросы-ответы
Что такое системное тестирование?
Системное тестирование представляет собой полную проверку программы или веб-приложения.
Зачастую этот вид тестирования происходит в ручном режиме: запустили программу, прощелкали все настройки и кнопки. Также этот процесс можно автоматизировать.
Что представляет собой тест-кейс?
Тест-кейс является описанием проверки работы системы. Он может быть как длинным, так и коротким. Написать кейс может любой участник команды, не только тестировщик.
Заключение
В данной статье мы дали краткий обзор основных видов тестирования. Однако, хочется обратить внимание, что сам процесс проверки качества продукта гораздо глубже. Тут важна последовательность, согласованность и своевременность действий на каждом этапе.
Фактически, тестирование начинается не с того момента, когда вам дали рабочее приложение, а намного раньше — с момента согласования требований и спецификации нового продукта, можно считать, что вы уже приступили.
После получения первых спецификаций, вы начинаете писать тест план, разрабатываете тест кейсы, оцениваете необходимость использования автоматизации.
Где научиться тестированию и как к этому правильно подойти?
Запишитесь на этот курс – и под руководством опытных преподавателей вы узнаете все тонкости тестирования, научитесь проверять как Web-приложения, так и мобильные.
Курс рассчитан на 4 месяца, занятия проходят 5 раз в неделю. Длительность каждого урока – 4 часа.
Вашими наставниками будут специалисты сферы IT, имеющие не только колоссальный опыт, но и работу в крупных компаниях.
После прохождения курса вы сможете тестировать программное обеспечение любой сложности.
Записывайтесь прямо сейчас на курс и становитесь на более высокую ступень профессионального развития.
Вы можете ознакомиться также с другими курсами. Они помогут вам стать не только грамотным тестировщиком, но и опытным программистом с перспективами карьерного роста. Прикоснитесь к успеху прямо сейчас!