边界值分析法+场景法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黑盒测试-边界值分析法和场景法边界值分析法:

实验1:某选课系统中规定每门课程的选修人数在[20,60]之间,小于20人不开设该门选修课,大于60人不接受后面的选课要求。

结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出相应测试用例。

参考答案

测试设计

⏹输入变量:选课人数

⏹测试输入

⏹选择当选课人数分别为19,20,21, 59,60和61等几个边界点

⏹再加上一个正常值点40

实验 2:编写一个程序,输入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。

具体如下:

✓若雇员周工作小时小于40小时(0,40),则按原小时工资0.7来计算薪水。

✓若雇员周工作小时等于40小时,则按原小时工资计算薪水。

✓若雇员周工作小时介于40到50((40,50))小时的,超过40的部分按照原小时工资的1.5倍来计算薪水。

✓若雇员周工作小时超过50小时([50,60)),则超过50的部分按原小时工资的3倍来计算薪水。

✓超出60小时或小于0小时,提示输入有误,重新输入。

结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并

给出测试用例和相应的测试结果。参考答案

程序参考答案:

#include

void main()

{

float h;

float g;

float sum;

sum=0.0;

printf("请输入小时工资和工作小时数:"); scanf("%f",&h);

scanf("%f",&g);

if(h>0 && h<40)

sum=0.7*h*g;

else if (h>=40 && h<50)

sum=40*g+(h-40)*1.5*g;

else if(h>=50 && h<=60)

sum=40*g+10*1.5*g+(h-50)*3*g;

printf("%f",sum);

}

场景分析法

实验 1 :下面是某高校选课系统的用例图,其“选课”用例的事件流描述如下:

基本流:登录,选择课程,获取课程信息,选课,提交选课请求,显示选课结果。

备选流:学生无法识别(学生学号和密码无效时,会产生错误提示) 退出:(允许学生在选课过程中退出)

不满足选修条件,选课人数已满,和课程时间冲突

选课已经结束

要求:基于基本流和备选流,构造场景,并设计测试用例

实验2:有一个处理单价为5角钱的饮料的自动售货机,只允许投入5角或1元的硬币,其相应的规格说明书描述如下。

① 若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只按下一种饮料的按钮。)

② 如投入5角的硬币,按下按钮后,总有饮料送出。

③若售货机没有零钱找,则【零钱找完】的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。

④若有零钱找,则【零钱找完】的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

要求:(1)找出基本流和备选流

(2)构造场景

(3)设计测试用例

场景法:参考答案:

实验1:

根据事件流描述,构造事件流图

根据事件流图,构造场景覆盖从用例开始到结束的路径

《软件测试方法和应用》3-70

《软件测试方法和应用》

实验2 参考答案

(1)分析基本流和备选流

基本流:投入5角钱,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。

备选流:

①备选流1:【零钱找完】的红灯没亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

②备选流2:【零钱找完】的红灯亮,这时投入1元硬币并按下按钮后,饮料不送出来且1元硬币也退出来。

(2)分析场景

场景1:基本流

场景2:备选流1

场景3:备选流2

相关文档
最新文档