软件工程(2019)第二次作业

wmmmmy 2021-08-29 原文


软件工程(2019)第二次作业

1. 选择开发工具

我安装的是Visual Studio 2017 开发工具由于以前安装过开发工具,所以在这里只展示软件截图。

2. 自动单元测试技术

这里编写的是一个简单的三个数从小到大排序的算法

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <math.h>

using namespace std;

void Sort(int &x, int &y, int &z)
{
	int p;
	if (x > y)
	{
		p = y;
		y = x;
		x = p;
	}
	if (x > z)
	{
		p = z;
		z = x;
		x = p;
	}
	if (y > z)
	{
		p = z;
		z = y;
		y = p;
	}
}

int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	Sort(a, b, c);
	cout << a << " " << b << " " << c;
	system("pause");
}

将函数部分代码写入头文件1.h中。

创建一个新的单元测试。

单元测试部分代码,这里我选择了四组测试样例。

#include "stdafx.h"
#include "CppUnitTest.h"
#include "../Project2/1.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;


namespace UnitTest1
{		
	TEST_CLASS(UnitTest1)
	{
	public:
		TEST_METHOD(TestMethod1)
		{
			int a = 2, b = 1, c = 3;
			Sort(a, b, c);
			Assert::AreEqual(a, 1, 0);
			Assert::AreEqual(b, 2, 0);
			Assert::AreEqual(c, 3, 0);
		}
		TEST_METHOD(TestMethod2)
		{
			int a = 1, b = 2, c = 3;
			Sort(a, b, c);
			Assert::AreEqual(a, 1, 0);
			Assert::AreEqual(b, 2, 0);
			Assert::AreEqual(c, 3, 0);
		}
		TEST_METHOD(TestMethod3)
		{
			int a = 3, b = 2, c = 1;
			Sort(a, b, c);
			Assert::AreEqual(a, 1, 0);
			Assert::AreEqual(b, 2, 0);
			Assert::AreEqual(c, 3, 0);
		}
		TEST_METHOD(TestMethod4)
		{
			int a = 3, b = 1, c = 2;
			Sort(a, b, c);
			Assert::AreEqual(a, 2, 0);
			Assert::AreEqual(b, 1, 0);
			Assert::AreEqual(c, 3, 0);
		}

	};
}

添加引用(将project2设置为静态库类型)

将引用添加进测试项目中(这里选择project2的静态库文件)

3测试结果

测试时选择三组正确结果,与一个错误结果进行对比。

发表于
2019-04-13 16:42 
wmmmmy 
阅读(88
评论(0
编辑 
收藏 
举报

 

版权声明:本文为wmmmmy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wmmmmy/p/10701626.html

软件工程(2019)第二次作业的更多相关文章

  1. 201571030107 小学四则运算练习软件项目报告

    201571030107 小学四则运算练习软件项目报告 201571030107 小学四则运算练习软件项目报告 […]...

  2. 一个配置引发的血案

    一个配置引发的血案,记一次线上事故的复盘。 一天晚上的业务高峰期,出现了超时(数据加载不出来的情况)。 联想到 […]...

  3. 第一课 软件工程

    软件工程 是把系统的、有序的、可量化的方法应用到软件的开发,运营和维护上的过程。 软件工程包括下列领域 软件需 […]...

  4. 17秋 软件工程 团队作业 同学录

    题目:团队作业——随堂小测(同学录) 17秋 软件工程 团队作业 同学录 Github Classmate-b […]...

  5. 软件工程(2018)第一次作业

    学号:153401010222 id:A08601Coding 地址:github.com/947104238 […]...

  6. 软件工程(2019)结对编程第一次作业

    功能模块名称 数字电子钟 审查人 陈智森 审查日期 2019.4.24 代码名称 计算机1602-163401 […]...

  7. 做一个不复制粘贴的程序员[0]: 概述

    做一个不复制粘贴的程序员[0]: 概述 前言 Perl语言之父拉里·沃尔曾说过程序员有三大美德:懒惰、急躁、傲 […]...

  8. 软件工程

    软件工程: 是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。   软件工程包括下列领域: […]...

随机推荐

  1. 2021寒假每日一题《01背包问题》

    01背包问题 题目来源:背包九讲 时间限制:1000ms 内存限制:64mb 题目描述 有 \(N\) 件物品 […]...

  2. HTTP错误 大全 403 401 400 404 304 200

    HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 40 […]...

  3. 线性表

    线性表的定义和基本运算 线性表的逻辑定义 (1) 线性表,Linear_List是最简单和最常用的一种数据结构 […]...

  4. 给虚拟机添加新硬盘并分区,fdisk查看分区,分区,重新读取分区表信息partprobe,格式化,挂载,查看分区挂载信息,自动挂载文件/etc/fstab,/etc/fstab文件错误导致重启崩溃后的修复

    1.虚拟机关机断电 2.添加硬盘  2.开机 3.fdisk -l查看刚才新添加的硬盘 [root@local […]...

  5. 这才是球王应有的技艺,他就是C罗

    四年一度的世界杯在本周四拉开了帷幕,俄罗斯以5:0碾压沙特阿拉伯,让我们惊呼战斗名族的强大,其后的摩洛哥VS伊 […]...

  6. STL-空间配置器、迭代器、traits编程技巧

    目录 内存分配和释放 对象的构造和析构 traits要解决的问题 内嵌类别声明解决非指针迭代器的情况 使用模板 […]...

  7. 广州数控广数.net(C#)数据采集 – mrchicharito

    广州数控广数.net(C#)数据采集 2021-01-10 16:03  mrchicharito  阅读(4 […]...

  8. 新手小白的爬虫神器-无代码高效爬取数据

    前言 2020年即将过去,回望过去一年是魔幻的一年,今年注定是不平常的一年,我想也是会载入史册,让人类永远铭记 […]...

展开目录

目录导航