第13周报告1

第13周报告1:
实验目的:学会使用函数编程,以及设计比较完备的测试用例完成对小程序的测试
实验内容:用函数完成分段数学函数的求解
#include <iostream> 

using namespace std;

const double x1=0.3, x2=0.8; //定义为全局常变量,方便,易维护

double f(double);     //此处加入对自定义函数f的声明

double x;

int main( )

{

       double x;

       cout<<"请输入x的值:";

       cin>>x;

       cout<<"解得:f("<<x<<")="<< f(x)<<"\n";

       return 0;

}

double f(double x )

{

       if (x<x1)

              x=0;

       else if (x>=x2)

              x=1;

       else

              x=(x-x1)/(x2-x1);

       return x;

}
测试用例设计及测试结果(请程序设计者将“?”位置上的内容补充完整):
(1) 遵循“判定/条件测试”覆盖原则(设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次),我设计了三组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
1 x=0.2 0 0 正确
2 x=0.5   0.4      0.4      正确
3 x=1.2    1        1        正确

(2)判定的边界值是测试的“敏感”区,针对本程序的两个边界值,我设计了下面的两组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
4 x=0.3    0        0        正确

5 x=0.8    1 1        正确   
经验积累:
1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错)就视为完成。
2.C++真的需要横精确,哪怕是丢一个很不起眼的符号也不可以。
3.调用函数double f(double x )中的x 千万不能忘记写哈~~否则会不执行的

你可能感兴趣的:(第13周报告1)