Тестирование Регистра пациентов с заболеваниями почек

Автор: Ничик Дмитрий

1

Регистр пациентов с заболеваниями почек (РПЗП) – пилотный проект для апробации модели получения информации о результатах ведения и лечения больных в реальных условиях и последующего расчета необходимых ресурсов здравоохранения на региональном и национальном уровнях.

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

Разработке подлежат следующие вопросы:

а) анализ и уточнение задания;

б) ознакомление со структурой существующей системы;

в) непосредственное написание тестов;

г) разработка рекомендаций по рефакторингу.

2 Итак, первой задачей курсовой работы является ознакомление со структурой существующей системы.

Проведя огромное количество времени с разработчиком проекта, был составлен краткий обзор тестируемой системы (который представлен в курсовой работе – глава 2), что и стало отправной точкой для создания тестов.

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

Само тестирование разделялось на несколько этапов.

Первое: это модульное (Unit) тестирование, т.е. тестирование программы на уровне отдельно взятых модулей, методов или классов. При тестировании кода, использующего внешние компоненты, был применен подход mock-объектов (объектов, которые имеют тот же интерфейс, что и используемые компоненты, но их поведение полностью задаётся в тесте). Их использование позволяет избежать поднятия полной инфраструктуры, необходимой приложению для запуска. Так были протестированы два пакета, содержащих в себе около 10 классов.

Второе: использование в тестировании DbUnit. Создавать mock-объект подключения к базе данных и писать возвращаемые запросы - не самый оптимальный вариант. Поэтому на замену mock-объеков был взят DbUnit - Javaopensource фреймворк (расширение JUnit). DbUnitвыгружает данные из локальной базы в xml-файл и передает их в тест. Если данные изменялись в базе, по окончанию работы DbUnit приведет их в изначальное состояние между вызовами тестов. Так был протестирован один из пакетов проекта, выполняющий некоторую работу с базой.

И последнее – это подведение итогов результатов тестирования и разработка рекомендаций по рефакторингу системы.

В итоге функционирование самой системы не изменилось, но полностью изменилась структура системы, были упрощены и «очищены» многие классы системы, упростилась взаимосвязь между классами (с помощью использования одного из столбов ООП – полиморфизма) и оптимизировалась обработка SQL-запросоввнедрением в проект ApacheDbUtils – обертки над пакетом Java JDBC.

Контактная информация

Председатель студенческого научного общества: Копылов Д.С.

197101, Санкт-Петербург, пр. Кронверкский, д.49, ауд. 455

Центр дистанционного обучения НИУ ИТМО  Кафедра компьютерных образовательных технологий НИУ ИТМО  Страница ВКонтакте