测试用例设计综合题作业
- 格式:docx
- 大小:222.12 KB
- 文档页数:8
测试用例测试题
以下是一份简单的测试用例,以及相应的测试题,以供参考:
测试用例:检查一个计算器程序的基本运算功能
测试题:
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单选在黑盒测试方法中,设计测试用例的主要根据是()3单选凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫()4单选2元地铁票售票软件:投币2元时,按下“2元”按钮,弹出相应地铁票;投币5元,则弹出地铁票同时退还3元,若对该功能进行测试用例设计最宜选择哪种方法5单选黑盒测试技术,使用最广的用例设计技术是等值分析测试边界值分析测试错误推测法逻辑覆盖测试6单选既可以用于黑盒测试,也可以用于白盒测试的方法的是逻辑覆盖法边界值法基本路径法正交试验设计法7单选某购物中心电梯限坐15人。
在电梯中安装计数器来统计乘客数量。
如出现超出规定人数以外的任何情况,会有不同的警示音。
软件编写后进行边界值测试,应选取的边界值是:()1,15,16.1 1510,1515,208单选关于等价类划分法,下面说法不正确的是(9单选某系统对每个员工一年的出勤天数进行核算和存储(按每月22个工作日计算),使用文本框的模式进行填写,在此文本框的测试用例编写中使用了等价类。
下列关于等价类划分法,划分错误的是()无效等价类,出勤日>264无效等价类,出勤日<0有效等价类,0< =出勤日< =264有效等价类,0<出勤日<26410单选若一个通讯录最多可以输入100条记录,则下列哪组测试用例最优?分别输入1、50、100条记录分别输入0、1、50、99、100条记录分别输入0、1、99、100、101条记录分别输入0、1、50、99、100、101条记录11单诜对于功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应优先维修单选处理。
根据这段话,使用判定表法设计测试用例,以下说法不正确的是()12单选以下不属于因果图约束中的输入约束的是()要求强制13单选因果图中,关系符号“V”代表的是(恒等14单选现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入的是2元币,在送出饮料的同时还退还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、合并判定表条件有⼀个不同风险:产⽣分⽀或者路径的遗漏练习题密码修改若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也⽣效,并提⽰“⽤户信息修改成功”;若旧密码不正确,则提⽰“⽤户密码错”,系统将不修改个⼈信息;若两个新密码不同,则提⽰“新密码与验证新密码不同”,系统将不修改个⼈信息。
测试用例设计题目
题目:登录系统
要求:
设计几个测试用例来测试一个登录系统的功能。
登录系统要求用户输入正确的用户名和密码才能成功登录,用户最多可以尝试5次登录,超过次数后将锁定账号,需要通过找回密码的流程来解锁账号。
测试用例:
1. 输入正确的用户名和密码,验证登录是否成功。
2. 输入错误的用户名和密码,验证登录是否失败。
3. 连续输入错误的用户名和密码5次,验证登录是否失败,并且账号是否锁定。
4. 使用正确的用户名和密码登录成功后,再次尝试使用错误的用户名和密码登录,验证登录是否失败并且账号是否保持解锁状态。
5. 使用正确的用户名和密码登录成功后,输入错误的用户名和密码4次,然后使用正确的用户名和密码登录,验证登录是否成功,并且账号是否锁定。
6. 使用正确的用户名和密码登录成功后,更改密码,然后使用旧密码登录,验证登录是否失败。
7. 使用正确的用户名和密码登录成功后,尝试找回密码流程,然后使用新密码登录,验证登录是否成功。
8. 输入用户名为空,验证登录是否失败。
9. 输入密码为空,验证登录是否失败。
10. 输入用户名和密码均为空,验证登录是否失败。
备注:以上测试用例是基于常规功能设计的,还可以根据实际业务需求和用户使用习惯进行进一步扩展和设计。
测试用例撰写练习题测试用例撰写练习题在软件开发过程中,测试用例的编写是非常重要的一环。
通过编写全面且有效的测试用例,可以帮助开发人员发现和修复软件中的缺陷,提高软件的质量。
本文将通过一些练习题来帮助读者提高测试用例的撰写能力。
练习一:登录功能测试用例假设我们正在开发一个电子商务网站,需要对登录功能进行测试。
请根据以下要求编写测试用例。
1. 正确的用户名和密码,登录成功。
2. 错误的用户名和密码,登录失败。
3. 不输入用户名和密码,点击登录按钮,登录失败。
4. 输入正确的用户名,不输入密码,点击登录按钮,登录失败。
5. 输入正确的密码,不输入用户名,点击登录按钮,登录失败。
6. 输入正确的用户名和密码,但是验证码错误,登录失败。
练习二:注册功能测试用例继续以电子商务网站为例,现在需要对注册功能进行测试。
请根据以下要求编写测试用例。
1. 输入有效的用户名、密码和确认密码,注册成功。
2. 输入已存在的用户名、密码和确认密码,注册失败。
3. 输入有效的用户名,不输入密码和确认密码,注册失败。
4. 输入有效的密码,不输入用户名和确认密码,注册失败。
5. 输入有效的确认密码,不输入用户名和密码,注册失败。
6. 输入有效的用户名、密码和确认密码,但是验证码错误,注册失败。
练习三:购物车功能测试用例购物车功能是电子商务网站中非常重要的一部分。
请根据以下要求编写测试用例。
1. 添加商品到购物车,购物车中显示正确的商品信息。
2. 添加多个商品到购物车,购物车中显示正确的商品数量。
3. 添加商品到购物车后,修改商品数量,购物车中显示正确的商品数量和总价。
4. 删除购物车中的商品,购物车中不再显示该商品。
5. 添加商品到购物车后,点击结算按钮,跳转到正确的结算页面。
练习四:搜索功能测试用例搜索功能是电子商务网站中用户常用的功能之一。
请根据以下要求编写测试用例。
1. 输入有效的关键词,点击搜索按钮,显示正确的搜索结果。
2. 输入无效的关键词,点击搜索按钮,显示无搜索结果。
给出场景设计测试用例面试题
当面试应聘者时,你可以设计一些关于场景的测试用例,以评估其分析、设计和执行测试的能力。
以下是一些示例:
1. 社交媒体应用:假设你正在测试一款社交媒体应用,测试的主要目标是确保用户能够轻松地创建和编辑个人资料、发布状态更新、上传和查看照片和视频,以及与其他用户互动。
请设计一份测试用例,以覆盖这些功能的主要方面。
2. 在线购物网站:假设你正在测试一个在线购物网站,该网站允许用户浏览商品、将商品添加到购物车、下订单、查看订单状态和历史记录。
请设计一份测试用例,以确保网站的所有功能都能正常工作。
3. 银行应用程序:假设你正在测试一个银行应用程序,该应用程序允许用户查看账户余额、转账、查看交易记录和账单等。
请设计一份测试用例,以确保应用程序的所有功能都能正常工作,并且安全性得到保障。
4. 在线支付系统:假设你正在测试一个在线支付系统,该系统允许用户在网站或应用上完成支付。
请设计一份测试用例,以确保系统能够处理各种支付场景,包括信用卡支付、银行转账和第三方支付方式等。
5. 视频会议系统:假设你正在测试一个视频会议系统,该系统允许用户加入和退出会议、共享屏幕、使用聊天功能和视频通话等。
请设计一份测试用例,
以确保系统能够处理各种会议场景,包括大型和小型会议、远程和本地参与者等。
对于每个场景,要求应聘者详细描述他们将如何设计和执行测试用例,以验证系统的功能、性能和安全性。
同时,可以询问他们如何处理复杂场景和异常情况,以及如何与开发团队和其他利益相关者合作。
测试用例设计方法考题
1.简述黑盒测试用例设计方法,列举其中至少三种方法并给出示例。
2. 什么是边界值测试用例设计方法?举例说明其设计过程。
3. 什么是等价类划分测试用例设计方法?举例说明其设计过程。
4. 简述路径覆盖测试用例设计方法,列举其中至少两种方法并
给出示例。
5. 什么是状态转换测试用例设计方法?举例说明其设计过程。
6. 什么是决策表测试用例设计方法?举例说明其设计过程。
7. 简述基于场景的测试用例设计方法,列举其中至少两种方法
并给出示例。
8. 什么是自动化测试用例设计方法?举例说明其设计过程。
9. 请结合实际案例,说明如何选择合适的测试用例设计方法。
10. 总结常用的测试用例设计方法,比较其优缺点并指出适用场景。
- 1 -。
【黑盒技术】一、因果图方法的思路是:从用自然语言书写的程序规格说明描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。
分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明),马走日字型(邻近交叉点无棋子),遇到对方棋子可以吃掉,遇到本方棋子不能落到该位置。
[问题1](3分)应用中可能有多种输入条件,在什么情况下可采用因果图法设计测试用例?[问题2]((4.5分)根据上述说明,利用因果图法,下面列出走棋出现的情况和结果,找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。
A.落点在棋盘上;B.落点与起点构成日字;C.移动棋子;D.落点处为对方棋子;E.落点处为自己方棋子;F.移动棋子,并除去对方棋子;G.落点方向的邻近交叉点无棋子;H.不移动棋子;I.落点处无棋子。
输入条件I 输出结果[问题3](4.5分)下图画出中国象棋中走马的因果图,请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。
用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发 顺序构成用例。
场景法通过场景描述业务流程(包括基本流(基本流程)和备选 流(分支流程)),设计用例遍历软件系统功能,验证其正确性。
图1描述了简化的中心层、省市层、地区层三级的“公文流转”业务流程, 表1描述了省市层(图1阴影部分)业务的基本流和备选流。
输入条件 输出条件二、场景法是黑盒测试中重要的测试用例设计方法。
目前多数软件系统都图I “公文流转”业芬流程图公文的状态包括:己下发、未下发、已接收、未接收。
“公文流转”.业务流程图地M 星省而层下发公更新生公立接收公文 保存公文产幡过公文• 删除公文接收公文卜发公文【问题1](5分)用表1中表述的基本流和备选流,使用场景法设计测试场景。
基本流和备 选流用表1中对应的字母编号表示。
【问题2] (10分)下表给出了测试用例名称,请将表中的输入条件和预期输出补充完整。
软件测试用例设计题目
题目:软件测试用例设计
概述:
好的软件设计包含对测试进行精心描述的阶段,包括测试策略、测试计划、测试描述和测试过程。
测试设计遵循与软件设计相同的工程原则。
单元测试用于验证模块单元实现了模块设计中定义的规格。
一个完整的单元测试说明应该包含正面测试 (PositiveTesting) 和
负面的测试 (NegativeTesting)。
正面测试验证程序应该执行的工作,负面测试验证程序不应该执行的工作。
设计富有创造性的测试用例是测试设计的关键。
步骤:
1. 首先使被测单元运行,任何单元测试说明的第一个测试用例
应该是以一种可能的简单方法执行被测单元。
2. 正面测试的测试用例用于验证被测单元能够执行应该完成的
工作。
3. 设计负面测试用例,验证被测单元不能执行不应该执行的工作。
4. 编写测试用例时应注意,测试用例应该包含被测单元的输入、预期的输出以及实际的输出。
5. 测试用例的设计应该符合覆盖率原则,尽可能地覆盖所有或
大多数测试点。
6. 测试用例的设计应该考虑边界条件,测试用例应该覆盖各种
可能的输入和边界条件。
7. 在测试用例设计完成后,需要进行测试用例的评审和验证,确保测试用例的有效性和完整性。
8. 测试用例的设计应该是可追踪的,能够追踪到每个测试用例的执行结果和反馈信息。
9. 测试用例的设计应该遵循可重复性原则,确保每次测试都能够正确地重现测试结果。
10. 测试用例的设计应该考虑集成测试和系统测试,确保软件的整体性能和稳定性。
1.测试项目:电梯需求测试:查看电梯使用说明书、安全说明书等界面测试:查看电梯外观功能测试:测试电梯能否实现正常的上升和下降功能.电梯的按钮是否都可以用;电梯门的打开,关闭是否正常;报警装置是否可用,报警电话是否可用;通风状况如何.突然停电时的情况;是否有手机信号;比如说上升途中的响应。
电梯本来在1楼,如果有人按18楼,那么电梯在上升到5楼的时候,有人按了10楼,这时候是否会在10楼先停下来;电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停;可靠性:门关上的一刹那出现障碍物,同时按关门和开门按钮,点击当前楼层号码,多次点击同一楼层的号码等等;同时按上键和下键会怎样;易用性:电梯的按钮的设计符合一般人使用的习惯吗.用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述压力测试:看电梯的最大限度的承受重量.在负载过重时报警装置是否有提醒.在一定时间内不断的让电梯上升,下降.最大负载下平稳运行的最长时间。
2.测试项目:杯子需求测试: 查看杯子使用说明书界面测试: 查看杯子外观功能度:用水杯装水看漏不漏;水能不能被喝到安全性:杯子有没有毒或细菌可靠性:杯子从不同高度落下的损坏程度可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等易用性:杯子是否烫手、是否有防滑措施、是否方便饮用用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述疲劳测试:将杯子盛上水(案例一)放24 小时检查泄漏时间和情况;盛上汽油(案例二)放24 小时检查泄漏时间和情况等压力测试:用根针并在针上面不断加重量,看压强多大时会穿透跌落测试: 杯子加包装( 有填充物), 在多高的情况摔下不破损震动测试: 杯子加包装( 有填充物), 六面震动, 检查产品是否能应对恶劣的铁路\ 公路\ 航空运输测试数据:测试数据具体编写此处略(最讨厌写测试数据了)。
其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法期望输出:该期望输出需查阅国标、行标以及使用用户的需求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)分析程序规格说明中给出和隐含的对输⼊条件的要求,列出等价类表(包括有效等价类和⽆效等价类)。
一、等价类划分法例子1:现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月-2049年12月,并规定,日期由6位数字组成,前4位表示年,后2位表示月。
1,根据需求进行分析,找出有哪些输入条件年份:【1990,2049】月份:【01,12】字符长度:6位字符类型:数字2输入条件有效等价类边界值分析无效等价类年份【1990,2049】(1)上点:1990,2049(12)离点:1989,2050内点:2016 <1990 (2)>2049 (3)月份【01,12】(4)上点:01,12(13)离点:00,13内点:11 <01 (5)>12 (6)字符长度6位(7)上点:6离点:5,7内点:6 <6 (8)>6 (9)字符类型数字(10)非数字(11)3,为每个等价类规定一个唯一编号(如上图)4,转换成测试用例转换测试用例的原则:A,设计一个测试用例尽可能多的覆盖多个有效等价类;B,设计一个测试用例必须对应覆盖一个无效等价类。
有效等价类用例:用例1:201611 (1)(4)(7)(10)无效等价类用例:用例2:198911 (2)用例3:205011 (3)用例4:201600 (5)用例5:201613 (6)用例6:20161 (8)用例7:2016113 (9)用例8:20161a/abcedf (11)根据边界值分析法分析后补充测试用例用例9:199001 (12)用例10:204912 (13)5,转成正式格式用例(用例写作的8大要素)例子2:(学生练习-参考例子)万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
假设日期限定在1990年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。
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](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 的取值填入下表,使之满足基本路径覆盖要求。