Лекция
Привет, Вы узнаете о том , что такое системное тестирование, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое системное тестирование, system testing , настоятельно рекомендую прочитать все из категории Качество и тестирование программного обеспечения. Quality Assurance..
Основной задачей системного тестирования является проверка как функциональных, так и не функциональных требований в системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования, отсутствующая или неверная функциональность, неудобство использования и т.д. Для минимизации рисков, связанных с особенностями поведения в системы в той или иной среде, во время тестирования рекомендуется использовать окружение максимально приближенное к тому, на которое будет установлен продукт после выдачи.
Можно выделить два подхода к системному тестированию:
Для каждого требования пишутся тестовые случаи (test cases), проверяющие выполнение данного требования.
На основе представления о способах использования продукта создаются случаи использования системы (Use Cases). По конкретному случаю использования можно определить один или более сценариев. На проверку каждого сценария пишутся тест кейсы (test cases), которые должны быть протестированы.
системное тестирование , также называемое тестами системного уровня или тестированием системной интеграции, - это процесс, в котором группа обеспечения качества (QA) оценивает, как различные компоненты приложения взаимодействуют вместе в полной интегрированной системе или приложении.
Системное тестирование подтверждает, что приложение выполняет задачи, как задумано. Этот шаг, своего рода тестирование черного ящика , фокусируется на функциональности приложения. Системное тестирование, например, может проверить, что каждый вид пользовательского ввода дает желаемый результат в приложении.
С помощью системного тестирования команда QA проверяет, соответствует ли приложение всем его требованиям, включая технические , бизнес- требования и функциональные требования. Для этого команда QA может использовать различные типы тестов, включая тесты производительности , удобства использования, нагрузочное тестирование и функциональные тесты.
С помощью системного тестирования команда QA определяет, соответствует ли тестовый пример каждому из наиболее важных требований и пользовательских историй приложения . Эти отдельные тестовые примеры определяют общее покрытие тестами для приложения и помогают группе выявить критические дефекты, которые препятствуют основным функциям приложения до выпуска. Команда QA может регистрировать и вносить в таблицу каждый дефект для каждого требования.
Кроме того, каждый отдельный тип тестирования системы сообщает о соответствующих показателях программного обеспечения, в том числе:
Если сборка программного обеспечения достигает желаемых результатов при тестировании системы, она проходит окончательную проверку посредством приемочного тестирования, прежде чем она поступит в производство, где пользователи будут использовать программное обеспечение. Команда разработчиков приложений регистрирует все дефекты и устанавливает, какие виды и количество дефектов допустимы.
Различные коммерческие инструменты и инструменты с открытым исходным кодом помогают командам QA выполнять и анализировать результаты тестирования системы. Эти инструменты могут создавать, управлять и автоматизировать тесты или тестовые примеры, а также могут предлагать функции, выходящие за рамки тестирования системы, такие как возможности управления требованиями.
К коммерческим инструментам тестирования системы относятся Squish от Froglogic и SpiraTest от Inflectra, а к инструментам с открытым исходным кодом относятся Robotium и SoapUI от SmartBear.
Процесс тестирования интегрированной системы аппаратного и программного обеспечения для проверки соответствия системы заданным требованиям.
Проверка : Подтверждение путем исследования и предоставления объективных свидетельств того, что указанные требования были выполнены.
Если в приложении есть три модуля A, B и C, то тестирование, выполняемое путем объединения модулей A и B, модуля B и C или модуля A и C, называется интеграционным тестированием. Интеграция всех трех модулей и тестирование ее как полной системы называется системным тестированием.
Выполняется после завершения интеграционного тестирования.
В основном это тестирование типа «черный ящик». Это тестирование оценивает работу системы с точки зрения пользователя с помощью документа спецификации. Это не требует каких-либо внутренних знаний о системах, таких как дизайн или структура кода.
Он содержит функциональные и нефункциональные области приложения / продукта.
Критерии фокуса:
Основное внимание уделяется следующему:
1) Очень важно завершить полный цикл тестирования, и системное тестирование - это этап, на котором это делается.
2) ЗБ выполняется в среде, аналогичной производственной среде, и, следовательно, заинтересованные стороны могут получить хорошее представление о реакции пользователя.
3) Это помогает свести к минимуму устранение неполадок после развертывания и количество обращений в службу поддержки.
4 ) На этом этапе тестируются архитектура приложения и бизнес-требования.
Это тестирование очень важно, и оно играет важную роль в предоставлении клиенту качественного продукта.
Давайте посмотрим на важность этого тестирования на следующих примерах, которые включают наши повседневные задачи:
Выше приведены лишь несколько примеров, показывающих, как может повлиять системное тестирование, если оно не будет выполнено надлежащим образом.
Все приведенные выше примеры являются результатом того, что тестирование системы не было выполнено или выполнено неправильно. Все интегрированные модули должны быть протестированы, чтобы убедиться, что продукт работает в соответствии с требованиями.
Системное тестирование можно рассматривать как метод тестирования черного ящика.
Тестирование черного ящикаМетод не требует внутреннего знания кода, тогда как метод белого ящика требует внутреннего знания кода.
При выполнении функционального и нефункционального тестирования системы, безопасности, производительности и многих других типов тестирования охватываются, и они тестируются с использованием метода черного ящика, при котором входные данные предоставляются системе, а выходные данные проверяются. Внутренние знания системы не требуются.
Техника черного ящика:
По сути, это часть тестирования программного обеспечения, и в плане тестирования всегда должно быть определенное место для этого тестирования.
Для тестирования системы в целом требования и ожидания должны быть ясными, а тестировщик также должен понимать, как в реальном времени используется приложение.
Кроме того, наиболее часто используемые сторонние инструменты, версии операционных систем, разновидности и архитектура операционных систем могут влиять на функциональность, производительность, безопасность, возможность восстановления или установку системы.
Поэтому при тестировании системы может оказаться полезным четкое представление о том, как будет использоваться приложение и с какими проблемами оно может столкнуться в режиме реального времени. Об этом говорит сайт https://intellect.icu . Кроме того, документ с требованиями так же важен, как и понимание приложения.
Четкий и обновленный документ требований может избавить тестировщика от ряда недоразумений, предположений и вопросов.
Короче говоря, четкий и четкий документ о требованиях с последними обновлениями вместе с пониманием использования приложений в реальном времени может сделать ST более плодотворным.
Это тестирование проводится планомерно и систематически.
Ниже приведены различные этапы выполнения этого тестирования:
Приведенные ниже моменты охватываются этим тестированием:
Есть несколько преимуществ:
Давайте подробно рассмотрим критерии входа / выхода для системного теста.
Критерии входа:
Критерии выхода:
План тестирования - это документ, который используется для описания цели, задачи и объема разрабатываемого продукта. Что нужно тестировать, а что нет, стратегии тестирования, используемые инструменты, требуемая среда и все остальные детали документируются, чтобы продолжить тестирование.
План тестирования помогает проводить тестирование очень систематично и стратегически, что помогает избежать любых рисков или проблем во время тестирования.
План тестирования системы охватывает следующие моменты:
Системные тестовые случаи охватывают все сценарии и варианты использования, а также охватывают функциональные, нефункциональные, пользовательские интерфейсы и тестовые случаи, связанные с безопасностью. Тестовые примеры написаны так же, как и для функционального тестирования.
Системные тестовые случаи включают в шаблон следующие поля:
Вот несколько примеров тестовых сценариев для сайта электронной коммерции:
ST называется надмножеством всех типов тестирования, поскольку в нем рассматриваются все основные типы тестирования. Хотя акцент на типы тестирования может варьироваться в зависимости от продукта, организационных процессов, сроков и требований.
В целом это можно определить следующим образом:
Тестирование функциональности: чтобы убедиться, что функциональность продукта работает в соответствии с определенными требованиями в рамках возможностей системы.
Тестирование восстанавливаемости : чтобы убедиться, насколько хорошо система восстанавливается после различных ошибок ввода и других сбоев.
Тестирование совместимости: чтобы убедиться, может ли система работать со сторонними продуктами или нет.
Тестирование производительности: чтобы убедиться, что система работает в различных условиях с точки зрения рабочих характеристик.
Тестирование масштабируемости: чтобы убедиться в возможностях масштабирования системы в различных терминах, таких как пользовательское масштабирование, географическое масштабирование и масштабирование ресурсов.
Тестирование надежности: чтобы убедиться, что система может работать в течение более длительного времени без возникновения сбоев.
Регрессионное тестирование: чтобы убедиться в стабильности системы во время интеграции различных подсистем и задач обслуживания.
Тестирование документации: чтобы убедиться, что руководство пользователя системы и другие справочные документы являются правильными и пригодными для использования.
Тестирование безопасности: чтобы убедиться, что система не разрешает несанкционированный доступ к данным и ресурсам.
Тестирование юзабилити : убедиться, что система проста в использовании, изучении и эксплуатации.
1) Тестирование графического интерфейса пользователя (GUI):
Тестирование графического интерфейса выполняется для проверки того, работает ли графический интерфейс системы должным образом или нет. GUI - это в основном то, что видно пользователю, когда он использует приложение. Тестирование графического интерфейса пользователя включает в себя тестирование кнопок, значков, флажков, списка, текстового поля, меню, панелей инструментов, диалоговых окон и т. Д.
2) Тестирование совместимости:
Тестирование совместимости проводится для того, чтобы убедиться, что разработанный продукт совместим с различными браузерами, аппаратными платформами, операционными системами и базами данных в соответствии с документом с требованиями.
3) Обработка исключений:
Тестирование обработки исключений выполняется для проверки того, что даже если в продукте возникает непредвиденная ошибка, оно должно отображать правильное сообщение об ошибке и не позволять приложению останавливаться. Он обрабатывает исключение таким образом, что ошибка отображается во время восстановления продукта и позволяет системе обработать неправильную транзакцию.
4) Объемное тестирование:
Объемное тестирование - это тип нефункционального тестирования, при котором тестирование выполняется с использованием огромного количества данных. Например, объем данных в базе данных увеличивается для проверки производительности системы.
5) Стресс-тестирование:
Стресс-тестирование выполняется путем увеличения количества пользователей (одновременно) в приложении до такой степени, что приложение выходит из строя. Это делается для проверки того, в какой момент приложение выйдет из строя.
6) Проверка на вменяемость:
Проверка работоспособности выполняется, когда сборка выпускается с изменением кода или функциональности, или если какая-либо ошибка была исправлена. Он проверяет, что внесенные изменения не повлияли на код и из-за этого не возникло других проблем, и система работает как раньше.
В случае возникновения каких-либо проблем сборка не принимается для дальнейшего тестирования.
По сути, тщательное тестирование сборки не проводится, чтобы сэкономить время и деньги, поскольку сборка отклоняется из-за обнаруженной проблемы. Проверка работоспособности проводится для внесенных изменений или для исправленной проблемы, а не для всей системы.
7) Дымовое испытание:
Smoke Testing - это тестирование, которое выполняется над сборкой, чтобы убедиться, что сборка подлежит дальнейшему тестированию или нет. Он проверяет, что сборка стабильна для тестирования и все критически важные функции работают нормально. Дымовое тестирование проводится для всей системы, т. Е. Выполняется сквозное тестирование.
8) Исследовательское тестирование:
Исследовательское тестирование, как следует из названия, заключается в изучении приложения. При исследовательском тестировании тестирование по сценариям не выполняется. Тест-кейсы пишутся вместе с тестированием. Он больше ориентирован на исполнение, чем на планирование.
У тестера есть свобода тестировать самостоятельно, используя свою интуицию, опыт и интеллект. Тестировщик может выбрать любую функцию для тестирования в первую очередь, то есть случайным образом он может выбрать функцию для тестирования, в отличие от других методов, в которых для выполнения тестирования используется структурный способ.
9) Специальное тестирование:
Специальное тестирование - это неформальное тестирование, при котором для тестирования приложения не ведется никакой документации или планирования. Тестер тестирует приложение без каких-либо тестовых примеров. Задача тестировщика - взломать приложение. Тестировщик использует свой опыт, догадки и интуицию, чтобы найти критические проблемы в приложении.
10) Тестирование установки:
Тестирование установки предназначено для проверки правильности установки программного обеспечения.
Это наиболее важная часть тестирования, поскольку установка программного обеспечения - это самое первое взаимодействие между пользователем и продуктом. Тип тестирования установки зависит от различных факторов, таких как операционная система, платформа, распространение программного обеспечения и т. Д.
Тестовые примеры, которые могут быть включены, если установка выполняется через Интернет:
# 11) Тестирование обслуживания:
После запуска продукта проблема может возникнуть в реальной среде, или может потребоваться некоторое улучшение продукта.
После запуска продукта в эксплуатацию требуется техническое обслуживание, и об этом позаботится команда технического обслуживания. Тестирование, проведенное на наличие проблем, усовершенствований или перехода на оборудование, относится к тестированию обслуживания.
Это тип тестирования, при котором проверяется способность системы поддерживать целостность данных и работу в координации с другими системами в той же среде.
Пример тестирования системной интеграции:
Возьмем, к примеру, известный сайт онлайн-бронирования билетов - букинг.
Это средство бронирования билетов; интернет-магазин взаимодействует с патежными системами. В целом вы можете рассматривать это как A * B * C = R.
Теперь на системном уровне средство онлайн-бронирования билетов, средство онлайн-покупок и средство онлайн-оплаты можно протестировать независимо друг от друга, а затем выполнить проверку интеграции для каждого из них. А затем нужно систематически тестировать всю систему.
Итак, какое место занимает тестирование системной интеграции?
Веб-портал, например букинг представляет собой комбинацию систем. Вы можете выполнять тесты на одном уровне (отдельная система, система систем), но на каждом уровне вы можете сосредоточиться на разных рисках (проблемы интеграции, независимая функциональность).
Разница между тестированием системы и тестированием системной интеграции:
Основное отличие:
Таким образом, системное тестирование - это начало реального тестирования, при котором вы тестируете продукт в целом, а не модуль / функцию.
Ниже приведены основные отличия:
Системное тестирование | Приемочное тестирование | |
---|---|---|
1 | Системное тестирование - это тестирование системы в целом. Сквозное тестирование выполняется для проверки того, что все сценарии работают должным образом. | Приемочные испытания проводятся для проверки соответствия продукта требованиям заказчика. |
2 | Системное тестирование включает функциональное и нефункциональное тестирование и выполняется тестировщиками. | Приемочное тестирование - это функциональное тестирование, которое проводится как тестировщиками, так и заказчиком. |
3 | Тестирование проводится с использованием тестовых данных, созданных тестировщиками. | При проведении приемочных испытаний используются реальные / производственные данные. |
4 | Система в целом тестируется для проверки функциональности и производительности продукта. | Приемочное тестирование проводится для проверки этого бизнес-требования, т. Е. Оно решает цель, которую ищет заказчик. |
5 | Дефекты, обнаруженные при тестировании, можно исправить. | Любые дефекты, обнаруженные во время приемочных испытаний, считаются неисправностью Продукта. |
6 | Системное и системное интеграционное тестирование - это типы системного тестирования. | Альфа- и бета-тестирование проходит приемочные испытания. |
Системное тестирование очень важно, и если его не провести должным образом, в реальной среде могут возникнуть критические проблемы.
Система в целом имеет различные характеристики, подлежащие проверке. Простым примером может быть любой веб-сайт. Если он не протестирован в целом, пользователь может обнаружить, что этот сайт очень медленный, или сайт может выйти из строя, когда большое количество пользователей войдут в систему одновременно.
И эти характеристики нельзя проверить, пока сайт не протестирован в целом.
Надеюсь, это руководство было очень полезным для понимания концепции системного тестирования.
Выводы из данной статьи про системное тестирование указывают на необходимость использования современных методов для оптимизации любых систем. Надеюсь, что теперь ты понял что такое системное тестирование, system testing и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Качество и тестирование программного обеспечения. Quality Assurance.
Комментарии
Оставить комментарий
Качество и тестирование программного обеспечения. Quality Assurance.
Термины: Качество и тестирование программного обеспечения. Quality Assurance.