Системное интеграционное тестирование: определение и способы выполнения
29 июля 2021 г.
Жизненный цикл тестирования программного обеспечения является неотъемлемой частью разработки программного обеспечения, помогая гарантировать, что программное приложение соответствует требованиям клиента или конечного пользователя. Одной из фаз жизненного цикла является системное интеграционное тестирование, фаза, на которой разработчики могут выявить проблемы, связанные с интерфейсом между различными компонентами программной системы. Если вы занимаетесь разработкой или тестированием программного обеспечения, важно, чтобы вы понимали, что такое системная интеграция и как она может привести к созданию продукта, отвечающего потребностям пользователей.
В этой статье мы даем определение системному интеграционному тестированию, объясняем, почему важно его выполнять, рассматриваем точки сравнения между ним и системным тестированием и описываем этапы проведения системного интеграционного тестирования.
Что такое системное интеграционное тестирование?
Системное интеграционное тестирование, также известное как интеграционное тестирование и его аббревиатура SIT, представляет собой форму тестирования программного обеспечения, выполняемую в первую очередь для оценки взаимодействия между модулями при их объединении в единую систему. В контексте программного обеспечения модуль — это файл, содержащий процедуру или функцию. Программные приложения состоят из нескольких модулей, каждый из которых выполняет отдельную функцию. Это модульное программирование позволяет ускорить разработку программного обеспечения, поскольку группы могут работать над различными модулями одновременно. Однако тестирование необходимо, чтобы убедиться, что работа каждой команды совместима с работой других.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Существует четыре распространенных подхода к тестированию системной интеграции:
Сверху вниз: тестирование начинается с модулей более высокого уровня и переходит к модулям более низкого уровня. Разработчики могут тестировать незавершенные младшие модули с помощью заглушки, которая представляет собой программу, которая заменяет незавершенный модуль, имитируя его функции.
Восходящее: тестирование начинается с модулей более низкого уровня и движется вверх к модулям более высокого уровня. Вместо заглушки для тестирования незавершенных модулей разработчики используют драйвер, который эмулирует функции модулей более высокого уровня.
Сэндвич-метод: сочетая нисходящее и восходящее тестирование, сэндвич-метод делит тестирование на три уровня. Одна команда применяет подход «сверху вниз» к верхнему слою, в то время как другая команда применяет подход «снизу вверх» к нижнему слою, и вместе они работают в направлении середины.
Большой взрыв: интеграция модулей происходит только после завершения каждого модуля. Затем разработчики и другие инженеры одновременно тестируют всю систему, что упрощает процесс тестирования.
В жизненном цикле тестирования программного обеспечения системная интеграция является третьей фазой. Он непосредственно следует за модульным тестированием, в ходе которого тестировщики проверяют, правильно ли работает каждый модуль сам по себе, изолированно от других модулей. После системного интеграционного тестирования следует системное тестирование, в ходе которого тестировщики определяют, насколько хорошо программное обеспечение функционирует как законченное приложение.
Зачем проводить системное интеграционное тестирование?
SIT — жизненно важный этап тестирования программного обеспечения, поскольку он помогает определить общую функциональность программного приложения. Отдельные модули программного обеспечения могут хорошо функционировать сами по себе, но они также должны правильно взаимодействовать с другими модулями, чтобы приложение работало должным образом. В частности, при модульном программировании, в котором у каждой группы разработчиков могут быть свои уникальные требования и процедуры, очень важно выполнить SIT, чтобы убедиться, что все отвечают требованиям всего проекта.
Системное интеграционное тестирование и системное тестирование
SIT и системное тестирование являются смежными этапами жизненного цикла тестирования программного обеспечения. В то время как SIT оценивает, как модули функционируют по отношению друг к другу, системное тестирование имеет более широкий охват. На этом более позднем этапе приложение рассматривается как система в целом, чтобы увидеть, насколько хорошо оно соответствует предъявляемым к нему требованиям.
Помимо цели, есть еще несколько различий между SIT и системным тестированием. Это включает:
Тип теста
SIT — это тип функционального теста, то есть он проверяет компоненты программного обеспечения, чтобы убедиться, что они ведут себя надлежащим образом и соответствуют своим спецификациям. Напротив, системное тестирование является как функциональным, так и нефункциональным. Нефункциональное тестирование рассматривает качества, которые не влияют на функциональность, такие как удобство использования и безопасность. Системное тестирование квалифицируется как приемочное, поскольку оно помогает определить, соответствует ли приложение требованиям конечного пользователя.
Фокус
В центре внимания SIT находится интерфейс между компонентами внутри программного обеспечения. Идея состоит в том, чтобы гарантировать, что один модуль может взаимодействовать с другим модулем и правильно функционировать по отношению к нему. Однако при системном тестировании основное внимание уделяется изучению программного обеспечения как полного пакета. Таким образом, разработчики могут смоделировать работу конечного пользователя и определить, подходит ли продукт для предполагаемого использования.
Техника
SIT подпадает под категории тестирования как белого, так и черного ящика. Тестирование «белого ящика» относится к оценке внутренней структуры, работы и исходного кода программной системы, в то время как тестирование «черного ящика» фокусируется на функциональности без учета внутренних характеристик. Таким образом, SIT исследует не только то, как работает программное обеспечение, но и почему оно работает именно так. Системное тестирование, однако, является строго формой тестирования черного ящика, поскольку оно рассматривает только функциональность системы.
Как выполнить системное интеграционное тестирование
Вы можете выполнить следующие шаги, чтобы выполнить системное интеграционное тестирование:
1. Разработайте план интеграции тестирования
План интеграции тестирования представляет собой схему шагов, которые необходимо выполнить во время SIT. Понимание мельчайших деталей процедуры может помочь визуализировать, какие ресурсы необходимы и как их распределить. Он также может служить напоминанием всем вовлеченным сторонам о требованиях и ожиданиях, которым должно соответствовать программное обеспечение. В идеале создание всеобъемлющего плана интеграции тестирования в качестве начального шага может согласовать цели различных команд и привести к эффективному выполнению следующих шагов.
2. Определитесь с подходом
Каждый из подходов SIT — «сверху вниз», «снизу вверх», «сэндвич» и «большой взрыв» — предлагает преимущества в зависимости от конкретных потребностей и деталей вашего проекта. При выборе наиболее подходящего подхода учитывайте следующие факторы:
Размер проекта. Для более крупных проектов может быть полезен подход «сверху вниз», «снизу вверх» или «сэндвич», поскольку эти методы позволяют выполнять некоторые процедуры одновременно. Метод большого взрыва, вероятно, лучше подходит для небольших проектов, в которых требуется тестировать меньше модулей.
Время: количество времени, отведенное для SIT, напрямую влияет на возможность развертывания определенных подходов SIT. Большой взрыв часто занимает меньше всего времени, в то время как другие подходы, вероятно, потребуют больше времени.
Характеристики компонентов: если определенные модули имеют приоритет над другими, инкрементальные подходы, такие как «сверху вниз» и «снизу вверх», могут быть наиболее подходящими для вашего проекта. В противном случае стоит рассмотреть вариант сэндвича или большого взрыва.
3. Разработайте тестовые случаи, сценарии и сценарии в соответствии с вашим подходом
Тестовые случаи, сценарии и скрипты — это разные способы тестирования функциональности. Тестовый пример — это набор действий для проверки правильности работы конкретной функции, тестовый сценарий — это описание задачи, которую пользователь может выполнить в программе, а тестовый сценарий — это подробное описание шагов и данных, необходимых для работы программы. программа. Во время SIT эти тестовые примеры, сценарии и сценарии должны быть сосредоточены на интерфейсе и обмене данными между модулями.
4. Разверните интеграционные тесты на выбранных модулях
Этот шаг включает в себя фактическую интеграцию модулей для проверки их функциональности интерфейса с использованием тестовых случаев, сценариев и сценариев, разработанных на предыдущем шаге. Цель тестирования — выявить любые ошибки или недостатки, которые необходимо устранить. Часто тестирование происходит как вручную, так и с помощью автоматизации. Преимущество ручного тестирования заключается в том, что оно позволяет командам выявлять и решать проблемы, упущенные программами автоматизации, в то время как автоматизация позволяет проводить более быстрое тестирование.
5. Отслеживайте и записывайте ошибки
Команды должны тщательно и тщательно записывать любые ошибки или недостатки в программе, с которыми они сталкиваются. Документация по ошибкам должна точно описывать, что произошло и когда. Отслеживание и запись ошибок таким образом позволяет изолировать проблему и лучше понять ее причину.
6. Устраните ошибки и повторите тестирование по мере необходимости.
Ссылаясь на документацию по ошибкам, команды могут устранить зарегистрированные проблемы, чтобы убедиться, что модули взаимодействуют правильно. После этого они могут повторно протестировать проблему, чтобы увидеть, устранена ли проблема или возникли какие-либо другие проблемы в результате применения исправления. Повторное тестирование должно продолжаться до тех пор, пока не будут устранены все выявленные ошибки.