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

Целью написания курсовой работы, является разработка прикладной программы для реализации заданных функций и реализации ее в среде Borland C++ 6.0.
Прикладная программа должна выполнять следующие функции:
предоставлять возможность пройти тест (отвечать на вопросы путём выбора одного варианта ответа из предложенных);
ввод данных пользователя;
предоставлять информацию о пройденном тесте.

ВВЕДЕНИЕ
1. ОБЬЕКТНО-ОРИЕНТИРОВАННАЯ СРЕДА ПРОГРАММИРОВАНИЯ C++Builder
2.ОСНОВЫ ВИЗУАЛЬНОГОГО ПРОГРАММНОГО ИНТЕРФЕЙСА
3.РАЗРАБОТКА ПРИЛОЖЕНИЯ.
3.1. КОМПОНЕНТЫ, ИСПОЛЬЗУЕМЫЕ В ПРИЛОЖЕНИЕ
3.2. ДЕРЕВО ФОРМ ПРИЛОЖЕНИЯ
3.3. СОЗДАНИЕ ПРИЛОЖЕНИЯ
4.ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ
4.1 ТЕСТ ПЕРВЫЙ
4.2 ТЕСТ ВТОРОЙ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ

Прикрепленные файлы: 1 файл

Задание на курсовую работу

Разработка программы тестирования

1. Разработать прикладную программу для реализации заданных функций и реализовать ее в среде Borland C++Builder 6.0.

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

2. Прикладная программа должна выполнять следующие функции:

2.1. предоставлять ввод данных пользователю:

2.2 предоставлять право выбора ответа пользователю;

2.3. частично ограничить пользователя в прохождении тестирующей программы ;

3. Вести подсчет данных пользователя;

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

1. ОБЬЕКТНО-ОРИЕНТИРОВАННАЯ СРЕДА ПРОГРАММИРОВАНИЯ C++Builder

2.ОСНОВЫ ВИЗУАЛЬНОГОГО ПРОГРАММНОГО ИНТЕРФЕЙСА

3.1. КОМПОНЕНТЫ, ИСПОЛЬЗУЕМЫЕ В ПРИЛОЖЕНИЕ

3.2. ДЕРЕВО ФОРМ ПРИЛОЖЕНИЯ

3.3. СОЗДАНИЕ ПРИЛОЖЕНИЯ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

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

Технарю легко даются в учебном заведении точные науки. Человек с интересом учит законы физики, копается в научной литературе, с легкостью решает математические задачи. Гуманитарий отдает предпочтение истории, обществознанию, литературе, языкам, в старших классах ему нравится изучать право. Даже если человек одаренный и ему даются с легкостью все предметы в школе, большая предрасположенность к какой-то одной из этих двух категорий существует все равно.

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

Целью написания курсовой работы, является разработка прикладной программы для реализации заданных функций и реализации ее в среде Borland C++ 6.0.

Прикладная программа должна выполнять следующие функции:

  1. предоставлять возможность пройти тест (отвечать на вопросы путём выбора одного варианта ответа из предложенных);
  2. ввод данных пользователя;
  3. предоставлять информацию о пройденном тесте.

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

Ч.14/15 Python для начинающих: создать вопросник/тест (Building a quiz)

1. ОБЬЕКТНО-ОРИЕНТИРОВАННАЯ СРЕДА ПРОГРАММИРОВАНИЯ C++Builder

Средой программирования для реализации поставленной задачи выбрана среда Borland C++ Builder. Borland C++ Builder – это продукт фирмы Borland,предназначенный для быстрой разработки приложений на языке С++. С помощью С++ Builder можно создавать Windows – программы на С++ быстрее и проще, чем когда-либо ранее. Можно создавать как консольные приложения Win32, использовать графический интерфейс пользователя.

При создании GUI приложений Win32 с помощью C++ Builder доступна вся мощь языка С++, заключённая в среду RAD. Это означает, что можно создавать интерфейс пользователя (меню, диалоговые окна, главное окно и т. д.), используя технику drag and drop. Можно также помещать в формы элементы управления OCX для создания в считанные минуты специализированных приложений, таки как Web-браузеры.

С++ — универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов.

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

  1. ОСНОВЫ ВИЗУАЛЬНОГОГО ПРОГРАММН ОГО ИНТЕРФЕЙСА

Сила C++Builder заключена в его среде визуального программирования.

Читайте также:
Как копировать файл в программу

Эта среда непосредственно связана с VCL и не может использоваться отдельно от нее. Создание приложений на основе VCL позволяет в полной мере реализовать возможности C++ Builder. Несмотря на это, иногда может возникнуть необходимость в написание приложений других типов. C++ Builder является стандартным компилятором C++, поэтому с его помощью возможно компилировать любые 32-разрядные программы на С++.

Другим типом приложений, которые можно создавать с помощью C++Builder, являются консольные приложения. При изучении основ языка С++ уже были написаны нескольких консольных приложений Win 32. Эти приложения удобно использовать для учебных целей и в качестве простых тестовых программ. В виде консольных приложений также могут быть небольшие утилиты, Web – серверы и почтовые – серверы, а также целый ряд других программ. Вообще говоря, любое приложение, не требующее графического интерфейса, может быть успешно сделано консольным.

Также возможно компилировать программы, написанные с использованием MFC и OWL. Это позволяет использовать один компилятор для всех разработок, независимо от используемой библиотеки классов. Нет причин, чтобы не разрабатывать с помощью C++Builder, крупных приложений на основе MFC и OWL. Разумеется, для построения MFC и OWL – приложений необходимо иметь соответствующие библиотечные и заголовочные файлы.

  1. РАЗРАБОТКА ПРИЛОЖЕНИЯ.

3.1. КОМПОНЕНТЫ, ИСПОЛЬЗУЕМЫЕ В ПРИЛОЖЕНИЕ

В разрабатываемом приложении используются следующие компоненты: Label , Image, Edit, StaticText, Button, Radio Button,Timer.

Для отображения различных надписей на форме используются в основном компонент Label. Тексты определяются значением свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Цвет фона определяется свойством Color, а цвет надписи — подсвойством Color свойства Font.

Компонент Image представляет собой некоторую ограниченную поверхность с канвой, на которую можно заносить изображения. Компонент Image позволяет отображать информацию, содержащуюся в графических файлах всех указанных типов. Для этого служит его свойство Picture — объект типа TPicture. Свойство — Stretch позволяет подгонять не компонент под размер рисунка, а рисунок под размер компонента.

Еще одно свойство — Transparent (прозрачность). Если Transparent равно true, то изображение в Image становится прозрачным. Это можно использовать для наложения изображений друг на друга.

Компонент Edit предназначен для ввода текста. Расположен он на вкладке Standard Палитры компонентов: oсновное его свойство — это Text. Оно позволяет читать и записывать некоторый текст в Edit. Обратите внимание, что это свойство имеет строковый тип (вернее тип AnsiString, но сейчас это уточнение не столь важно).

Это означает, что если пользователь вводит в edit некоторое число, то необходимо дополнительное преобразование. Кроме функции StrToInt есть обратная к ней IntToStr. Они переводят строку в целое число и целое число в строку соответственно. Кроме этой пары функций имеется пара StrToFloat и FloatToStr, котрые работают с вещественными числами.Основное событие для edit’а — это Change. Возникает при изменении свойства Text.

Для вывода текста используется компонент StaticText. Этот компонент подобен компоненту Label, но обеспечивает возможность задания стиля бордюра. Располагается на вкладке Additional. Основное свойство – Caption.

Button (кнопка) является самым распространенным компонентом. Служит для создания в приложении различных прямоугольных кнопок с текстовой надписью в одной строчке.

RadioButton (радиокнопка) создает круглое поле с двумя состояниями (с точкой и без точки) и текстовой строкой, поясняющей ее назначение в программе. Обычно несколько таких компонентов, расположенных на форме, позволяют переключить только один элемент из группы. Для наглядности сказанного и закрепления материала на практике создайте новое приложение и расположите на форме несколько компонентов RadioButton. После этого запустите приложение на выполнение и пощелкайте левой кнопкой мыши поочередно по каждому из них. Вы увидите, что можно изменить состояние только для ОДНОГО из этих компонентов, т. к. остальные компоненты переключают при этом свое состояние автоматически.

Таймер имеет совсем небольшой набор свойств по сравнению с другими компонентами C++ Builder, но обладает ничем неограниченными способностями ловко управлять работой приложения во временном пространстве с точностью до одной миллисекунды. Что бы поместить таймер на стартовую форму Form1, нужно кликнуть мышью в главном окне во вкладке System по кнопке Timer (Таймер) с изображением циферблата часов со стрелками, а затем по самой форме в любой ее рабочей части.

Этот компонент во время работы приложения является невидимым. А вот во время построения проекта приложения таймер виден на форме, и поэтому программисту удобно в любое время быстро обратиться к его свойствам или к функции обработки Timer1Timer события OnTimer (Таймер включен). На форме можно установить столько таймеров, сколько вам необходимо.

Важнейшим свойством компонента таймер является Interval (Интервал), значение которого по умолчанию составляет 1000 миллисекунд (одна секунда). Свойство Enabled (Разрешение работать) включает или же выключает таймер в зависимости от его значения (true или false). Значение этих свойств можно задать как до запуска проекта, так и изменять их программным способом во время работы проекта. Событие Timer1Timer наступает по истечении реального времени эквивалентного значению свойства Interval для таймера. До тех пор пока таймер не выключен, это событие будет наступать вновь и вновь.

Читайте также:
Лидер кейс программа для школы

Источник: www.referat911.ru

Написание модульных тестов для C/C++ в Visual Studio

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

С помощью окна Обозреватель тестов вы можете создавать и выполнять модульные тесты для C++. Делается это так же, как и для других языков. Дополнительные сведения об использовании обозревателя тестов см. в разделе Выполнение модульных тестов с помощью обозревателя тестов.

Некоторые функции, такие как Live Unit Testing, закодированные тесты пользовательского интерфейса и IntelliTest, не поддерживаются для C++.

Visual Studio включает следующие платформы тестирования C++ без дополнительных скачиваний:

  • Платформа модульного тестирования Майкрософт для C++
  • Google Test
  • Boost.Test
  • CTest

Вы можете использовать установленные платформы или написать свой собственный адаптер теста для любой платформы, который вы хотите использовать в Visual Studio. Адаптер теста интегрирует компонент модульных тестов с окном Обозреватель тестов. В Visual Studio Marketplace доступно несколько адаптеров сторонних поставщиков. Дополнительные сведения см. в разделе Установка платформ модульного тестирования сторонних поставщиков.

Visual Studio 2017 и более поздних версий (Professional и Enterprise)

Проекты модульных тестов для C++ поддерживают CodeLens.

Visual Studio 2017 и более поздних версий (все выпуски)

  • Адаптер Google Test включен по умолчанию в рабочую нагрузку Разработка классических приложений на C++ . Он содержит шаблон проекта, который можно добавить в решение. Щелкните правой кнопкой мыши узел решения в Обозревателе решений и выберите Добавить>Новый проект в контекстном меню, чтобы добавить шаблон проекта. Параметры адаптера также можно настроить в окне Сервис>Параметры. Дополнительные сведения см. в разделе Практическое руководство. Использование Google Test для C++ в Visual Studio.
  • Компонент Boost.Test включен по умолчанию в рабочую нагрузку Разработка классических приложений на C++ . Он интегрирован с обозревателем тестов, но в настоящее время не имеет шаблона проекта. Его необходимо настроить вручную. Дополнительные сведения см. в разделе Практическое руководство. Использование Boost.Test для C++ в Visual Studio.
  • Поддержка CTest включена в компонент Средства CMake C++ , который входит в рабочую нагрузку Разработка классических приложений на C++ . Дополнительные сведения см. в разделе Практическое руководство. Использование CTest для C++ в Visual Studio 2017 и более поздних версиях.

Visual Studio 2015 и более ранние версии

Вы можете скачать расширения «Адаптер Google Test» и «Адаптер Boost.Test» в Visual Studio Marketplace. Найти их можно на страницах Test Adapter for Boost.Test (Адаптер теста для Boost.Test) и Test Adapter for Google Test (Адаптер теста для Google Test).

Базовый процесс тестирования

В следующих разделах описываются основные действия по началу модульного тестирования для C++. Базовая настройка для платформ Майкрософт и Google Test схожа. Boost.Test требует создать тестовый проект вручную.

Создание тестового проекта в Visual Studio 2022

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

Чтобы добавить новый тестовый проект в существующее решение:

  1. В Обозревателе решений щелкните правой кнопкой мыши узел решения.
  2. Во всплывающем меню выберите пункты Добавить>Новый проект.
  3. Задайте С++ для параметра Язык и введите «тест» в поле поиска. На приведенном ниже рисунке показаны тестовые проекты, доступные при установке рабочей нагрузки Разработка классических приложений на C++ и Разработка для универсальной платформы Windows.

Тестовые проекты на C++ в Visual Studio 2022

Создание тестового проекта в Visual Studio 2019

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

  1. В Обозревателе решений щелкните правой кнопкой мыши узел решения.
  2. Во всплывающем меню выберите пункты Добавить>Новый проект.
  3. Задайте С++ для параметра Язык и введите «тест» в поле поиска. На приведенном ниже рисунке показаны тестовые проекты, доступные при установке рабочей нагрузки Разработка классических приложений на C++ и Разработка для универсальной платформы Windows.

Тестовые проекты на C++ в Visual Studio 2019

Создание ссылок на другие проекты в решении

Чтобы обеспечить доступ к функциям в тестируемом проекте, добавьте ссылку на проект в тестовый проект. Щелкните правой кнопкой мыши узел тестового проекта в обозревателе решений. Во всплывающем меню выберите пункты Добавить>Ссылка. В диалоговом окне Добавление ссылки выберите проекты, которые нужно тестировать.

Читайте также:
Streamlabs obs описание программы

Добавление ссылки

Ссылка на объектный файл или файл библиотеки

Если тестовый код не экспортирует функции, которые вы хотите протестировать, добавьте выходные OBJ — или LIB-файлы в зависимости тестового проекта. Дополнительные сведения см. в разделе Связывание тестов с объектным файлом или файлом библиотеки. Не включайте объектные файлы, имеющие функцию или другую main стандартную точку входа, например wmain , WinMain или DllMain . При добавлении новых исходных файлов в проект обновите зависимости тестового проекта, чтобы включить соответствующие файлы объектов.

Добавление директив #include для файлов заголовков

Далее в CPP-файле модульного теста добавьте директивы #include для всех файлов заголовков, в которых объявляются тестируемые типы и функции. Введите #include » , а затем intelliSense активируется для выбора. Повторите эти действия для других заголовков.

Снимок экрана: Обозреватель решений, в окне которого показано добавление директивы #include с помощью IntelliSense. Выделен файл заголовка для включения.

Чтобы не вводить полный путь в каждой инструкции include в исходном файле, можно добавить необходимые папки в разделе Проект>Свойства>C/C++>Общие>Дополнительные каталоги включаемых файлов.

Написание методов теста

В этом разделе представлен синтаксис при использовании платформы модульного тестирования Майкрософт для C/C++. Он описан здесь: Справочник по API Microsoft.VisualStudio.TestTools.CppUnitTestFramework. Документацию по Google Test см. на странице Google Test Primer (Начало работы с Google Test). Сведения о Boost.Test см. на странице Библиотека Boost.Test: среда модульного тестирования.

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

Снимок экрана: окно Обозревателя тестов, в котором показан файл кода unittest1.cpp, содержащий заглушку класса и метода при использовании макросов TEST CLASS и TEST_METHOD.

TEST_CLASS и TEST_METHOD являются частью собственной платформы тестирования Microsoft. Обозреватель тестов обнаруживает методы теста в других поддерживаемых платформах аналогичным образом.

TEST_METHOD возвращает пустое значение. Чтобы получить результат теста, используйте статические методы класса Assert для сравнения фактических результатов с ожидаемыми. В приведенном ниже примере предполагается, что MyClass имеет конструктор, принимающий std::string . В этом примере показано, как можно проверить, что конструктор инициализирует класс так, как ожидается:

TEST_METHOD(TestClassInit)

В предыдущем примере результат вызова Assert::AreEqual определяет, пройден ли тест успешно. Класс Assert содержит множество других методов для сравнения ожидаемых и фактических результатов.

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

Запуск тестов

Обозреватель тестов до выполнения тестов

  1. В меню Тест выберите пункт Windows>, а затем пункт Обозреватель тестов. На рисунке ниже показан тестовый проект, тесты которого еще не выполнялись.

Примечание Интеграция CTest с обозревателем тестов пока не доступна. Запустите тесты CTest в главном меню CMake.

Обозреватель тестов после выполнения тестов

  • Если в окне видны не все тесты, выполните сборку тестового проекта, щелкнув правой кнопкой мыши его узел в Обозревателе решений и выбрав Сборка или Перестроить.
  • В обозревателе тестов нажмите Запустить все или выберите тесты, которые следует запустить. Щелкните тест правой кнопкой мыши, чтобы получить доступ к другим командам, включая запуск в режиме отладки с включенными точками останова. После выполнения всех тестов в окне отображаются пройденные и неудачные тесты.
  • Для завершившихся сбоем тестов приводятся подробные сведения, которые могут помочь установить причину. Щелкните неудачный тест правой кнопкой мыши. Во всплывающем меню выберите команду Отладить для пошагового выполнения функции, в которой произошел сбой.

    Дополнительные сведения об использовании Обозревателя тестов см. в разделе Выполнение модульных тестов с помощью Обозревателя тестов.

    Дополнительные сведения о модульном тестировании см. в статье Основные сведения о модульных тестах.

    Использование CodeLens

    Visual Studio 2017 и более поздних версий (выпуски Professional и Enterprise)

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

    Инициализировать CodeLens для проекта модульного теста C++ можно любым из перечисленных ниже способов.

    • Отредактировать и собрать тестовый проект или решение.
    • Перестроить проект или решение.
    • Запустить тесты из окна обозревателя тестов.

    После инициализации значки состояния тестов отобразятся над каждым модульным тестом.

    Значки CodeLens для C++

    Щелкните значок для получения дополнительных сведений или для запуска или отладки модульного теста:

    Запуск и отладка CodeLens для C++

    См. также

    Источник: learn.microsoft.com

    Тестирование

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

    Юнит-тесты позволяют быстро и автоматически протестировать отдельные компоненты приложения независимо от остальной его части. Не всегда юнит-тесты могут покрыть весь код приложения, но тем не менее они позволяют существенно уменьшить количество ошибок уже на этапе разработки.

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