一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。则各个状态的条件如下: S1:(t0)创建栈对象时初始化,这是系统做的 (t1)在S2状态下执行置空运算setEmpty() (t2)在S3状态下执行置

admin2009-11-26  46

问题 一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。则各个状态的条件如下:
   S1:(t0)创建栈对象时初始化,这是系统做的
   (t1)在S2状态下执行置空运算setEmpty()
   (t2)在S3状态下执行置空运算setEmpty()
   (t3)在S2状态下执行出栈运算Pop()
   S2:(t4)在S1状态下执行进栈运算Push()
   (t5)在S3状态下执行出栈运算Pop()
   S3:(t6)在S2状态下执行进栈运算Push()
   为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。
设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到100%。如果认为该程序的语句覆盖率无法达到100%,需说明原因。

选项

答案设计测试用例时,关键需要注意将t的值达到Max,即起码要输入四个name才行,这样当t==Max才能为真,才可以执行相应的分支语句。 具体输入如下: 输入四个name:1 小明 凤凰街 南京 210000 1 小红 南京路 上海 120000 1 王明 达成路 上海 120000 1 李明 南京路 北京 100000 打算输入第五个:1 删除一个name:2 小明 列出所有: 3 退出: 4 这样,程序中每一条语句都能够被执行。 上述测试用例能够使每条语句均执行,故语句覆盖率能够达到100%。

解析
转载请注明原文地址:https://jikaoti.com/ti/hcE7FFFM
0

相关试题推荐
最新回复(0)