软件工程(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. 软件工程 实验一

        任务四:        《构建之法》这本书每个章节讲述不同的重点,构建之法的每一章都是独立的子章节,并 […]...

  2. 17秋 软件工程 个人作业 软件产品案例分析

    题目:软件产品案例分析 软件产品案例分析 第一部分 调研,评测 软件的bug,功能评测,黑箱测试 描述最简单直 […]...

  3. 深入浅出:HTTP/2

    上篇文章深入浅出:5G和HTTP里给自己挖了一根深坑,说是要写一篇关于HTTP/2的文章,今天来还账了。 本文 […]...

  4. 做一个不复制粘贴的程序员[1]: 使用模板方法模式(1)- 分页查询实例

    做一个不复制粘贴的程序员[1]: 使用模板方法模式(1)- 分页查询实例 对于重复的代码,如果是重复的字符串, […]...

  5. 1. UML统一建模语言

    1. UML统一建模语言 (1)UML概述:   建模: 对现实系统进行适当的过滤, 用适当的表现规则描述出简 […]...

  6. 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 – Part 2

    备注: 因为文章太长,所以将它分为三部分,本文是第二部分。 第一部分:深入浅出经典面试题:从浏览器中输入URL […]...

  7. 软件工程 – wanderer

     软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用 […]...

  8. 17秋 软件工程 第六次作业 Beta冲刺 Scrum3

    17秋 软件工程 第六次作业 Beta冲刺 Scrum3 各个成员冲刺期间完成的任务 世强:完成手势签到模块, […]...

随机推荐

  1. DW(一):大数据DW架构参考 – 天戈朱

           DW一直以来是企业信息与决策支持系统的核心组件,随着各类日志、社交、传感等非结构化数据的加入,企 […]...

  2. 智能优化 之 下山单纯形法 C++

      单纯形法简介在其他网站上都可以查到,我就不多说了 我们主要说方法 它主要解决的是局部最优解的问题 利用多边 […]...

  3. 关于DEL网卡驱动的一次故障

    关于DEL网卡驱动的一次故障 导读 单位一台R710服务器上线以后出现网卡异常挂掉,奇怪的是只是内网不通,外网 […]...

  4. 同一电脑登录多个github账号

    同一电脑登录多个github账号 2019-12-25 21:20  托尼老师  阅读(…)  评 […]...

  5. SpringCloud Alibaba系列(三) Sentinel热点参数限流

    愿你生命中有够多的云翳,造就一个美好的黄昏    欢迎关注公众号【渣男小四】,一个喜欢技术更喜欢艺术的青年 一 […]...

  6. 旁路电容的PCB布局布线透彻详解(4)

    原文地址点击这里:   前面使用了较多的篇幅介绍旁路电容的工作原理及其选择依据,我们已经能够为电路系统中相应的 […]...

  7. Vue安装依赖npm install时报错问题解决方法

    一.用到的一些快捷键: a.打开cmd:   win+R b.进入d盘:d: c.进入d盘某个文件夹:cd m […]...

  8. VMware下安装的Mac OS X如何修改显示分辨率 (转)

    我在Win7下利用VMware安装了苹果的OS x 10.8系统,安装成功启动后,发现分辨率为1024*768 […]...

展开目录

目录导航