Как осуществляется сборка программы при модульном тестировании

Разработка больших, многомодульных программных комплексов требует использования специальных способов сборки их при тестировании.

Прежде чем приступить к тестированию программного комплекса в целом, нужно, чтобы составляющие его части (отдельные модули или набор модулей) были тщательно оттестированы. Это необходимое условие получения надежных программных комплексов возможно обеспечить на уровне тестирования отдельных модулей, так как только на этом уровне возможно управление комбинаторикой тестирования: допускается одновременное тестирование нескольких модулей, облегчается задача отладки (т.е. поиска и исправления ошибок) и т.д.

Сборка модулей в программный комплекс может осуществляться двумя методами: монолитным, пошаговым. Пошаговая сборка может, в свою очередь, быть восходящей (снизу-вверх) и нисходящей (сверху-вниз).

Монолитный метод сборки предполагает выполнение автономного тестирования каждого модуля, а затем их одновременную сборку и тестирование в комплексе.

Unit тестирование в С#. Как создать Unit тест в C#

Пошаговое тестирование предполагает последовательное подключение к набору уже оттестированных модулей очередного тестируемого модуля.

2. ГОСТ Р ИСО/МЭК 12119-2000: работы по тестированию, протоколы тестирования, отчет о тестировании.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Сборка программ при тестировании

Сборка модулей в программный комплекс может осущест­вляться двумя методами: монолитным, пошаговым. Пошаговая сборка может быть восходящей (снизу-вверх) и нисходящей (сверху-вниз).

Монолитный метод сборки предполагает выполнение авто­номного тестирования каждого модуля, а затем их одновремен­ную сборку и тестирование в комплексе.

Пошаговое тестирование предполагает последовательное подключение к набору уже оттестированных модулей очеред­ного тестируемого модуля. В качестве примера рассмотрим программу, состоящую из 9 модулей.

При монолитном тестировании все 9 модулей, входящих в программу, тестируются независимо друг от друга, последова­тельно или параллельно. Затем они собираются в одну програм­му. Для автономного тестирования любого модуля нужен модуль-драйвер (отлаживающий модуль) и один или несколько модулей-заглушек (имитаторы). Для рассматриваемого примера модули-драйверы нужны для всех модулей, кроме модуля Ml, a модули-заглушки нужны для всех модулей, кроме М5, Мб, М7, М8, М9 (т.е. модулей самого низшего уровня).

При монолитной сборке для автономного тестирования составляющих программный комплекс модулей дополнительно необходимо разработать 8 модулей-драйверов и минимум 9 модулей-заглушек.

Драйвер — это модуль, обеспечивающий вызов и передачу тес­тируемому модулю необходимых входных данных и обработку результатов.

Заглушка — это модуль, имитирующий функции модулей, вызываемых тестируемым.

Модульное тестирование / Unit Testing в Java: Создание первого теста

Метод пошаговой сборки предполагает, что модули тести­руются не автономно, а подключаются поочередно для выпол­нения теста к набору уже ранее оттестированных модулей. При таком подходе возможны 2 варианта: сверху-вниз или снизу-вверх.

Читайте также:
Санатории в которых есть программы голодания

При тестировании сверху-вниз для модуля Ml нужно разработать 3 заглушки. Далее подключается реаль­ный модуль М2, для которого нужно предварительно разрабо­тать 2 заглушки, и тестируются М1-М2. Затем заглушка М5 заменяется реальным модулем М5 и тестируется цепочка М1-М2-М5. Процесс продолжается до тех пор, пока не будет собран весь комплекс.

Есть возможность некоторого распараллеливания работ и автономного тестирования цепочек

При пошаговой сборке сверху-вниз нужно разработать 9 заглушек, но не нужны драйверы.

При тестировании снизу-вверх процесс организуется следую­щим образом: тестируются модули низшего уровня — М5, Мб, М7, М8, М9. Для каждого из них нужен драйвер. Далее параллельно можно проводить тестирование М5-М2, М6-М2, М7-МЗ, М8-М4, М9-М4. Затем подключить Ml и провести комплексное тести­рование всей программы. При восходящем тести­ровании нужно будет разработать максимум 8 драйверов, но не нужны заглушки.

Монолитная сборка требует больших затрат, так как пред­полагает дополнительно разработку драйверов и заглушек, в то время как при пошаговой сборке разрабатываются либо только заглушки (сверху-вниз), либо только драйверы (снизу-вверх).

При пошаговом тестировании раньше обнаруживаются ошибки в интерфейсах между модулями, поскольку раньше начинается сборка программы. При монолитном методе модули «не видят друг друга» до последней фазы.

Отладка программ при пошаговом тестировании легче, так как большинство ошибок интерфейса трудно локализовать при монолитном тестировании. Однако безусловным преимущест­вом монолитного метода сборки является большая возмож­ность распараллеливания работ.

Воспользуйтесь поиском по сайту:

studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с) .

Источник: studopedia.org

Пошаговое руководство. Создание и запуск модульных тестов для управляемого кода

Область применения:yesVisual StudionoVisual Studio для Mac noVisual Studio Code

В этой статье приводится подробное описание процесса создания, запуска и настройки набора модульных тестов с помощью платформы модульных тестов Майкрософт для управляемого кода и обозревателя тестов Visual Studio. В руководстве производится создание проекта C#, находящегося в стадии разработки, создание тестов для проверки его кода, запуск тестов и изучение результатов. После этого производится изменение кода проекта и повторный запуск тестов. Если вы хотите получить концептуальный обзор этих задач перед выполнением этих шагов, см. Основы модульного тестирования.

Создайте проект для тестирования

  1. Запустите Visual Studio.
  2. На начальном экране выберите Создать проект.
  3. Найдите и выберите шаблон проекта Консольное приложение на C#для .NET Core и щелкните Далее.

Примечание Если шаблон Консольное приложение отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов. После этого в Visual Studio Installer выберите рабочую нагрузку Кроссплатформенная разработка .NET Core.

Примечание Если файл Program.cs не откроется в редакторе, дважды щелкните Program.cs в обозревателе решений, чтобы открыть его.

Читайте также:
Как запустить программы и компоненты из командной

using System; namespace BankAccountNS < /// /// Bank account demo class. /// public class BankAccount < private readonly string m_customerName; private double m_balance; private BankAccount() < >public BankAccount(string customerName, double balance) < m_customerName = customerName; m_balance = balance; >public string CustomerName < get < return m_customerName; >> public double Balance < get < return m_balance; >> public void Debit(double amount) < if (amount >m_balance) < throw new ArgumentOutOfRangeException(«amount»); >if (amount < 0) < throw new ArgumentOutOfRangeException(«amount»); >m_balance += amount; // intentionally incorrect code > public void Credit(double amount) < if (amount < 0) < throw new ArgumentOutOfRangeException(«amount»); >m_balance += amount; > public static void Main() < BankAccount ba = new BankAccount(«Mr. Bryan Walton», 11.99); ba.Credit(5.77); ba.Debit(11.22); Console.WriteLine(«Current balance is $», ba.Balance); > > >

Теперь у вас есть проект с методами, которые можно протестировать. В этой статье тестирование проводится на примере метода Debit . Метод Debit вызывается, когда денежные средства снимаются со счета.

Создание проекта модульного теста

Совет В обозревателе решений щелкните решение правой кнопкой мыши и выберите пункты Добавить>Создать проект.

Примечание в Visual Studio 2019 версии 16.9 шаблон проекта MSTest имеет формат проекта модульного теста.

Создание тестового класса

Создание тестового класса, чтобы проверить класс BankAccount . Можно использовать UnitTest1.cs, созданный в шаблоне проекта, но лучше дать файлу и классу более описательные имена.

Переименуйте файл и класс

  1. Чтобы переименовать файл, в обозревателе решений выберите файл UnitTest1.cs в проекте BankTests. В контекстном меню выберите команду Переименовать (или нажмите клавишу F2), а затем переименуйте файл в BankAccountTests.cs.
  2. Чтобы переименовать класс, поместите курсор в UnitTest1 в редакторе кода, щелкните правой кнопкой мыши и выберите команду Переименовать (или нажмите клавиши F2). Введите название BankAccountTests и нажмите клавишу ВВОД.

Файл BankAccountTests.cs теперь содержит следующий код:

using Microsoft.VisualStudio.TestTools.UnitTesting; namespace BankTests < [TestClass] public class BankAccountTests < [TestMethod] public void TestMethod1() < >> >

Добавьте оператор using

Можно также добавить оператор using в класс, чтобы тестируемый проект можно было вызывать без использования полных имен. Вверху файла класса добавьте:

using BankAccountNS;

Требования к тестовому классу

Минимальные требования к тестовому классу следующие:

  • Атрибут [TestClass] является обязательным в любом классе, содержащем методы модульных тестов, которые необходимо выполнить в обозревателе тестов.
  • Каждый метод теста, предназначенный для запуска в обозревателе тестов, должен иметь атрибут [TestMethod] .

Можно иметь другие классы в проекте модульного теста, которые не содержат атрибута [TestClass] , а также иметь другие методы в тестовых классах, у которых атрибут — [TestMethod] . Можно вызывать эти другие классы и методы в методах теста.

Создание первого тестового метода

В этой процедуре мы напишем методы модульного теста для проверки поведения метода Debit класса BankAccount .

Существует по крайней мере три поведения, которые требуется проверить:

  • Метод создает исключение ArgumentOutOfRangeException , если сумма по дебету превышает баланс.
  • Метод создает исключение ArgumentOutOfRangeException, если сумма по дебету меньше нуля.
  • Если значение дебета допустимо, то метод вычитает сумму дебета из баланса счета.
Читайте также:
Что такое программа dba

Метод по умолчанию TestMethod1 можно удалять, так как он не используется в этом руководстве.

Создание метода теста

Первый тест проверяет, снимается ли со счета нужная сумма при допустимом размере кредита (со значением меньшим, чем баланс счета, и большим, чем ноль). Добавьте следующий метод в этот класс BankAccountTests :

[TestMethod] public void Debit_WithValidAmount_UpdatesBalance() < // Arrange double beginningBalance = 11.99; double debitAmount = 4.55; double expected = 7.44; BankAccount account = new BankAccount(«Mr. Bryan Walton», beginningBalance); // Act account.Debit(debitAmount); // Assert double actual = account.Balance; Assert.AreEqual(expected, actual, 0.001, «Account not debited correctly»); >

Метод очень прост: он создает новый объект BankAccount с начальным балансом, а затем снимает допустимое значение.

Он использует метод Assert.AreEqual, чтобы проверить, что конечный баланс соответствует ожидаемому. Такие методы, как Assert.AreEqual , Assert.IsTrue и другие, зачастую используются в модульном тестировании. Дополнительную концептуальную информацию о написании модульного теста см. в разделе Написание тестов.

Требования к методу теста

Метод теста должен удовлетворять следующим требованиям:

  • Он декорируется атрибутом [TestMethod] .
  • Он возвращает void .
  • Он не должен иметь параметров.

Сборка и запуск теста

  1. В меню Сборка нажмите Построить решение (или нажмите клавиши CTRL + SHIFT + B).
  2. Откройте Обозреватель тестов, выбрав Тест>Windows>Обозреватель тестов в верхней строке меню (или нажмите клавиши CTRL + E, T).
  3. Выберите Запустить все, чтобы выполнить тест (или нажмите клавиши CTRL + R, V). Во время выполнения теста в верхней части окна Обозреватель тестов отображается анимированная строка состояния. По завершении тестового запуска строка состояния становится зеленой, если все методы теста успешно пройдены, или красной, если какие-либо из тестов не пройдены. В данном случае тест пройден не будет.
  4. Выберите этот метод в обозревателе тестов для просмотра сведений в нижней части окна.

Исправление кода и повторный запуск тестов

Результат теста содержит сообщение, описывающее возникшую ошибку. Чтобы увидеть это сообщение, может потребоваться выполнить детализацию. Для метода AreEqual выводится сообщение о том, что ожидалось и что было фактически получено. Ожидалось, что баланс уменьшится, а вместо этого он увеличился на сумму списания.

Модульный тест обнаружил ошибку: сумма списания добавляется на баланс счета, вместо того чтобы вычитаться.

Исправление ошибки

Чтобы исправить эту ошибку, в файле BankAccount.cs замените строку:

m_balance += amount;
m_balance -= amount;

Повторный запуск теста

В обозревателе тестов выберите Запустить все, чтобы запустить тест повторно (или нажмите клавиши CTRL + R, V). Красно-зеленая строка становится зеленой, чтобы указать, что тест был пройден.

Обозреватель тестов в Visual Studio 2019 отображает пройденный тест

Обозреватель тестов в Visual Studio 2019 отображает пройденный тест

Использование модульных тестов для улучшения кода

В этом разделе рассматривается, как последовательный процесс анализа, разработки модульных тестов и рефакторинга может помочь сделать рабочий код более надежным и эффективным.

Анализ проблем

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru