2341 23456789 028 01234567 028 12345678 028 qw123456 028 623456 028 886234569 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 6 9 10 11 12 13
【例4】学籍管理系统
一条学生信息包括学生的学号、姓名。
学号是学生信息的关键字,不能重复。每个班级的学号范围和学号的数据要求见数据字典。增加重复学号和非数据字典要求的学号时,系统应给出提示。增加信息时,学号是必须输入的,否则,系统应给出提示。下表是数据字典中关于学号的要求。
等价类划分:
测试用例设计:
5
【例5】作业题
在某一C语言版本中规定: “在同一说明语句中,标识符至少必须有一个。” “标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”并且规定:“标识符必须先说明,再使用。” “标识符不能为系统保留字。”请为C编译器设计测试用例。 等价类划分:
输入条件 标识符个数 标识符字符数 有效等价类 1个(1), 多个(2) 1~8个(4) 无效等价类 0个(3) 0个(5), >8个(6), >80个(7) 非字母数字字符(10), 保留字(11) 非字母(13) 未说明就使用(15) 标识符组成 字母(8), 数字(9) 第一个字符 标识符使用 字母(12) 先说明后使用(14) 下面选取 9 个测试用例,覆盖所有的等价类。 ① int x, T1234567 ; x = 3 ;
T1234567 = 2 ; ...?
(1),(2),(4),(8),(9),(12),(14)
6
② int ; (3) ③ int x, ; (5) ④ int T12345678; (6) ⑤ int T12345......80 ; (7)
多于 80 个字符 ⑥ char T$ ; (10) ⑦ int GOTO ; (11) ⑧ int 2T ; (13) ⑨ int PAR ; (15) PAP = 2.5 + (3.14*0.8)/6 ; 【例6】登陆系统
登录系统需求规格说明如下,请按等价类划分方法设计测试用例: 在登录系统界面中,用户输入用户名和密码登录系统。正确的用户名是不低于4位的字符,密码是mercury(大小写均可)。如果用户名为空,系统给出提示:“用户名不能为空”。如果用户名小于4位字符,系统给出提示:“用户名不能小于4位”。如果密码为空,系统给出提示:“密码不能为空”。如果密码小于4位字符,系统给出提示:“密码不能小于4位”。如果密码大于4位字符但不正确时,系统给出提示:“密码错误”。
2、决策表法
【例1】课本33页 【例2】作业题
有一个处理单价为 5 角钱的饮料自动售货机,软件测试用例的设计规格说明如下:
若投入 5 角钱或 1 元钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示“零钱找完”的红灯亮,这时在投入 1 元硬币并按下按钮后,饮料不送出来而且 1 元硬币也退出来;若有零钱找,则显示“零钱找完”的红灯灭,
7
在送出饮料的同时退还 5 角硬币。如果用户在投入硬币后的60秒内没有按下“橙汁”或“啤酒”按钮,系统退还硬币。
分析这一段说明,列出条件桩: D1: 投入5角硬币 D2: 投入1元钱硬币 M1:用户在投入硬币后的60秒内按下“橙汁”按钮 M2:用户在投入硬币后的60秒内按下“啤酒”按钮 M3:用户在投入硬币后的60秒内没有按下按钮 S1:有零钱找 S2:没有零钱找 动作桩为:
不送饮料 送出橙汁 送出啤酒 退出1元硬币 退出5角硬币 零钱找完红灯亮
8
【例3】某商场促销活动期间,对持商场会员卡的顾客,实行8.5折优惠,满1000元实行7折优惠;对其他顾客消费满1000元的,实行9折优惠,并免费办理会员卡。请给出相应的决策表和测试用例。
规则 选项 条件: 持会员卡 消费满1000元 1 2 3 4 1 0 1 1 0 0 0 1 动作: 0折扣 7折扣 8.5折扣 √ √ √ 9