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

Третья моя программа написана по наработкам второй(для создания электронных книг), поэтому содержит некоторые методы такого же названия например «openBookBase», что в последующих версиях будет исправлено на «openTestBase»

Программа представляет собой миникомплекс, включающий: создание, тестирование, отчёт(статистика). Версия 0.3.1 —
исходник + сборки.

Скрин последней версии:

Ссылка на SourceForge.net. Код под GNU GPL v2 — OpenSource. С++(Qt).

Описание: кроссплатформенная программа для создания и редактирования тестов, с последующим тестированием.
Её могут использовать все, кому понадобиться быстро создать тест и проверить знания. Можно будет создать вопрос типа «Что показано на изображении» и использовать как в школе так и на предприятии, для сдачи квалификационных экзаменов. Все тесты хранятся в базе данных SQLite3. Это позволяет располагать файл базы на любом сервере(Windows, GNU / Linux, и т. д.), без необходимости установки сервера баз данных.

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

Всё находится в одном исполняемом файле. Для редактирования / тестирования, необходимо переключить соответствующий пункт из меню «Режим». Отчёт о протестировавшихся представлен статистикой.

Внутренняя архитектура: список вопросов хранится в QStringList ListQuestions, список правильных ответов в QStringList ListRightAnswer, варианты ответа при тестировании в QStringList ListCheckRightAnswer. Изображения к тесту находятся в QByteArray ListImages[100000]. Режим редактирования защищён паролем, который пока что, хранится в открытом виде.

Похожие статьи

  • SitemapXML (Qt)
  • Linux и C++
  • Программа для создания кроссвордов

Купить рекламу на сайте за 1000 руб

Да и по любым другим вопросам пишите на почту

  • Форум Web программирование (веб)
  • Форум Python (питон)
  • Форум PHP (пхп)
  • Форум Perl (перл)
  • Форум Ruby (руби)
  • Форум JavaScript (яваскрипт)
  • Форум Ajax (аякс)
  • Форум SQL (эскюэл)
  • Форум HTML (хтмл)
  • Форум CSS (сиэсэс)
  • Форум XML (иксмл)
  • Форум JSON (джсон)
  • Форум Pascal (паскаль)
  • Форум Delphi (делфи)
  • Форум C++ (си плюс плюс)
  • Форум C++ Builder (си билдер)
  • Форум Visual C++ (визуал си)
  • Форум .NET (точка нет)
  • Форум ASP.NET (асп нет)
  • Форум Windows Forms (виндовс формс)
  • Форум базы данных ADO.NET (адо нет)
  • Форум .NET Framework WPF, UWP, WinRT, XAML ()
  • Форум Java Android (джава андроид)
  • Форум Java web (джава веб)
  • Форум Kotlin (котлин)
  • Форум Assembler (ассемблер)
  • Форум WinApi (вин апи)
  • Форум Excel (эксель)
  • Форум Word (ворд)
  • Форум Access (аксесс)
  • Форум по администрированию ОС
  • Форум по администрированию серверов и VDS
  • Форум Windows
  • Форум Ubuntu
  • Форум Android
Читайте также:
В какой программе создать портфолио дизайнера

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

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

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

В этой статье приводится подробное описание процесса создания, запуска и настройки набора модульных тестов с помощью платформы модульных тестов Майкрософт для управляемого кода и обозревателя тестов Visual Studio. В руководстве производится создание проекта C#, находящегося в стадии разработки, создание тестов для проверки его кода, запуск тестов и изучение результатов. После этого производится изменение кода проекта и повторный запуск тестов. Если вы хотите получить концептуальный обзор этих задач перед выполнением этих шагов, см. Основы модульного тестирования.

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

  1. Запустите Visual Studio.
  2. На начальном экране выберите Создать проект.
  3. Найдите и выберите шаблон проекта Консольное приложение на C#для .NET Core и щелкните Далее.

Примечание Если шаблон Консольное приложение отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов. После этого в Visual Studio Installer выберите рабочую нагрузку Кроссплатформенная разработка .NET Core.

Примечание Если файл Program.cs не откроется в редакторе, дважды щелкните Program.cs в обозревателе решений, чтобы открыть его.

using System; namespace BankAccountNS < /// /// Bank account demo class. /// public class BankAccount < private readonly string m_customerName; private double m_balance; private BankAccount() < >public BankAccount(string customerName, double balance) < m_customerName = customerName; m_balance = balance; >public string CustomerName < get < return m_customerName; >> public double Balance < get < return m_balance; >> public void Debit(double amount) < if (amount >m_balance) < throw new ArgumentOutOfRangeException(«amount»); >if (amount < 0) < throw new ArgumentOutOfRangeException(«amount»); >m_balance += amount; // intentionally incorrect code > public void Credit(double amount) < if (amount < 0) < throw new ArgumentOutOfRangeException(«amount»); >m_balance += amount; > public static void Main() < BankAccount ba = new BankAccount(«Mr. Bryan Walton», 11.99); ba.Credit(5.77); ba.Debit(11.22); Console.WriteLine(«Current balance is $», ba.Balance); > > >

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

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

Совет В обозревателе решений щелкните решение правой кнопкой мыши и выберите пункты Добавить>Создать проект.

Примечание в Visual Studio 2019 версии 16.9 шаблон проекта MSTest имеет формат проекта модульного теста.

Создание тестового класса

Создание тестового класса, чтобы проверить класс BankAccount . Можно использовать UnitTest1.cs, созданный в шаблоне проекта, но лучше дать файлу и классу более описательные имена.

Читайте также:
Программы для чпу станка своими руками

Переименуйте файл и класс

  1. Чтобы переименовать файл, в обозревателе решений выберите файл UnitTest1.cs в проекте BankTests. В контекстном меню выберите команду Переименовать (или нажмите клавишу F2), а затем переименуйте файл в BankAccountTests.cs.
  2. Чтобы переименовать класс, поместите курсор в UnitTest1 в редакторе кода, щелкните правой кнопкой мыши и выберите команду Переименовать (или нажмите клавиши F2). Введите название BankAccountTests и нажмите клавишу ВВОД.

Файл BankAccountTests.cs теперь содержит следующий код:

using Microsoft.VisualStudio.TestTools.UnitTesting; namespace BankTests < [TestClass] public class BankAccountTests < [TestMethod] public void TestMethod1() < >> >

Добавьте оператор using

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

using BankAccountNS;

Требования к тестовому классу

Минимальные требования к тестовому классу следующие:

  • Атрибут [TestClass] является обязательным в любом классе, содержащем методы модульных тестов, которые необходимо выполнить в обозревателе тестов.
  • Каждый метод теста, предназначенный для запуска в обозревателе тестов, должен иметь атрибут [TestMethod] .

Можно иметь другие классы в проекте модульного теста, которые не содержат атрибута [TestClass] , а также иметь другие методы в тестовых классах, у которых атрибут — [TestMethod] . Можно вызывать эти другие классы и методы в методах теста.

Создание первого тестового метода

В этой процедуре мы напишем методы модульного теста для проверки поведения метода Debit класса BankAccount .

Существует по крайней мере три поведения, которые требуется проверить:

  • Метод создает исключение ArgumentOutOfRangeException , если сумма по дебету превышает баланс.
  • Метод создает исключение ArgumentOutOfRangeException, если сумма по дебету меньше нуля.
  • Если значение дебета допустимо, то метод вычитает сумму дебета из баланса счета.

Метод по умолчанию TestMethod1 можно удалять, так как он не используется в этом руководстве.

Создание метода теста

Первый тест проверяет, снимается ли со счета нужная сумма при допустимом размере кредита (со значением меньшим, чем баланс счета, и большим, чем ноль). Добавьте следующий метод в этот класс BankAccountTests :

[TestMethod] public void Debit_WithValidAmount_UpdatesBalance() < // Arrange double beginningBalance = 11.99; double debitAmount = 4.55; double expected = 7.44; BankAccount account = new BankAccount(«Mr. Bryan Walton», beginningBalance); // Act account.Debit(debitAmount); // Assert double actual = account.Balance; Assert.AreEqual(expected, actual, 0.001, «Account not debited correctly»); >

Метод очень прост: он создает новый объект BankAccount с начальным балансом, а затем снимает допустимое значение.

Он использует метод Assert.AreEqual, чтобы проверить, что конечный баланс соответствует ожидаемому. Такие методы, как Assert.AreEqual , Assert.IsTrue и другие, зачастую используются в модульном тестировании. Дополнительную концептуальную информацию о написании модульного теста см. в разделе Написание тестов.

Требования к методу теста

Метод теста должен удовлетворять следующим требованиям:

  • Он декорируется атрибутом [TestMethod] .
  • Он возвращает void .
  • Он не должен иметь параметров.

Сборка и запуск теста

  1. В меню Сборка нажмите Построить решение (или нажмите клавиши CTRL + SHIFT + B).
  2. Откройте Обозреватель тестов, выбрав Тест>Windows>Обозреватель тестов в верхней строке меню (или нажмите клавиши CTRL + E, T).
  3. Выберите Запустить все, чтобы выполнить тест (или нажмите клавиши CTRL + R, V). Во время выполнения теста в верхней части окна Обозреватель тестов отображается анимированная строка состояния. По завершении тестового запуска строка состояния становится зеленой, если все методы теста успешно пройдены, или красной, если какие-либо из тестов не пройдены. В данном случае тест пройден не будет.
  4. Выберите этот метод в обозревателе тестов для просмотра сведений в нижней части окна.
Читайте также:
Как устанавливать программы linux mint

Исправление кода и повторный запуск тестов

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

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

Исправление ошибки

Чтобы исправить эту ошибку, в файле BankAccount.cs замените строку:

m_balance += amount;
m_balance -= amount;

Повторный запуск теста

В обозревателе тестов выберите Запустить все, чтобы запустить тест повторно (или нажмите клавиши CTRL + R, V). Красно-зеленая строка становится зеленой, чтобы указать, что тест был пройден.

Обозреватель тестов в Visual Studio 2019 отображает пройденный тест

Обозреватель тестов в Visual Studio 2019 отображает пройденный тест

Использование модульных тестов для улучшения кода

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

Анализ проблем

Создание тестов шаг за шагом

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

Рассмотрим подробнее как создать тест.

Способ первый

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

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

Способ второй

Ввод вопросов и вариантов ответов в текстовом редакторе и последующий их импорт из программы tMaker.

Преимущество способа в том, что у многих людей навыки работы в текстовом редакторе (таком как, например, MS Word) развиты очень сильно и им неудобно переходить на какую-либо другую программу в своей работе.

Далее перечислены шаги, которые нужно предпринять для создания теста.

Способ 1 . Ввод вопросов и вариантов ответов непосредственно в программе.

3. Ввод и настройка вопросов .

Способ 2 . Ввод вопросов и вариантов ответов в текстовом редакторе и последующий их импорт из tMaker.

1. Ввод вопросов в текстовом редакторе

2. Импорт созданного текстового файла.

Источник: sunrav.ru

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