struct SControl
{
char stepNo; //控制分段号
int beginPasg; //控制分段起始客流量,指某个时间段的累计客流量,如10秒
//内的累计客流量
int endPasg; //控制分段最大客流量,指某个时间段的累计客流量,如10秒
//内的累计客流量
float ctrlFreq //对应客流量范围的运行频率,采用额定频率的百分比的分子表示,实际的频率=额定频率*ctrlFreq/100,即当客流量在此范围内变化时,
//扶梯按ctrlFrea这个频率运行,不随客流而变
}
仿真程序用例设计
一个程序用例,就是设定输入数据,运行被测试函数,然后判断实际输出是否符合预期。输入数据是测试用例的核心,输入数据的定义是:被测试函数所读取的外部数据及这些数据的初始值。
(1) 自动测试工具的选择
目前通过使用自动化工具对于软件的质量进行保障已经司空见惯,我们可以通过在测试中应用自动化工具来大幅度提高软件测试的效率和质量。常用的白盒测试自动化工具有Telelogic公司的Logiscope软件、Compuware公司的DevPartner软件和IBM公司的Rational Purify等;而黑盒测试工具主要有IBM公司的Rational系列如TeamTest、Robot,Com-puware公司的QACenterm等。
(2) 测试用例中输入数据的选择
用一定的规则选择有代表性的数据作为输入数据,主要有三种:正常、边界、非法输入,每种输入还可以分类,也就是平常说的等价类法,每类取一个数据作为输入数据,如果测试通过,可以肯定同类的其他输入也是可以通过的。下面举例说明:
1)正常输入
例如字符串的Trim函数,功能是将字符串前后的空格去除,那么正常的输入可以有四类:前面有空格;后面有空格;前后均有空格;前后均无空格。
2)边界输入
例中空字符串可以看作是边界输入。再如一个表示成绩的参数,它的有效范围是0-100(百分制),那么边界输入有两个:0和100。
3)非法输入
非法输入是正常取值范围以外的数据,或使代码不能完成正常功能的输入,如上例中表示成绩的参数,小于0或大于100都是非法输入,再如一个进行文件操作的函数,非法输入有这么几类:文件不存在;目录不存在;文件正在被其他程序打开;权限错误。单元测试与代码编写是“一体两面”的关系,编码时对上述三种输入都是必须考虑的,否则代码的健壮性就会成问题。
在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。合理的输入条件是指能验证软件的输入条件;不合理的输入条件则是指异常的、临界的、可能引起问题异变的条件。用不合理的输入条件测试软件能核实软件的容错能力和完全性,往往比合理的输入条件能发现更多的错误。
(3) 通讯程序设计
通讯程序的设计如下所示:
#include <stdio.h>
#include <windows.h>
void main (void){
HANDLE hCom; // 通讯控制
DCB hDcb; // 通讯设定用结构体
COMMTIMEOUTS hTim; // 超时设定用结构体 VC基于乘客实时数据的自动扶梯变频控制软件设计(10):http://www.751com.cn/zidonghua/lunwen_4795.html