Тестирование программы происходило в 4 этапа: для каждого класса отдельно, для внешних функций, для исключительных ситуаций, а также общее тестирование в соответствии с требованиями технического задания (Приложение 1. Техническое задание.).
Тестирование классов
Таблица 1. Тестирование интерфейс-класса Office
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) = 0;
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) = 0;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 2. Тестирование базового класса Mebel
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) {}
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) {}
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 3. Тестирование базового класса Seat
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) override {}
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) override {}
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 4. Тестирование базового класса Cupboard
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) override {}
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) override {}
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 5. Тестирование базового класса Table
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) override {}
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) override {}
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 6. Тестирование класса Armchair
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) override;
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) override;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 7. Тестирование класса Sofa
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
23.12.2015
| virtual void print(DataGridView^ a, int Row) override;
| Разработчик
| Вывод данных в таблице.
| Успех
|
23.12.2015
| virtual void Save(StreamWriter^ a) override;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 8. Тестирование класса Wardrobe
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
24.12.2015
| virtual void print(DataGridView^ a, int Row) override;
| Разработчик
| Вывод данных в таблице.
| Успех
|
24.12.2015
| virtual void Save(StreamWriter^ a) override;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 9. Тестирование класса CabinetDocuments
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
24.12.2015
| virtual void print(DataGridView^ a, int Row) override;
| Разработчик
| Вывод данных в таблице.
| Успех
|
24.12.2015
| virtual void Save(StreamWriter^ a) override;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 10. Тестирование класса ComputerTable
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
24.12.2015
| virtual void print(DataGridView^ a, int Row) override;
| Разработчик
| Вывод данных в таблице.
| Успех
|
24.12.2015
| virtual void Save(StreamWriter^ a) override;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Таблица 11. Тестирование класса WritingDesk
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
24.12.2015
| virtual void print(DataGridView^ a, int Row) override;
| Разработчик
| Вывод данных в таблице
| Успех
|
24.12.2015
| virtual void Save(StreamWriter^ a) override;
| Разработчик
| Сохранение данных из таблицы
| Успех
|
Тестирование внешних функций
Таблица 12. Тестирование внешних функций
Дата
тестирования
| Тестируемая функция
| Кто
проводил
тестирование
| Описание
теста
| Результаты
тестирования
|
|
|
|
|
|
24.12.2015
| void Save_Armchair(DataGridView^ a)
| Тестолог
| Сохранение данных из dataGridView1
| Успех
|
24.12.2015
| void Save_Sofa(DataGridView^ a)
| Тестолог
| Сохранение данных из dataGridView2
| Успех
|
24.12.2015
| void Save_Wardrobe(DataGridView^ a)
| Тестолог
| Сохранение данных из dataGridView3
| Успех
|
24.12.2015
| void Save_CabinetDocuments(DataGridView^ a)
| Тестолог
| Сохранение данных из dataGridView4
| Успех
|
24.12.2015
| void Save_ComputerTable(DataGridView^ a)
| Тестолог
| Сохранение данных из dataGridView5
| Успех
|
24.12.2015
| void Save_WritingDesk(DataGridView^ a)
| Тестолог
| Сохранение данных из dataGridView6
| Успех
|
24.12.2015
| void Open_Armchair(DataGridView^ a)
| Тестолог
| Загрузка данных из текстового файла в dataGridView1
| Успех
|
24.12.2015
| void Open_Sofa(DataGridView^ a)
| Тестолог
| Загрузка данных из текстового файла в dataGridView2
| Успех
|
24.12.2015
| void Open_Wardrobe(DataGridView^ a)
| Тестолог
| Загрузка данных из текстового файла в dataGridView3
| Успех
|
24.12.2015
| void Open_CabinetDocuments(DataGridView^ a)
| Тестолог
| Загрузка данных из текстового файла в dataGridView4
| Успех
|
24.12.2015
| void Open_ComputerTable(DataGridView^ a)
| Тестолог
| Загрузка данных из текстового файла в dataGridView5
| Успех
|
Продолжение. Таблица 12. Тестирование внешних функций
|
|
|
|
|
24.12.2015
| void Open_WritingDesk(DataGridView^ a)
| Тестолог
| Загрузка данных из текстового файла в dataGridView6
| Успех
|
24.12.2015
| Void button1_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Добавление
данных в таблицы
| Успех
|
24.12.2015
| Void открытьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Загрузка данных из файла в таблицы
| Успех
|
24.12.2015
| Void сохранитьToolStripMenuItem_Click_1(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Сохранение данных в таблицах
| Успех
|
24.12.2015
| Void удалитьСтрокуToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Удаление строк в таблицах
| Успех
|
24.12.2015
| Void очиститьToolStripMenuItem_Click_1(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Очистка данных в таблицах
| Успех
|
24.12.2015
| Void выходToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Выход из программы
| Успех
|
24.12.2015
| Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Выбор таблицы
| Успех
|
24.12.2015
| Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Начальное окно запуска программы
| Успех
|
24.12.2015
| Void button2_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Поиск (фильтр) данных в таблице
| Успех
|
Тестирование обработчиков исключения
Таблица 13. Тестирование обработчиков исключения
Дата
тестирования
| Тестируемый модуль или
подпрограмма
| Кто
проводил
тестирование
| Описание теста
| Результаты
тестирования
|
|
|
|
|
|
25.12.2015
| void Save_Armchair(DataGridView^ a)
| Тестолог
| Сохранение данных из таблицы, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Save_Sofa(DataGridView^ a)
| Тестолог
| Сохранение данных из таблицы, содержащих некорректный тип данных
| Успех
|
Продолжение. Таблица 13. Тестирование обработчиков исключения
|
|
|
|
|
25.12.2015
| void Save_Wardrobe(DataGridView^ a)
| Тестолог
| Сохранение данных из таблицы, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Save_CabinetDocuments(DataGridView^ a)
| Тестолог
| Сохранение данных из таблицы, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Save_ComputerTable(DataGridView^ a)
| Тестолог
| Сохранение данных из таблицы, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Save_WritingDesk(DataGridView^ a)
| Тестолог
| Сохранение данных из таблицы, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Open_Armchair(DataGridView^ a)
| Тестолог
| Загрузка данных из файла, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Open_Sofa(DataGridView^ a)
| Тестолог
| Загрузка данных из файла, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Open_Wardrobe(DataGridView^ a)
| Тестолог
| Загрузка данных из файла, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Open_CabinetDocuments(DataGridView^ a)
| Тестолог
| Загрузка данных из файла, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Open_ComputerTable(DataGridView^ a)
| Тестолог
| Загрузка данных из файла, содержащих некорректный тип данных
| Успех
|
25.12.2015
| void Open_WritingDesk(DataGridView^ a)
| Тестолог
| Загрузка данных из файла, содержащих некорректный тип данных
| Успех
|
25.12.2015
| Void button1_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Добавление элемента некорректного типа данных
| Успех
|
Тестирование
Таблица 14. Общее тестирование
Дата
тестирования
| Тестируемый модуль или
подпрограмма
| Кто
проводил
тестирование
| Описание теста
| Результаты
тестирования
|
25.12.2015
| Office.h
| Разработчик
| Полиморфная обработка родственных объектов с помощью интерфейс-класса
| Успех
|
25.12.2015
| Armchair.h
| Разработчик
| Создание объектов класса «Кресло»
| Успех
|
25.12.2015
| Sofa.h
| Разработчик
| Создание объектов класса «Диван»
| Успех
|
25.12.2015
| Wardrobe.h
| Разработчик
| Создание объектов класса «Гардероб»
| Успех
|
25.12.2015
| CabinetDocuments.h
| Разработчик
| Создание объектов класса «Шкаф для документации»
| Успех
|
25.12.2015
| ComputerTable.h
| Разработчик
| Создание объектов класса «Рабочий стол»
| Успех
|
25.12.2015
| WritingDesk.h
| Разработчик
| Создание объектов класса «Переговорный стол»
| Успех
|
25.12.2015
| Form1.h
| Тестолог
| Запись и чтение из файла для каждого файла
| Успех
|
25.12.2015
| Form.h
| Тестолог
| Ввод данных с клавиатуры
| Успех
|
25.12.2015
| Form1.h
| Тестолог
| Вывод данных на экран
| Успех
|
25.12.2015
| Void button2_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Поиск (фильтрация) данных в таблице
| Успех
|
25.12.2015
| Form1.h
| Тестолог
| Обработка исключительных ситуаций (неверный тип данных при открытии файла, сохранении и добавлении данных)
| Успех
|
25.12.2015
| Void удалитьСтрокуToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Удаление строк в таблицах
| Успех
|
25.12.2015
| Void очиститьToolStripMenuItem_Click_1(System::Object^ sender, System::EventArgs^ e)
| Тестолог
| Очистка данных в таблицах
| Успех
|
Заключение
В результате выполнения курсовой работы был закреплен материал, изученный в курсе дисциплины «Объектно-ориентированное программирование». Приобретены навыки программирования в среде Visual Studio C++.
В ходе работы были:
- разработана иерархия родственных типов, корневой класс которой абстрактный базовый класс (класс-интерфейс);
- реализован файловый ввод/вывод, ввод с клавиатуры, вывод на дисплей;
- реализованы функции обработки данных (поиск);
- реализована обработка исключительных ситуаций;
- проверена работа всех функций.
Итогом выполнения курсовой работы стала программа, обеспечивающая работу с данными предметной области.
Список литературы
1 Книги
1.1 Джесс Либерти, Брэдли Л. Джонс Освой самостоятельно C++ за 21 день – СПб.: Издательство «Вильямс», 2010. – 768 с.
1.2 Подбельский В. В. Язык Си++ – СПб.: Издательство «Финансы и статистика», 2007. – 560 с.
2 Электронные источники
2.1 http://www.cyberforum.ru