测试用例设计综合题作业
- 格式:docx
- 大小:222.12 KB
- 文档页数:8
1、数据流图、软件结构图假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。
对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。
当某零件的库存数量少于库存量临界值时就应该再次订货。
试根据要求画出该系统的功能级数据流图,并设计出软件结构图。
解答:(1)数据流图如下:或者(2)软件结构图如下:2、数据字典北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。
请用数据字典中定义数据的方法,定义上述的电话号码。
解答:电话号码=[校内号码|校外号码]校内号码=非0数字+3{数字}3校外号码=0+[本市号码|外地号码]本市号码=非0数字+7{数字}7外地号码=3{数字}3+非0数字+7{数字}7非0数字=[1|2|3|4|5|6|7|8|9]数字=[0|1|2|3|4|5|6|7|8|9]3、状态转化图复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
解答:4、程序流程图、盒图、PAD 图画出下列伪码程序的程序流程图,盒图(N-S 图)。
STARTIF pTHENWHILE qDO FEND DOELSEBLOCK g nEND BLOCKEND IF STOP解答:gnFp q START STOPnono yesyes g pqT FnF5、判定表、判定树某航空行李托运费的算法规定:重量不超过30公斤的行李可免费托运。
测试用例测试题
以下是一份简单的测试用例,以及相应的测试题,以供参考:
测试用例:检查一个计算器程序的基本运算功能
测试题:
1. 计算器的基本功能测试:
a. 输入 2 + 2,检查输出是否为 4
b. 输入 5 - 3,检查输出是否为 2
c. 输入 10 2,检查输出是否为 20
d. 输入 8 / 2,检查输出是否为 4
e. 输入 2 ^ 3,检查输出是否为 8
2. 异常处理测试:
a. 输入一个非数字字符,检查程序是否能够提示用户输入错误
b. 输入一个非常大的数字,检查程序是否能够处理溢出情况
c. 输入一个非常小的数字,检查程序是否能够处理下溢情况
3. 其他功能测试:
a. 检查计算器是否支持括号运算,例如输入 (2 + 2) 3,检查输出是否为 12
b. 检查计算器是否支持科学记数法运算,例如输入,检查输出是否为12300
c. 检查计算器是否支持小数运算,例如输入 2,检查输出是否为
d. 检查计算器是否支持负数运算,例如输入 -5 + -3,检查输出是否为 -8
e. 检查计算器是否支持百分数运算,例如输入 50% + 30%,检查输出是否为 80%
请根据以上测试题进行测试,并记录测试结果。
如果程序能够通过所有测试题,则说明程序基本功能正常。
如果程序在某一道测试题上出现错误或异常情况,则需要进行相应的调试和修复。
黑盒测试法用例的设计1、某城市电话号码组成规则是:地区码+前缀+后缀。
地区码:空白或者3位数字;前缀:非0或者1开头的3位数字:后缀:4位数字。
某程序接受符合以上条件的电话号码,拒绝所有不符合规定的号码。
对该程序使用等价类划分法设计测试用例。
解:第一步:划分等价类,建立输入等价类表并编号(见表9-1)。
表9-1 电话号码组成规则的等价类表第二步:设计测试用例,为有效等价类(1),(3),(4)共同设计一个测试数据,为有效等价类(2),(3),(4)共同设计一个测试数据,同时为每一个无效等价类设计相应测试数据。
见表9-2。
表9-2 等价类划分法测试用例表2、某一8位微机,其八进制常数定义为:以零开头的数是八进制数,其值的范围是-177~177,如05,0127,-065。
下列步骤是应用等价类划分法设计上述案例测试用例的过程。
请根据题意,在划分等价类表中的编号⑩和编号○11处填入相应内容,并在合理等价类测试用例表和不合理等价类测试用例表中的“期望结果”与“覆盖范围”二列中填入相应的内容。
解:(1)划分等价类并编号(2)为合理等价类设计测试用例白盒测试练习题1、程序如下图:要求:1)绘制流程图2)设计测试用例满足语句覆盖2、为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、分支覆盖、条件覆盖、分支-条件覆盖、复合条件覆盖和路径覆盖。
图 流程图由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d)将里面的判定条件和过程记录如下: 判定条件M ={A>1 and B=0} 判定条件N={A=2 or X>1}2、 判定覆盖也可以让测试用例测试路径P2和P3。
相应的两组输入数据如下:对于M:A>1取真时T1,取假时F1;B=0取真时T2,取假时F2;对于N:A=2取真时T3,取假时F3;X>1取真时T4,取假时F4。
优秀的测试用例案例一、正常登录情况。
1. 测试用例名称:使用正确的用户名和密码登录。
测试步骤:打开登录页面。
在用户名输入框中输入已经注册好的正确用户名,比如说“超级飞侠”。
在密码输入框中输入对应的正确密码,就像给超级飞侠输入它的秘密指令“123456abc”。
点击登录按钮。
预期结果:页面成功跳转到用户的个人主页,能看到类似“欢迎回来,超级飞侠!”这样的欢迎语,并且可以看到个人信息、功能菜单等只有登录后才能看到的东西。
二、边界值情况。
1. 测试用例名称:使用最短允许的用户名和密码登录。
测试步骤:进入登录页面。
输入系统允许的最短用户名,假如是3个字符的“abc”。
输入系统允许的最短密码,比如6个字符的“123456”。
点击登录按钮。
预期结果:成功登录,进入到和正常登录一样的个人主页,显示欢迎语等相关信息。
2. 测试用例名称:使用最长允许的用户名和密码登录。
测试步骤:打开登录界面。
输入最长可接受的用户名,假设是20个字符的“这个用户名超级超级超级长1234567890”。
输入最长可接受的密码,像是30个字符的“这个密码超级超级长abcdefghijklmnopqrstuvwxyz123”。
按下登录按钮。
预期结果:顺利登录,显示个人主页和欢迎信息,没有任何报错提示。
三、异常情况。
1. 测试用例名称:用户名不存在登录。
测试步骤:来到登录页面。
在用户名框里输入一个根本没注册过的名字,例如“不存在的大侠”。
在密码框里随便输入一串字符,像“888888”。
点击登录按钮。
预期结果:页面弹出提示框,上面写着“用户名不存在,请重新输入或者注册”之类的话,并且停留在登录页面,不允许进入个人主页。
2. 测试用例名称:密码错误登录。
测试步骤:打开登录窗口。
输入一个正确注册过的用户名,比如“勇敢小战士”。
但是在密码框里输入错误的密码,像是“错误密码123”。
点击登录按钮。
预期结果:弹出提示框,显示“密码错误,请重新输入”,页面保持在登录界面,不能进入个人主页。
测试用例设计技巧考试(答案见尾页)一、选择题1. 在进行软件测试时,以下哪个不是常用的测试用例设计方法?A. 边界值分析法B. 等价类划分C. 错误推测法D. 随机抽样法2. 在设计测试用例时,通常需要考虑哪些因素?A. 功能要求B. 系统性能C. 用户界面D. 安全性要求3. 对于功能测试用例,通常应该包含哪些信息?A. 用例编号B. 用例描述C. 输入数据D. 预期结果4. 黑盒测试与白盒测试是两种不同的测试方法,它们在设计测试用例时关注点有什么不同?A. 黑盒测试关注程序内部逻辑结构,白盒测试关注程序外部表现B. 黑盒测试关注程序输入和输出,白盒测试关注程序内部逻辑结构C. 黑盒测试关注程序的性能,白盒测试关注程序的内部逻辑结构D. 黑盒测试关注程序的可扩展性,白盒测试关注程序的可维护性5. 在等价类划分中,如何选择适当的等价类?A. 将出现较多的值作为等价类的边界B. 将出现较少的值作为等价类的边界C. 将边界值以外的值作为等价类的边界D. 将边界值作为等价类的中心6. 对于功能测试用例,通常应该包括哪些步骤?A. 测试用例编写B. 测试用例执行C. 测试用例报告D. 测试用例回顾7. 在黑盒测试中,常用的测试用例设计技术有哪些?A. 穷举法B. 判定表法C. 正交试验法D. 回溯法8. 在白盒测试中,常用的测试用例设计技术有哪些?A. 结构测试法B. 逻辑驱动测试法C. 标记-追踪测试法D. 归纳测试法9. 在测试用例设计中,如何保证测试用例全面覆盖有效需求?A. 使用等价类划分B. 使用边界值分析C. 使用错误推测法D. 使用正交试验法10. 在测试用例设计中,如何确定测试用例的优先级?A. 根据功能的重要性B. 根据风险等级C. 根据用户的使用频率D. 根据开发进度11. 在设计测试用例时,通常我们会考虑哪些因素?A. 测试覆盖率B. 测试效率和成本C. 测试结果的可靠性D. A和C12. 对于软件的模块化设计,以下哪种描述是正确的?A. 模块之间的接口应当尽量简单清晰B. 模块的内聚程度应当尽量高C. 模块的大小应当尽量小D. A和B13. 黑盒测试法侧重于测试软件的哪个方面?A. 内部结构和实现细节B. 外部行为和接口C. 程序逻辑和算法D. 数据处理和存储14. 在等价类划分中,如何选择代表性的等价类?A. 选择输入数据的关键特征B. 选择输出数据的关键特征C. 选择输入数据和输出数据的共同特征D. 选择容易实施测试的等价类15. 对于边界值分析(BVA),以下哪个说法是错误的?A. 边界值分析法是一种暴力方法B. 边界值分析法可以提高测试效率C. 边界值分析法可以减少遗漏测试点D. 边界值分析法适用于所有类型的测试16. 以下哪个不是黑盒测试法的优点?A. 不需要了解程序内部结构B. 可以直接针对功能进行测试C. 不依赖于程序员的编程技能D. 可以覆盖更多的执行路径17. 在场景测试中,通常会考虑哪些实际使用场景?A. 正常流程和使用错误的情况B. 系统异常和错误处理C. 用户界面和交互性能D. A和B18. 对于判定表(Decision Table)和判定树(Decision Tree)测试方法,以下哪个说法是正确的?A. 判定表更适合于描述包含多个条件和动作的复杂场景B. 判定树更适合于描述包含多个条件和动作的复杂场景C. 判定表和判定树都可以用来描述任何复杂的条件组合D. 判定表比判定树更容易理解和实现19. 在测试用例设计中,为什么需要考虑测试用例的优先级?A. 为了合理分配测试资源B. 为了确保关键功能的稳定性C. 为了优化测试进度和成本控制D. A和B20. 在探索性测试中,测试人员应该如何行动?A. 设计详细的测试计划B. 直接进行测试并记录发现的问题C. 分析测试过程和结果,提出改进建议D. A和B21. 在设计测试用例时,通常需要考虑哪些因素?A. 测试覆盖率B. 测试成本C. 测试进度D. 用户满意度22. 对于功能测试,以下哪个不是有效的测试用例设计方法?A. 等价类划分B. 边界值分析C. 因果图法D. 方差分析23. 黑盒测试中,如何验证一个程序的输出是否正确?A. 代码审查B. 手动测试C. 自动化测试D. 接口测试24. 在等价类划分中,如何选择合适的等价类?A. 选择输入值范围大的区间作为等价类B. 选择输入值范围小的区间作为等价类C. 选择输入值变化多的区间作为等价类D. 选择输入值变化少的区间作为等价类25. 对于逻辑覆盖测试,以下哪个不是其覆盖标准?A. 语句覆盖B. 判定覆盖C. 条件覆盖D. 路径覆盖26. 在边界值分析中,应该特别注意哪两类值?A. 临界值和边界值B. 有效值和无效值C. 正常值和异常值D. 输入值和输出值27. 在探索性测试中,测试人员应该如何行动?A. 设计详细的测试计划B. 直接进行测试执行C. 分析测试结果并修改测试用例D. 编写测试用例28. 对于性能测试,以下哪个指标通常不是直接测量的?A. 响应时间B. 吞吐量C. CPU使用率D. 内存占用29. 在冒烟测试中,通常关注的是哪个方面的功能?A. 系统功能完整性B. 用户界面友好性C. 性能稳定性D. 数据库兼容性30. 在测试用例设计中,如何平衡测试的广度和深度?A. 选择尽可能多的测试用例,覆盖更多的需求B. 选择尽可能少的测试用例,确保每个需求都被覆盖C. 根据风险和重要性选择测试用例D. 根据测试资源和时间来决定测试用例的数量和质量31. 在设计测试用例时,通常需要考虑以下哪个因素?A. 测试覆盖率B. 测试成本C. 测试进度D. 以上所有因素32. 对于功能测试,以下哪个不是常用的测试方法?A. 等价类划分B. 边界值分析C. 因果图法D. 方差分析33. 黑盒测试中,测试人员主要关注的是软件的哪个方面?A. 软件的内部结构和实现细节B. 软件的功能和性能C. 软件的接口和交互方式D. 软件的错误和缺陷34. 在等价类划分中,如何选择合适的等价类?A. 将出现较多的输入作为等价类B. 将出现较少的输入作为等价类C. 将输入和输出相关的条件作为等价类D. 将输入和输出不相关的条件作为等价类35. 对于因果图法,以下哪个不是其基本原理?A. 确定输入和输出之间的关系B. 使用图形表示输入和输出之间的关系C. 通过简化输入和输出之间的关系来缩小测试范围D. 通过对输入和输出之间的关系进行迭代优化来提高测试效率36. 在边界值分析中,应该特别关注以下哪两个值?A. 正常值的边界B. 外部值的边界C. 紧邻边界的值D. 负常规值的边界37. 对于白盒测试,以下哪个不是常用的测试技术?A. 控制流分析B. 数据流分析C. 逻辑覆盖D. 形式化符号测试38. 在测试用例设计中,如何平衡测试的广度和深度?A. 优先考虑测试的广度B. 优先考虑测试的深度C. 同时考虑测试的广度和深度D. 根据具体情况灵活调整39. 在黑盒测试中,测试人员如何判定程序出现了错误?A. 观察程序的输出结果B. 分析程序的内部结构C. 与开发人员进行沟通D. 运行程序并进行调试40. 对于功能测试,以下哪个不是等价类划分的类别?A. 必要功能B. 不必要功能C. 非必要功能D. 可有可无的功能二、问答题1. 什么是等价类划分?请简要解释其概念和目的。
1.计算器测试用例2.自动取款机取款测试用例此用例完成用户利用自动取款机取款的全部流程,分为以下流程:插卡,输入密码,选择金额,取款,取卡等操作。
事件流:该用例在用户插卡之后启动1. 系统提示用户插卡;2. 提示客户输入密码信息;3. 密码输入完毕后,客户选择“确认”,向系统提交信息;4. 系统验证客户输入的密码信息,确认正确后,进入选择系统主界面;5. 用户选择取款选项;6. 系统进入取款金额界面并提示用户输入金额;7. 系统验证可以取款并输出钱款;8. 系统提示用户取卡,操作完成。
基本流:用户取款。
备选流:1.用户密码错误2.取款金额不符合要求。
前置条件:用户必须插入正确的银行卡才能开始执行用例。
后置条件:如果系统确认用户信息正确,成功登陆,则系统启动主界面,等待用户发送消息,进行查询和取款等操作。
事件流系统用户1 系统提示用户插卡插入银行卡2 提示客户输入密码信息输入密码3 如果密码错误,提示密码不正确,并返回到24 如果密码正确,转入主界面5 提示用户选择选项选择取款选项6 系统进入取款金额界面并提示用户输入金额输入取款金额7 如果金额符合则输入钱款8 如果金额小于余额则提示取款失败并返回79 如果金额不是整百则提示不符合规范,取款失败并返回7。
10 提示用户取款取出钱款11 提示用户取卡取出银行卡测试用例:事件用户操作覆盖等价类系统反应1 插入正确银行卡功能测试提示输入密码2 密码正确功能测试进入主界面,提示用户选择3 密码不正确功能测试提示密码错误重新输入4 输入金额<余额功能检查提示用户金额不足,重新输入或取卡5 输入金额为150 功能检查提示用户取款金额不符和规范,重新输入或退出6 输入正确金额功能检查输出钱款7 用户未按时取款错误处理自动收回钱款8 用户未按时取卡错误处理自动吞卡9 用户按时取卡功能测试返回到主页面3.实例:测试案例是以一个B/S结构的登录功能点位被测对象, 该测试用例为黑盒测试用例。
⿊盒测试⽤例设计⽅法案例与练习题⿊盒测试⽤例设计⽅法案例与练习题1、等价类案例登录功能⽤户名和密码登录(以在线考试系统为例)年龄字段输⼊2、⽹站注册页⾯年龄输⼊要求:某⽹站前台⽤户注册页⾯,其中有年龄字段的输⼊,要求练习题三⾓形输⼊三⾓形三边应为正整数,分别构成⾮三⾓形、⼀般三⾓形、等腰三⾓形和等边三⾓形。
1、需求分析:1、正整数2、两边之和⼤于第三边3、两边相等4、三边相等232、边界值案例登录功能实例同等价类年龄字段输⼊实例同等价类,边界值设计如下练习题保险费率计算某保险⽹站的前台计算保费页⾯,其中有年龄字段的输⼊,不同的年龄段会使⽤不同的费率计算标准。
其中:01-15岁,费率为:10%16-20岁,费率为:15%21-50岁,费率为:20%等价类与边界值综合练习题1、在某⼀版的编程语⾔中对变量名称规格作如下规定:变量名称是由字母开头的,后跟字母或者数字的任意组合构成。
编译器能够区分的有效字符数为8个,并且变量名称必须先声明,后使⽤,在同⼀声明语句中,变量名称⾄少必须有⼀个。
输⼊条件:1、变量名称是由字母开头6、变量名称不能重复2、字母或者数字的组合7、字母⼤⼩写敏感3、有效字符数为8个8、不能使⽤关键字4、变量名称必须先声明5、声明语句中变量名称⾄少必须有⼀个3、有效字符数为8个[1-8] [1-8]1 A17 0 0 B118 A18>8 9 B126 A194、变量名称必须先声明先声明A20不声明使⽤B13先使⽤后声明B145、声明变量⾄少为⼀个声明变量为⼀个A21⽆变量声明B15 声明变量为多个A226、变量名称不能重复变量名称不重复A23 变量名称重复B167、字母⼤⼩写敏感字母⼤⼩写敏感AbD A248、不能使⽤关键字不使⽤关键字abc A25 使⽤关键字int B17 2、126邮箱注册输⼊条件有效等价类编号⽆效等价类编号字符长度[6-18] 10 9 118 11 空格123、判定表案例读书选择1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去3、不觉得疲倦并且对书的内容感兴趣,但是书中的内容让你糊涂的话,回到本章重读4、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停⽌阅读,请休息5、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停⽌阅读,休息6、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去7、不疲倦,不感兴趣,书中内容糊涂,跳到下⼀章去读8、不疲倦,不感兴趣,书中内容不糊涂,跳到下⼀章去读1、需求分析条件:是否疲倦、是否感兴趣、是否糊涂结果:本章重读、继续读、停⽌阅读、跳到下⼀章1、3优点:组合充分,没有遗漏缺点:⽤例数量随条件的递增⽽过多(2n n:条件的个数)条件的类型:布尔3、合并判定表条件有⼀个不同风险:产⽣分⽀或者路径的遗漏练习题密码修改若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也⽣效,并提⽰“⽤户信息修改成功”;若旧密码不正确,则提⽰“⽤户密码错”,系统将不修改个⼈信息;若两个新密码不同,则提⽰“新密码与验证新密码不同”,系统将不修改个⼈信息。
软件测试⽤例分析习题完美整合版场景分析法⼀、以答题业务为例:1.答对题⽬增加题⽬积分,积分达到设定值时奖励⼀个礼包;2.取题规则为随机不重复;3.答错题⽬后答新题.开始答题是否存在有效题⽬提供题⽬及备选答案答案是否正确增加题⽬积分积分⼤于或等于设定值?给予⽆有效题⽬提⽰结束奖励⼀个礼包1.确定基本流与备选流基本流: 步骤1. 开始答题步骤2. 判断是否存在有效题⽬,存在有效题⽬,处理:提供题⽬及备选答案步骤3. ⽤户答题并答对题⽬,增加⽤户相应积分。
步骤4. 判断积分是否达到设定值,达到,获取⼀个礼包,流程结束。
备选流1: 不存在有效题⽬基本流步骤2时,题库不存在未答题⽬,处理:给予⽆有效题⽬提⽰,流程结束。
备选流2: 答错题⽬基本流步骤3时,答错题⽬,处理:提⽰⽤户答错题⽬,回到基本流步骤2备选流3:答题后积分达不到设定值基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤22.确定以下⽤例场景:3.通过从确定执⾏⽤例场景所需的数据元素⼊⼿构建矩阵4.设计数据,把数据填⼊上⾯的⽤例表中⼆、下图所⽰是ATM例⼦的流程⽰意图。
2.场景设计:下表所⽰是⽣成的场景。
3.⽤例设计4.测试⽤例表三、⽤户进⼊⼀个在线购物⽹站进⾏购物,选购物品后,进⾏在线购买,这时需要使⽤账号登录,登录成功后,进⾏付钱交易,交易成功后,⽣成订购单,完成整个购物过程。
第⼀步:确定基本流和备选流基本流:登录在线⽹站→选择物品→登录账号→付款→⽣成订单;备选流1:账户不存在;备选流2:账户密码错误;备选流3:⽤户账户余额不⾜;备选流4:⽤户账户没钱。
第⼆步:根据基本流和备选流确定场景场景1成功购物:备选流;场景2账号不存在:基本流,备选流1;场景3账号密码错误:基本流,备选流2;场景4账户余额不⾜:基本流,备选流3;场景5账户没钱:基本流,备选流4。
第三步:对每⼀个场景⽣成相应的测试⽤例测试⽤例ID 场景/条件账号密码⽤户账号余额预期结果1 场景1:成功购物V V V 成功购物2 场景2:账号不存在 1 n/a n/a 提⽰账号不存在3 场景3:账号密码错误(账号正确,密码错误)V 1 n/a 提⽰账号密码错误,返回基本流步骤34 场景4:⽤户账号余额不⾜V V 1 提⽰⽤户账号余额不⾜,请充值5 场景5:⽤户账号没钱V V 1 提⽰⽤户账号没有钱,请充值第四步:设计测试数据测试⽤例ID 场景/条件账号密码⽤户账号余额预期结果1 场景1:成功购物Test 123456 800 成功购物,账号余额减少100元2 场景2:账号不存在aa n/a n/a 提⽰账号不存在3 场景3:账号密码错误(账号正确,密码错误)Test 111111 n/a 提⽰账号密码错误,返回基本流步骤34 场景4:⽤户账号余额不⾜Test 123456 50 提⽰⽤户账号余额不⾜,请充值5 场景5:⽤户账号没钱Test 123456 0 提⽰⽤户账号没有钱,请充值等价类划分法⼀、计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输⼊条件的要求,列出等价类表(包括有效等价类和⽆效等价类)。
测试用例设计题目
题目:登录系统
要求:
设计几个测试用例来测试一个登录系统的功能。
登录系统要求用户输入正确的用户名和密码才能成功登录,用户最多可以尝试5次登录,超过次数后将锁定账号,需要通过找回密码的流程来解锁账号。
测试用例:
1. 输入正确的用户名和密码,验证登录是否成功。
2. 输入错误的用户名和密码,验证登录是否失败。
3. 连续输入错误的用户名和密码5次,验证登录是否失败,并且账号是否锁定。
4. 使用正确的用户名和密码登录成功后,再次尝试使用错误的用户名和密码登录,验证登录是否失败并且账号是否保持解锁状态。
5. 使用正确的用户名和密码登录成功后,输入错误的用户名和密码4次,然后使用正确的用户名和密码登录,验证登录是否成功,并且账号是否锁定。
6. 使用正确的用户名和密码登录成功后,更改密码,然后使用旧密码登录,验证登录是否失败。
7. 使用正确的用户名和密码登录成功后,尝试找回密码流程,然后使用新密码登录,验证登录是否成功。
8. 输入用户名为空,验证登录是否失败。
9. 输入密码为空,验证登录是否失败。
10. 输入用户名和密码均为空,验证登录是否失败。
备注:以上测试用例是基于常规功能设计的,还可以根据实际业务需求和用户使用习惯进行进一步扩展和设计。
【黑盒技术】
一、因果图方法的思路是:从用自然语言书写的程序规格说明描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。
分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明),马走日字型(邻近交叉点无棋子),遇到对方棋子可以吃掉,遇到本方棋子不能落到该位置。
[问题1](3分)
应用中可能有多种输入条件,在什么情况下可采用因果图法设计测试用例?[问题2]((4.5分)
根据上述说明,利用因果图法,下面列出走棋出现的情况和结果,找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。
A.落点在棋盘上;
B.落点与起点构成日字;
C.移动棋子;
D.落点处为对方棋子;
E.落点处为自己方棋子;
F.移动棋子,并除去对方棋子;
G.落点方向的邻近交叉点无棋子;
H.不移动棋子;
I.落点处无棋子。
[问题3](4.5分)
下图画出中国象棋中走马的因果图,请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。
输入条件输出条件
二、场景法是黑盒测试中重要的测试用例设计方法。
目前多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。
场景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例遍历软件系统功能,验证其正确性。
图 1 描述了简化的中心层、省市层、地区层三级的“公文流转”业务流程,表1 描述了省市层(图 1 阴影部分)业务的基本流和备选流。
公文的状态包括:己下发、未下发、已接收、未接收。
【问题1】(5 分)
用表 1 中表述的基本流和备选流,使用场景法设计测试场景。
基本流和备选流用表1中对应的字母编号表示。
【问题2】(10 分)
下表给出了测试用例名称,请将表中的输入条件和预期输出补充完整。
三、场景法是黑盒测试中重要的测试用例设计方法。
目前多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。
场景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例遍历软件系统功能,验证其正确性。
下面是对网上银行支付交易系统的基本流和备选流的描述:
问题1(10分):
使用场景法设计测试用例,指出所涉及到的基本流和备选流。
基本流用字母A表示,备选流用题干中描述对应编号表示。
问题2(10分):
请针对问题1设计的测试用例,依次将银行卡号、初次输入密码、最终输入密码、卡内余额、银行卡可支付额度等信息填入下述测试用例表中。
表中行代表各个测试用例,列代表测试用例的输入值,用V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成功支付”用例。
问题3(10分):
在上述系统中,假设银行卡号只能输入0~9的数字,请参考下表,给出用边
【白盒技术】
一、使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。
以下代码由C语言书写,请按要求回答问题。
Int IsLeap(int year)
{
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if ( year % 400 == 0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
}
【问题1】(3分)
请画出以上代码的控制流图
【问题2】(4分)
请计算上述控制流图的圈复杂度V(G)(独立线性路径数)
【问题3】(8分)
假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year设计测试用例,使其满足基本路径覆盖的要求。
二、阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
以下代码由C语言书写,在输入三个整数后,能够输出最大数和最小数。
int main( void )
{
int a, b, c, max, min;
printf( "input thr numbers: " );
scanf( "%d%d%d", &a, &b, &c );
if( a > b ) /*判断1*/
{
max = a;
min = b;
}
els
{
max = b;
min = a;
}
if( max < c ) /*判断2*/
max = c;
els if( min > c ) /*判断3*/
min = c;
printf( "max=%d\nmin=%d", max, min );
return 0;
}
[问题1] (3 分)
请画出该程序段的控制流图,并分析该控制流图中有多少条线性独立路径(V(G)的值)。
[问题2] (2 分)
为了用分支(判定)覆盖方法测试该程序,需要设计测试用例,使其能对该程序中的每个判断语句的各种分支情况全部进行过测试。
对两组输入数据(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,请分别写出程序中各个判断语句的执行结果(以T表示真,以F表示假),填入答题纸的相应栏中。
[问题3] (5 分)
上述两组测试数据是否能实现该程序的分支(判定)覆盖?如果能,请说明理由。
如果不能,请再增设一组输入数据,使其能实现分支(判定)覆盖。
三、逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。
针对以下由 C 语言编写的程序,按要求回答问题。
getit( int m)
{
int i ,k;
k=sqrt( m);
for(i =2;i <=k; i++)
if (m%i==0)break;
if (i >=k+1)
printf(“%d is aselected number\n”,m):
else
printf(“%d is not a selected number\n”,m);
}
【问题1】(3 分)
请找出程序中所有的逻辑判断子语句。
【问题2】(4 分)
请将满足100 % DC(判定覆盖)所需的逻辑条件填入下表。
【问题3】(9 分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V (G)。
假设函数getit的参数m 取值范围是150<m<160,请使用基本路径测试法设计测试用例,将参数m 的取值填入下表,使之满足基本路径覆盖要求。