Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
Окольнишникова Ирина Юрьевна, директор института экономики, торговли и технологий ЮУрГУ, зав. кафедрой «Маркетинговые коммуникации», д.э.н., профессор...полностью>>
'Документ'
базис теории чисел. В ней сравнения являются символическим языком для. выраже­ния делимости. На языке сравнений деление разности целых; чисел а и b на...полностью>>
'Конкурс'
Сроки проведения интернет-конкурса с 01 октября по 20 декабря. Заявки с конкурсным материалом принимаются до 20 декабря 2013 года. Оценку участников п...полностью>>
'Документ'
На августовском педагогическом совещании «Совершенствование муниципальной системы образования в условиях реализации федеральных государственных образо...полностью>>

Главная > Документ

Сохрани ссылку в одной из сетей:
Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

Лабораторная работа № 1

Модульное тестирование

Цель работы: 1. Изучение назначения и задач модульного тестирования.

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

Юнит-тестирование

Модульное тестирование, или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.

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

Для использования юнит-тестов будем использовать JUnit. JUnit — библиотека для модульного тестирования программного обеспечения на языке Java. Скачать свежую версию данной библиотеки можно по адресу .

Пример юнит-теста, проверяющего равенство 2+2=4, приведен в листинге 4.1.

Листинг 4.1 – пример юнит-теста

import org.junit.Test;

import junit.framework.Assert;

public class MathTest {

@Test

public void testEquals() {

Assert.assertEquals(4, 2 + 2);

Assert.assertTrue(4 == 2 + 2);

}

@Test

public void testNotEquals() {

Assert.assertFalse(5 == 2 + 2);

}

}

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

Unit (Элемент) — наименьший компонент, который можно скомпилировать.

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

Заглушки — заменяют недостающие компоненты, которые вызываются элементом и выполняют следующие действия:

  • возвращаются к элементу, не выполняя никаких других действий;

  • отображают трассировочное сообщение и иногда предлагают тестеру продолжить тестирование;

  • возвращают постоянное значение или предлагают тестеру самому ввести возвращаемое значение;

  • осуществляют упрощенную реализацию недостающей компоненты;

  • имитируют исключительные или аварийные условия.

Предварительная подготовка к работе

Так как алгоритм реализован на языке Java, то юнит-тесты следует писать с использованием библиотеки JUnit (). Допускается использовать любую удобную среду разработки (IDEA / Eclipse / др.).

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

Несмотря на то, что интеграционные тесты не являются юнит-тестами в классическом понимании, при выполнении задач лабораторной работы необходимо использовать библиотеку JUnit и написать модуль юнит-тестирования вручную (используя Java-аннотации @Test и документацию библиотеки JUnit).

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

JUnit

Таблица 1. Аннотации.

Аннотация

Описание

@Test public void method()

Помечает метод как тестовый

@Before public void method()

Метод будет выполняться перед каждым тестом, может быть использован для подготовки тестового окружения (инициализации, чтения данных)

@After public void method()

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

Таблица 2. Тестовые методы

Сигнатура

Описание

fail(String)

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

assertTrue(true) / assertTrue(false)

Постоянно будет true / false. Может быть использован, чтобы предопределить результат теста, пока он не реализован.

assertsEquals([String message], expected, actual)

Проверяет, равны ли две величины. Важно: для массивов проверяется ссылка а не содержимое.

assertsEquals([String message], expected, actual, tolerance)

Проверяет, совпадают ли величины float и double

assertNull([message], object)

Проверяет, что объект null.

assertNotNull([message], object)

Проверяет, что объект не null.

assertSame([String], expected, actual)

Проверяет, что обе переменные ссылаются на один объект.

assertNotSame([String], expected, actual)

Проверяет, что переменные ссылаются на разные объекты.

assertTrue([message], boolean condition)

Проверяет условие на истинность.

Порядок выполнения работы

  1. Откройте выбранную IDE и создайте проект на основе существующих программных кодов, реализующих алгоритм пирамидальной сортировки.

  2. Подключите к проекту библиотеку JUnit.

  3. Создайте каркас для юнит-тестов (Например, в IDE Eclipse можно выбрать нужный класс, открыть контекстное меню, и выбрать New->Junit test case, в появившемся диалоговом окне выбрать методы, для которых понадобятся юнит-тесты).

  4. Создайте юнит-тест согласно описанным требованиям.

  5. Отладьте и запустите юнит-тест.

  6. Оцените результаты выполнения юнит-тестирования и сделайте соответствующие выводы.

Содержание отчёта

  1. Необходимо представить исходный код, описание и результаты работы юнит-теста на проверку правильности интеграции модулей системы.

  2. Изложить вводы по результатам тестирования и проделанной лабораторной работе.



Похожие документы:

  1. Лабораторная работа №1 (1)

    Документ
    ... аварийных ситуаций. ЛАБОРАТОРНАЯ работа № 3 ОРГАНИЗАЦИЯ ЦИКЛОВ И РАБОТА С ОДНОМЕРНЫМИ МАССИВАМИ ЦЕЛЬ РАБОТЫ. Задав одномерный ... public, published. ЛАБОРАТОРНАЯ работа № 12 Объекты классов Используя класс, описанный в лабораторной работе №11 объявить ...
  2. Лабораторная работа №1 (4)

    Документ
    ... режима адресации.  Повторить материал первой лабораторной работы по командам отладчика D, E, R, G, ... 3 Подготовка к выполнению работы При подготовке к выполнению работы необходимо:  Повторить материал лабораторной работы №2;  Изучить теоретическую ...
  3. Лабораторная работа №1 (5)

    Документ
    ... (n==1) return 4; else return sumr(n-1)+pow(n+1,2)/n; } Лабораторная работа № 2. Программирование с использованием структур и файлов ... элемент очереди на первую позицию. Лабораторная работа № 7. Программирование с использованием двунаправленных списков ...
  4. Лабораторная работа №2 (3)

    Документ
    ... 2014 370 ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ Отчет по лабораторной работе должен содержать: Титульный лист ... , результат выполнения заданий, выводы по лабораторной работе. Защита отчета предполагает проверку знаний ...
  5. Лабораторная работа №2 (1)

    Документ
    Лабораторная работа № 2 Приемы рисования линий и фигур в ... Вами с заданием в тексте этой лабораторной работы: Используя команды пункта меню Рисунок ... отображение нарисованного Вами в тексте этой лабораторной работы с заданием:     Задание 7. Используя ...

Другие похожие документы..