第13周报告1:
实验目的:学会使用函数编程,以及设计比较完备的测试用例完成对小程序的测试
实验内容:用函数完成分段数学函数的求解
#include <iostream>
using namespace std;
const double x1=0.3, x2=0.8; //定义为全局常变量,方便,易维护
double f(double); //此处加入对自定义函数f的声明
int main( )
{
double x;
{
cout << "请输入x的值:";
cin >> x;
cout << "解得:f(" << x << ") = " << f(x)<<"\n";
}
return 0;
}
double f(double x)
{
double c;
if(x < x1) c = 0 ;
else if(x < x2) c = (x - x1)/(x2 - x1);
else c = 1;
return c;
}
测试用例设计及测试结果:
(1) 遵循“判定/条件测试”覆盖原则(设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所
有可能的结果也至少出现一次),我设计了三组测试用例,测试方案及结果如下
序号
1
2
3
(2)判定的边界值是测试的“敏感”区,针对本程序的两个边界值,我设计了下面的两组测试用例,测试方案及结果如下
序号
4
5
经验积累:
1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错)就视为完成。
2.自定义函数声明时定义了几个变量,在后边的函数编写中也要有几个变量,比能多不能少。如此程序中声明时double f(double),所以在后边编写时定义的为double f(double x)
3.函数的编写时,定义的x要在double f(double x)中,而不能再在其之后定义double x;
上机感言:
刚开始调用函数,还不太熟练,体会到了函数调用的方式和气定义的自变量。