软件工程第二次作业


1.选择开发工具


之前安装过一个Visual Studio 2010的版本,可是这个版本好像不太支持单元测试,在测试时总是出各种问题,无奈又重新安装了一遍Visual Studio 2017,最后终于是测试成功了


在这之前分享一下Visual Studio 2017的安装包

Visual Studio 2017

提取码:srpx


这是一个安装链接,可以自己选择要下载的部分,防止VS因为太大而太臃肿。


Visual Studio 2017是一款功能强大的编译器,它除了可以编译C和C++之外,还支持C#


Visual Studio 运行界面






2.进行单元测试


2.1编写冒泡排序

#include<stdio.h>
#include<stdlib.h>
void swap(int &a, int &b)
{
	int temp;
	temp = a;
	a = b;
	b = temp;
}
void Bubble(int *a, int n)
{
	int i, j;
	for (i = 0; i < n; i++)
	{
		for (j = i; j < n; j++)
		{
			if (a[i] < a[j])
				swap(a[i], a[j]);
		}
	}

}
int main()
{
	int a[10], i;
	for (i = 0; i < 10; i++)
		a[i] = 100 + i * 3;
	Bubble(a, 10);
	for (i = 0; i < 10; i++)
		printf("%d ", a[i]);
	system("pause");
	return 0;
}


2.2开始单元测试



创建单元测试项目





编写测试代码

namespace UnitTest1
{		
	TEST_CLASS(UnitTest1)
	{
	public:
		
		TEST_METHOD(TestMethod1)
		{
			int test[10] = { 1,2,3,4,5,6,7,8,9,10 };
			int ach[10] = { 10,9,8,7,6,5,4,3,2,1 };
			Bubble(test, 10);
			for (int i = 0; i < 10; i++)
			{
				Assert::AreEqual(test[i], ach[i]);
			}
		}
		TEST_METHOD(TestMethod2)
		{
			int test[10] = { 11,12,13,14,15,16,17,18,19,20 };
			int ach[10] = { 20,19,18,17,16,15,14,13,12,11 };
			Bubble(test, 10);
			for (int i = 0; i < 10; i++)
			{
				Assert::AreEqual(test[i], ach[i]);
			}
		}

	};
}


单元测试成功





  

单元测试是针对软件设计的最小的单位——程序模块,进行正确性检验的测试工作。
一般包括逻辑检查,结构检查,接口检查,出错处理,代码注释,输入校验,边界值检查等,通过本次单元测试,我对软件工程的测试思想有了一个浅显的了解,同时通过自主查阅资料,编写代码,当看到单元测试通过的那一刻,有一种满满的收获感。


  在本次单元测试中我是对冒泡排序进行了测试,虽然选取的几个值程序都正确编译通过,也输出正确值了,可因为测试的数量不是太多,数的值也不是太大,所以对程序在极限环境下的运行状况没有测试出来,在以后的学习中对这个问题要加以重视。

posted @ 2019-04-13 03:59  dream星空  阅读(160)  评论(0编辑  收藏  举报