软件工程第二次作业
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]);
}
}
};
}
单元测试成功

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

浙公网安备 33010602011771号