Виды тестирования презентация: Виды тестирования. Часть 1 презентация, доклад
Презентация на тему: Виды тестирования ПО
По времени проведения
Процесс разработки программы делится на несколько фаз. На каждой фазе требуется проверять разные аспекты работы программы и покрывать тестированием разную функциональность. На одном этапе можно провести коротенький тест на то, что программа вообще запускается, а на другом может понадобиться полная проверка всех компонентов системы. Поэтому по времени проведения выделяют следующие виды тестов: Альфа, Бета, Дымное (Smoke),
Регрессионное, Приемочное (User Acceptance Testing, UAT).
Виды тестирования ПО
Альфа (alpha testing)
Альфа тестирование – это тестирование продукта штатными сотрудниками компании, которая разрабатывает продукт. Альфа тестирование проводится для того, чтобы выявить и исправить ошибки в полностью собранной финальной версии продукта перед тем как отдавать её заказчику.
Бета (beta testing)
Бета тестирование – это тестирование продукта ограниченным кругом лиц, которые не являются сотрудниками компании и привлекаются со стороны для независимой оценки и свежего взгляда на готовую программу. Для бета тестирования применяется разведывательный (exploratory) тип тестирования описанный выше.
Виды тестирования ПО
Дымное (smoke testing)
Дымное тестирование – это поверхностный осмотр программы на то что она вообще способна работать и выполнять основные функции. Это тестирование проводится для того, чтобы пропустить какой-то модуль или всю программу на более точные этапы проверки.
Регрессионное (regression testing)
Регрессионное тестирование – это вид тестирования, который проводится на новой версии продукта с целью проверить что старые ошибки исправлены и они не повлекли за собой появление новых неисправностей.
Приемочное (acceptance testing)
Приемочное тестирование– приемочное тестирование проводится персоналом заказчика с целью подтверждения что он доволен качеством продукта, принимает его и готов заплатить за него деньги.
Виды тестирования ПО
По степени изолированности компонентов
Можно проверять какую-то одну компоненту из приложения, либо проверить сразу несколько компонент или же всё приложение в целом.
Модульное (unit testing)
Модульным тестированием – называется проверка минимально функциональной автономной единицы программы.
Компонентное (component/unit testing)
Компонентное тестирование – это тестирование одного отдельного компонента в программе.
Интеграционное (integration testing)
Интеграционное тестирование – это проверка взаимодействия между различными компонентами системы.
Системное (system/end-to-end testing)
Системное тестирование – это тестирование полностью собранной системы в том виде, в котором она будет поставляться заказчику.
Виды тестирования ПО
По объекту тестирования
Проверке могут быть подвержены абсолютно разные аспекты приложения. В связи с этим виды тестов разделяют по объекту тестирования.
Функциональное (functional testing)
Функциональное тестирование – это проверка компоненты на выполнение требуемой функции.
Нефункциональное (non functional testing)
Это проверка характеристик программы (скорость работы, внешний вид, удобство использования и т. д.) .
Нагрузочное тестирование (load testing)
Это определение скорости выполнения операций приложением под разными нагрузками.
Тестирование производительности (performance testing) включает в себя оценку времени отклика системы на различные команды при обычных, высоких и граничных нагрузках.
Виды тестирования ПО
По объекту тестирования
Стрессовое тестирование (stress testing)
Позволяет оценить отказоустойчивость работы системы при очень высоких нагрузках, превышающих предельно ожидаемые согласно дизайну приложения, а также проверить способность к восстановлению системы после прекращения стрессового состояния.
Тестирование стабильности (stability / endurance testing) Это проверка того, что приложение может работать длительное время при средней нагрузке без потери производительности. Проверяется, что во время работы нету утечек в памяти, “зависших” потоков процессов внутри приложения. Если в приложении есть “утечки” памяти, то после длительной работы оно будет занимать больше места в операционной памяти, требовать больше ресурсов процессора, работать медленнее.
Виды тестирования ПО
По объекту тестирования
Тестирование безопасности (security testing)
Это проверка того, что приложение не даёт прав на работу с конкретной информацией пользователям не имеющих для этого доступа. Самый распространенный способ тестирования здесь – создание пользователей и групп пользователей с различным уровнем доступа и последующая попытка работы с той информацией, которая должна/не должна быть доступна для них.
Тестирование локализации (localization testing)
Это проверка адаптации системы к культурным особенностям какой-то страны.
Тестирование интернационализации (internalization testing) Это проверка перевода текстов в приложении на язык какой-то страны.
Виды тестирования ПО
По объекту тестирования
Тестирование совместимости (compatibility testing) Это проверка того, что приложение нормально работает на определённых платформах.
Тестирование удобства использования (usability testing) Это проверка удобства работы с приложением.
Тестирование пользовательского интерфейса (User Interface (UI) testing)
Это проверка внешнего вида приложения.
Виды тестирования ПО
По статичности тестирования
Виды тестирования ещё разделяют на статические и динамические. Некоторые путаются, что статическое – это тестирование белого ящика, а динамическое – черного. Это не совсем так.
Статическое (static testing)
Статическое тестирование – это тестирование продукта без исполнения его исходных кодов. Вы не запускаете приложение, а выполняете проверку исходного кода, документации, требований, технических обзоров.
Динамическое (dynamic testing)
Динамическое тестирование – это работа непосредственно с интерфейсом приложения. Для этого тестирования приложение должно быть сконфигурировано, запущено и работоспособно.
Верификация и Валидация ПО
The terms Verification (Верификация) and Validation (Валидация) are commonly used in software engineering to mean two different types of analysis.
The usual definitions are:
Verification: Are we building the product right? Verification is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase
Validation: Are we building the right product? Validation is the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements.
Презентация на тему: Тестирование программного обеспечения
•Определение, история развития
•Подходы и методы
Тестирование
Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки, или верификации, может доказать, что дефекты отсутствуют с точки зрения используемого метода.
С точки зрения ISO 9126, качество программного обеспечения можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
•Надёжность
•Сопровождаемость
•Практичность
•Эффективность
•Мобильность
•Функциональность
Состав и содержание документации, сопутствующей процессу тестирования, определяется стандартом IEEE 829-2008 Standard for Software Test Documentation.
Структура стандарта IEEE 829-2008
1.Test Plan Identifier
2.References
3.Introduction
4.Test Items
5.Software Risk Issues
6.Features to be Tested
7.Features not to be Tested
8.Approach
9.Item Pass/Fail Criteria
10.Suspension Criteria and Resumption Requirements
11.Test Deliverables
12.Remaining Test Tasks
13.Environmental Needs
14.Staffing and Training Needs
15.Responsibilities
16.Schedule
17.Planning Risks and Contingencies
18.Approvals
19. Glossary
Этапы развития представлений об организации и реализации тестирования
•До 60-х годов: тестирование строго формализовано с записью всех тестовых процедур, тестовых данных, полученных результатов. Это отдельный процесс, начинавшийся после завершения кодирования, как правило, выполнялось тем же персоналом.
•В 1960-х: «исчерпывающее» тестирование. Должно проводиться с использованием всех путей в коде или всех возможных входных данных. Не реализуемо.
•В начале 1970-х: процесс, направленный на демонстрацию корректности продукта, деятельность по подтверждению правильности работы ПО.
Этапы развития представлений об организации и реализации тестирования (продолжение).
•Вторая половина1970-х: тестирование -выполнение программы с намерением найти ошибки, а не доказать, что она работает. Успешный тест обнаруживает ранее неизвестные проблемы.
•В 1980-х тестирование расширилось таким понятием, как предупреждение дефектов.
•В начале 1990-х: тестирование включает планирование, проектирование, создание, поддержку и выполнение тестов и тестовых окружений. Переход от тестирования к обеспечению качества, охватывающего весь цикл разработки ПО.
•В 2000-х: добавлено понятие «оптимизация бизнес- технологий».
Классификация
По объекту тестирования:
•Функциональное тестирование (functional testing)
•Тестирование производительности (performance testing)
•Нагрузочное тестирование (load testing)
•Стресс-тестирование (stress testing)
•Тестирование стабильности (stability / endurance / soak testing)
•Юзабилити-тестирование (usability testing)
•Тестирование интерфейса пользователя (UI testing)
•Тестирование безопасности (security testing)
•Тестирование локализации (localization testing)
•Тестирование совместимости (compatibility testing)
Классификация
(продолжение)
По знанию системы:
•Тестирование чёрного ящика (black box)
•Тестирование белого ящика (white box)
•Тестирование серого ящика (grey box)
По степени автоматизации:
•Ручное тестирование (manual testing)
•Автоматизированное тестирование (automated testing)
•Полуавтоматизированное тестирование (semiautomated testing)
Классификация
(продолжение)
По степени изолированности компонентов:
•Компонентное (модульное) тестирование (component/unit testing)
•Интеграционное тестирование (integration testing)
•Системное тестирование (system/end-to-end testing)
По времени проведения тестирования:
•Альфа-тестирование (alpha testing)
•Тестирование при приёмке (smoke testing)
•Тестирование новой функциональности (new feature testing)
•Регрессионное тестирование (regression testing)
•Тестирование при сдаче (acceptance testing)
•Бета-тестирование (beta testing)
Классификация
(продолжение)
По признаку позитивности сценариев:
•Позитивное тестирование (positive testing)
•Негативное тестирование (negative testing)
По степени подготовленности к тестированию:
•Тестирование по документации (formal testing)
•Тестирование ad hoc или интуитивное тестирование (ad hoc testing)
PPT – Различные типы тестирования программного обеспечения Презентация PowerPoint | скачать бесплатно
Об этой презентации
Стенограмма и примечания докладчика
Название: Различные виды тестирования программного обеспечения
1
Типы тестов программного обеспечения различные типы тестирования
с подробностями
- Какие существуют различные типы тестирования программного обеспечения?
- Как тестер, мы знаем различные типы тестов программного обеспечения
, такие как функциональные тесты,
нефункциональные тесты, тесты автоматизации,
Agile-тесты и их подтипы и т. д. - Каждый из нас сталкивался с различными типами
тестов на нашем пути к тестированию. Возможно, мы слышали
некоторые, и мы могли работать над некоторыми, но не
все знают обо всех типах тестов. - Различные типы тестирования программного обеспечения
- Типы функционального тестирования включают
- Модульное тестирование
- Интеграционное тестирование
- Системное тестирование
- Тестирование по психическому здоровью
- Тест на курение
- Интерфейсная тест
- Регрессия
- Бета / Принятие
2
- Нефункциональные типы испытаний. Включите
- . Тестирование
- Тестирование безопасности
- Тестирование совместимости
- Тестирование установки
- Тестирование восстановления
- Тестирование надежности
- Тесты юзабилити
- Оценка соответствия
- Тесты локализации
3
- HTTPS // WWW. EXLTECH.IN/Программный тест . тип тестов, используемых в индустрии программного обеспечения
. Целью этого теста является
выявление всех возможных проблем или дефектов
до его выпуска на рынок или для пользователя
. - Специальные тесты
- Само название предполагает, что этот тест
проводится на разовой основе, - т.е. без привязки к тестовому случаю, а также
без плана или документации для такого рода
Тестов. Цель этой проверки — найти дефекты
и сломать приложение, запустив
поток приложения или случайную функциональность. - Бета-тестирование
- Бета-тестирование — формальный вид тестирования программного обеспечения
, выполняемого заказчиком. Проводится в
реальная среда до того, как продукт будет выпущен на рынок
для фактического конечного потребителя. - компонентное тестирование
- Обычно выполняется
разработчиками после завершения модульных тестов. Тестирование компонентов
, и ваша цель — определить
наличие дефекта после соединения этих
нескольких функций вместе.
4
- Функциональное тестирование
- Этот тип тестирования игнорирует внутренние части
и фокусируется только на выводе, чтобы проверить, соответствует ли
требованиям или нет. Это
тестирование типа «черный ящик», ориентированное на функциональные требования
приложения. - интеграционное тестирование
- Тестирование всех интегрированных модулей для проверки объединенной
функциональности после интеграции
называется интеграционным тестом. Модули обычно представляют собой кодовые модули
, отдельные приложения, клиент
и серверные приложения в сети и т. д. Этот тип тестирования
особенно актуален для клиентских
/серверных и распределенных систем. - Нефункциональное тестирование
- Это тип тестов, для которого каждая организация
имеет отдельную группу, обычно называемую командой
нефункционального тестирования (NFT) или командой производительности
. - Регрессионные тесты
- Тестирование приложения в целом на
модификацию модуля или
функций называется регрессионным тестированием. трудно
охватывают всю систему в регрессионных тестах, поэтому
средства автоматизации тестирования обычно используются для
этих типов тестов. - тестирование безопасности
- Это своего рода тесты, которые проводятся специальной группой тестировщиков
. Система может быть взломана любым способом взлома.
5
- Дымовое тестирование
- Когда команда разработчиков
предоставляет новую сборку, группа тестирования программного обеспечения проверяет сборку
и гарантирует отсутствие серьезных проблем. - Группа тестирования обеспечивает стабильность сборки
и продолжение детального тестирования.
Тест курения проверяет, нет ли в сборке дефекта show-stopper
, который не позволяет группе тестирования
детально протестировать приложение. - Модульное тестирование
- Тестирование отдельного программного компонента или модуля
называется модульным тестированием. Обычно выполняется программистом
, а не тестировщиками, так как для этого требуется
подробное знание внутреннего дизайна программы
и кода. Также может потребоваться разработка модулей тестовых драйверов или тестовых наборов
. - Тестирование «белого ящика»
- Тестирование «белого ящика» основано на знании
внутренней логики кода приложения. - Он также известен как тест стеклянной коробки. Внутреннее программное обеспечение и код
должны быть известны для этого типа тестирования
. Эти тесты основаны на покрытии
операторов кода, ветвей,
пути, условия и т. д. - Тестирование методом «черного ящика»
- Внутренний дизайн системы не учитывается в
тестах этого типа. Тесты основаны на требованиях и функциях
. - Подробнее https://www.exltech.in/
О PowerShow. com
Подробное описание различных типов функционального тестирования
Содержание
- 1 Что такое функциональное тестирование?
- 2 Типы функционального тестирования
- 2.1 1) Модульное тестирование
- 2,2 2) Интеграционные испытания
- 2,3 3) Интерфейсное тестирование
- 2,4 4) Системное испытание
- 2,5 5) Регрессионное испытание
- 2,6 6) Тестирование дыма
- 2,7 7) Тестирование санте
- 3 Заключение
- 4 Часто задаваемые вопросы
- 4.1 Используется ли Selenium для функционального тестирования?
- 4.2 Что такое функциональное тестирование в API?
- 5 Предлагаемая литература
Что такое функциональное тестирование?
Согласно Википедии, «Функциональное тестирование — это процесс обеспечения качества и тип тестирования методом черного ящика, в котором тестовые сценарии основаны на спецификациях тестируемого программного компонента. Функции тестируются путем подачи им входных данных и изучения выходных данных, а внутренняя структура программы редко рассматривается».
Функциональное тестирование — это метод «черного ящика», при котором выходные данные сравниваются с входными данными, предоставленными приложению. Каждая функциональность приложения тестируется в соответствии с бизнес-требованиями, отсюда и название «Функциональное тестирование». (См. здесь)
Типы функционального тестированияНиже приведен список различных типов функционального тестирования.
1) Модульное тестированиеi. При этом типе функционального тестирования наименьшая функциональная и тестируемая единица кода тестируется во время модульного тестирования.
ii. В основном выполняется разработчиками, поскольку это метод тестирования белого ящика.
III. Выполняется на самых ранних этапах разработки, поэтому помогает выявить дефекты на начальных этапах разработки. Это помогает сэкономить на более высоких затратах на исправление дефектов на более поздних этапах STLC.
iv. Используемые методы:
- Покрытие ветвей — Все логические пути и условия (т. е. Истина и Ложь) охватываются во время тестирования. Например. для инструкции If-Then-Else в коде все ветви пути являются условиями If и Then.
- Покрытие операторов — Все операторы, присутствующие в функции или модуле, должны быть пройдены хотя бы один раз во время тестирования.
- Анализ граничных значений — Тестовые данные создаются для граничных значений, а также для значений, которые лежат непосредственно перед и сразу после граничного значения, а затем запускается тестовый пример с использованием всех созданных наборов данных. например Дни месяца могут иметь действительные данные от 1 до 31. Таким образом, допустимыми граничными значениями являются 1 и 31, но тестовый пример также будет протестирован для 0 и 32, чтобы также проверить недопустимые условия.
- Покрытие решения — Во время выполнения управляющих структур, таких как «Do-While» или «Case Statement», проверяются все пути принятия решений.
v. Инструменты, используемые для модульного тестирования — Junit, Jtest, JMockit, NUnit и т. д.
2) Интеграционное тестированиеi. Два или более модульно протестированных компонента программного обеспечения интегрируются вместе и тестируются для подтверждения ожидаемого взаимодействия между ними.
ii. Передача команд, данных, вызовов БД, вызовов API, обработка микросервисов происходит между модулями, и во время этой интеграции не наблюдается непредвиденного поведения.
III. Типы интеграционного тестирования
- Инкрементальное — один или несколько компонентов объединяются и тестируются, после успешного тестирования объединяются и тестируются другие компоненты. Процесс продолжается до тех пор, пока вся система не будет успешно протестирована.
Может быть три подхода к добавочному интеграционному тестированию :
1. Подход «сверху вниз»: сначала тестируются модули верхнего уровня потока управления или в соответствии с проектом системы, а модули нижнего уровня интегрируются. постепенно. Если низкоуровневый модуль недоступен, используется заглушка.
2. Подход «снизу вверх»: подход, обратный подходу «сверху вниз», сначала тестируются низкоуровневые модули, а затем постепенно добавляются высокоуровневые модули. Если модуль высокого уровня недоступен, используется драйвер.
3. Гибридный подход: сочетание нисходящего и восходящего подходов. Тестирование начинается на обоих уровнях и сходится на среднем уровне.
i. Часть интеграционного тестирования; проверяется корректность обмена данными, передачи данных, сообщений, вызовов и команд между двумя интегрированными компонентами.
ii. Связь между базой данных, веб-сервисами, API или любым внешним компонентом и приложением проверяется во время тестирования интерфейса.
III. Во время передачи этих данных или команд не должно быть ошибок или несоответствия формата. Если такая проблема возникает, ее необходимо исправить.
iv. Тестирование интерфейса — это тестирование связи между различными интерфейсами, а интеграционное тестирование — это тестирование интегрированной группы модулей как единого целого.
4) Тестирование системыi. Все компоненты системы объединяются, и система тестируется на соответствие и правильность спецификации требований (функциональных или системных).
ii. Это метод тестирования «черный ящик», который проверяет интегрированную систему.
III. Это выполняется перед пользовательским приемочным тестированием (UAT) в STLC (жизненный цикл тестирования программного обеспечения).
iv. Тестирование системы выполняется практически в реальных условиях и в соответствии с реальным использованием.
5) Регрессионное тестированиеi. После некоторых улучшений или исправлений кода разработчиками становится очень важно запустить набор регрессионных тестов. Регрессия выполняется, чтобы убедиться, что эти изменения кода не помешали существующим рабочим функциям или что в код не внесены какие-либо новые дефекты.
ii. Регрессионные тесты — это подмножество существующих функциональных тестов, которые охватывают основные функции системы.
III. Случаи регрессии необходимо обновлять, добавлять и удалять в соответствии с изменениями приложения.
iv. Регрессионные тест-кейсы — лучшие кандидаты для автоматизированного тестирования, потому что они запускаются часто и требуют времени для выполнения.
v. Регрессионные тесты, которые нужно запустить, можно выбрать 3 способами ниже:
- Запустить весь набор регрессионных тестов
- Выберите тестовые случаи с высоким приоритетом из регрессионного набора
- Выберите случаи из регрессионного набора для тестирования функциональных возможностей, связанных с изменениями кода.
Регрессионное тестирование само по себе является довольно обширной концепцией. Чтобы узнать больше о регрессионном тестировании, ознакомьтесь с руководством здесь: Регрессионное тестирование: проблемы, стратегии и передовой опыт
в течение короткого времени, тогда вам нужно начать думать об автоматизации. Если вы не уверены, нужна ли вам автоматизация, вам может помочь эта статья: Зачем автоматизировать регрессионное тестирование в ускоренных циклах гибкой разработки
6) Дымовые испытанияi. После разработки, когда выпускается новая сборка, для приложения выполняется дымовое тестирование, чтобы убедиться, что все основные сквозные функции работают.
ii. Дымовое тестирование обычно проводится для сборок, созданных на начальном этапе разработки приложения, которые еще не являются стабильными.
III. Если во время тестирования какая-либо основная функциональность не работает должным образом, эта конкретная сборка отклоняется. Разработчикам необходимо исправить ошибки и создать новую сборку для дальнейшего тестирования.
iv. После успешного прохождения Smoke Testing приложение готово к следующему уровню тестирования.
7) Тестирование на вменяемостьi. Тесты работоспособности выбираются из набора регрессионных тестов, охватывая основные функции приложения.
ii. Sanity Testing проводится на новой сборке, созданной разработчиками для относительно стабильного приложения.
III. Когда приложение успешно проходит тестирование работоспособности, оно готово к следующему уровню тестирования.
iv. Легко спутать дым и тестирование на вменяемость. Чтобы протестировать исходное приложение после новой сборки, выполняется Smoke Testing. После многих выпусков, как только оно стало стабильным, тестирование работоспособности выполняется в том же приложении.
Различия между дымовым тестированием, тестированием работоспособности и регрессионным тестированием подробно описаны здесь.
8) Приемочные испытанияi. Во время приемочного тестирования проверяется приемлемость приложения конечным пользователем. Цель этого тестирования — убедиться, что разработанная система соответствует всем требованиям, которые были согласованы при создании бизнес-требований.
ii. Это выполняется сразу после тестирования системы и перед окончательным выпуском приложения в реальном мире.
III. Приемочное тестирование становится критерием для того, чтобы пользователь принял или отклонил систему.
iv. Это метод тестирования черного ящика, потому что нас интересует только готовность приложения к рынку и реальным пользователям.
v. Типы приемочных испытаний
a) Пользовательские приемочные испытания
- Альфа-тестирование — выполняется на сайте разработчика опытными тестировщиками.
b) Приемочное тестирование для бизнеса
Приемочное тестирование для бизнеса проводится для того, чтобы убедиться, что приложение может соответствовать бизнес-требованиям и целям.
c) Приемочное тестирование правил
Приемочное тестирование правил проводится для того, чтобы гарантировать, что разработанное приложение не нарушает какие-либо правовые нормы, установленные руководящими органами.
ЗаключениеО важности тестирования ясно говорят слова Роберта Уэбба, ИТ-директора Etihad: «Я знаю, что тестировщики программного обеспечения могут сделать компанию более прибыльной, сделать ее более безопасной и ускорить ее рост. Если они ускорят ваше тестирование и выпустят новые приложения, вы сможете быть более конкурентоспособными. И если они могут сделать это при снижении затрат, это замечательно».
Насколько хорошо работает приложение в соответствии с требованиями заказчика, проверяется функциональным тестированием. Функциональное тестирование, несомненно, можно считать самым важным из всех, потому что оно напрямую связано с точкой зрения и требованиями клиентов. А в предыдущем посте мы обсудили различные типы функционального тестирования для проверки каждой функциональности приложения.
Если вы хотите внедрить автоматизацию тестирования для своих веб-приложений и мобильных приложений, функциональные тесты для стабильных функций станут лучшими кандидатами. Testsigma, облачный инструмент автоматизации тестирования, — это инструмент, который сделал автоматизацию таких тестовых случаев очень простой и всеобъемлющей, поскольку он позволяет выполнять автоматизацию на простом английском языке без необходимости кодирования.
Часто задаваемые вопросыИспользуется ли Selenium для функционального тестирования?
Selenium можно использовать для автоматизированного функционального тестирования. Каждая организация хочет сократить расходы на ручное тестирование и поэтому начала использовать Selenium.