КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Выполнение тестового проекта1. Тестовый проект решения следует сделать автозагружаемым. Для этого в обозревателе решений щелкните правой кнопкой мыши тестовый проект и в контекстном меню выберите команду Назначить автозагружаемым проектом. В обозревателе решений имя тестового проекта отобразится полужирным шрифтом, означая, что данный проект является автозагружаемым. 2. Запустите проект. Для этого в меню Отладка выберите пункты Запуск отладки или Запуск без отладки или нажмите соответствующие клавиши — F5 или сочетание клавиш CTRL+F5. Также можно нажать кнопку Запуск отладки (F5) на панели инструментов Стандартная. Выполнятся все тесты в тестовом проекте. Параметр Начать отладку запускает тесты, но не осуществляет отладку тестов, не выполняемых на узле по умолчанию (например, модульных тестов ASP.NET).
3.2. Требования к выполнению работы
1. Согласно заданию разработать класс на языке C#. Методы класса должны возвращать результат выполнения для упрощения разработки тестовой программы. 2. Разработать программу для работы с тестовым классом как консольный проект Visual Studio. 3. Определить спецификацию программы (сколько входных параметров, их функциональное назначение, диапазоны их возможных значений). Определить классы входных параметров. 4. Разработать тестовый класс с помощью встроенных средств Visual Studio – TestUnit. 5. Разработать тестовые наборы. 6. Выполнить тестирование с использованием разработанной программы. 7. Заполнить таблицу тестовых случаев.
3.3. Содержание отчета:
1. Титульный лист, цель, задание на лабораторную работу, требования к ее выполнению. 2. Листинг тестируемого класса. 3. Таблица спецификаций программы следующей структуры
4. Перечень классов тестирования. 5. Перечень тестовых наборов с указанием покрываемых классов. 6. Листинг тестового класса и тестовой программы. 7. Результаты тестирования. 8. Выводы.
3.4. Варианты заданий.
1. Описать класс «предметный указатель». Каждый компонент указателя содержит слово и номера страниц, на которых это слово встречается. Количество номеров страниц, относящихся к одному слову, от одного до десяти. Предусмотреть воз-можность формирования указателя с клавиатуры и из файла, вывода указателя, вывода номеров страниц для заданного слова, удаления элемента из указателя. Написать программу, демонстрирующую работу с этим классом. Программа дол-жна содержать меню, позволяющее осуществить проверку всех методов класса. 2. Описать класс, реализующий дерево с арностью 8, обладающее возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, а также последовательного доступа ко всем элементам. Написать программу, использующую этот класс. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 3. Описать класс «множество», позволяющий выполнять основные операции – до-бавление и удаление элемента, пересечение, объединение и разность множеств. Написать программу, демонстрирующую работу с этим классом. Программа дол-жна содержать меню, позволяющее осуществить проверку всех методов класса. 4. Описать класс, реализующий дерево с арностью 8, обладающее возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, а также последовательного доступа ко всем элементам. Написать программу, использующую этот класс. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 5. Описать класс «Сотрудники». Предусмотреть возможность работы с переменным числом сотрудников, поиска сотрудника по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 6. Описать класс «Граф», содержащий количество вершин, матрицы смежности и инцедентности. Класс должен выполнять основные операции — добавление и удаление вершин и ребер, нахождение степени указанной вершины. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 7. Описать класс, реализующий стек. Написать программу, использующую этот класс для моделирования Т-образного сортировочного узла на железной дороге. Программа должна разделять на два направления состав, состоящий из вагонов двух типов (на каждое направление формируется состав из вагонов одного типа). Предусмотреть возможность формирования состава с клавиатуры. 8. Построить систему классов для описания плоских геометрических фигур: круга, квадрата, прямоугольника. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол. Написать программу, демонстрирующую работу с этими классами. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов. 9. Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения объектов этого класса. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществлять проверку всех методов класса. 10. Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел. На-писать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 11. Составить описание класса для объектов-векторов, задаваемых координатами концов в трехмерном пространстве. Обеспечить операции сложения и вычитания векторов с получением нового вектора (суммы или разности), вычисления скалярного произведения двух векторов, длины вектора, косинуса угла между векторами. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 12. Составить описание класса для определения одномерных массивов строк фик-сированной длины. Предусмотреть возможность обращения к отдельным стро-кам массива по индексам, контроль выхода за пределы массива, выполнения операций поэлементного сцепления двух массивов с образованием нового масс-сива, слияния двух массивов с исключением повторяющихся элементов, вывод на экран элемента массива по заданному индексу и всего массива. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 13. Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления значения многочлена для заданного аргумента, операции сложения, вычитания и умножения многочленов с получением нового объекта-многочлена, вывод на экран описания многочлена. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 14. Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку (например, по автору или по году издания), добавления книг в библиотеку, удаления книг из нее, сортировки книг по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 15. Описать класс «База данных пользователей». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по имени, адресу или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 16. Описать класс «записная книжка». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 17. Описать класс «студенческая группа». Предусмотреть возможность работы с переменным числом студентов, поиска студента по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 18. Описать класс, реализующий тип данных «вещественная матрица» и работу с ними. Класс должен реализовывать следующие операции над матрицами: • сложение, вычитание, умножение (как на матрицу, так и на число); • операции сравнения на равенство/неравенство; • операции вычисления обратной и транспонированной матрицы; • методы вычисления детерминанта и нормы; • методы, реализующие проверку типа матрицы (квадратная, диагональная, нулевая, единичная); Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 19. Описать класс, реализующий стек. Написать программу, использующую этот класс для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. После отыскания прохода программа печатает найденный путь в виде координат квадратов. 20. Описать класс, реализующий очередь. Написать программу, использующую этот класс для моделирования погрузочно-разгрузочного узла на железной дороге. Программа должна обслуживать (загружать или разгружать) состав, Предусмотреть возможность формирования состава с клавиатуры. 21. Составить описание класса, обеспечивающего представление матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 22. Описать класс, реализующий очередь. Написать программу, использующую этот класс для моделирования погрузочно-разгрузочного узла на железной дороге. Программа должна обслуживать (загружать или разгружать) состав, Предусмотреть возможность формирования состава с клавиатуры. 23. Построить систему классов для описания геометрических тел: шара, куба, параллелепипеда. Предусмотреть методы для создания объектов, перемещения в пространстве, изменения размеров. Написать программу, демонстрирующую работу с этими классами. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов. 24. Составить описание класса для представления двоичных чисел в формате с плавающей запятой. Обеспечить выполнение операций сложения, вычитания и умножения таких чисел. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 25. Описать класс, реализующий бинарное дерево, обладающее возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, а также последовательного доступа ко всем элементам. Написать программу, использующую этот класс. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 26. Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления первой и второй производной многочлена для заданного аргумента, а также вычисления интеграла на указанном интервале. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 27. Описать класс «каталог дисков». Предусмотреть возможность работы с произвольным числом дисков, поиска диска по какому-либо признаку (например, по названию или по номеру), добавления дисков в каталог, удаления дисков из него, сортировки дисков по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 28. Описать класс «База данных пользователей». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по имени, адресу или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 29. Описать класс «Карта Карно», содержащий количество переменных и значения ячеек. Класс должен выполнять основные операции — изменение ячейки, подсчет числа нулей, единиц и неопределенностей, вывод СДНФ и СКНФ Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 30. Описать класс, реализующий бинарное дерево, обладающее возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, а также последовательного доступа ко всем элементам. Написать программу, использующую этот класс. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 31. Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения объектов этого класса. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществлять проверку всех методов класса. 32. Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения прямоугольников на плоскости, изменение размеров, построение наименьшего прямоугольника, содержащего два заданных прямоугольника, и прямоугольника, являющегося общей частью (пересечением) двух прямоугольников. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 33. Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива, возможность задания произвольных границ индексов при создании объекта, возможность выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов, умножения и деления всех элементов массива на скаляр, вывода на экран элемента массива по заданному индексу, вывода на экран всего массива. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 34. Составить описание класса одномерных массивов строк, каждая строка задается длиной и данными. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы массивов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, вывод на экран элемента массива и всего массива. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 35. Составить описание класса, обеспечивающего представление матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 36. Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку (например, по автору или по году издания), добавления книг в библиотеку, удаления книг из нее, сортировки книг по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 37. Описать класс «множество», позволяющий выполнять основные операции — добавление и удаление элемента, пересечение, объединение и разность множеств. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
|