测试用例撰写练习题
- 格式:doc
- 大小:257.50 KB
- 文档页数:22
一、判断题(每题1分,共10分,对的用‘Y’,错的用‘N’)得分:分1、Alpha测试时软件的多个用户在实际使用环境中进行的测试。
()2、自动化测试相比于手工测试而言,发现软件缺陷的能力很弱。
()3、自动化测试不能保证100%的测试覆盖率。
()4、“继承的测试用例”代表从父类测试用例中选取出来的,用于子类的测试用例。
()5、代码评审是检查源代码是否达到模块设计的要求。
()6、单元测试能发现约80%的软件缺陷。
()7、自底向上集成需要测试人员编写驱动程序。
()8、负载测试的目标,是确定并确保系统在超出最大预期工作量的情况下仍然能正常运行。
()9、lint-nt.exe -u -id:\lint std.lnt sample.c中-u表示只对本单元进行检查。
()10、测试人员要坚持原则,缺陷未修复完测试坚决不予通过。
()二、选择题(每小题 2 分,共20分)得分:分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、setUpBeforeClass()的作用是()A 在所有测试前调用,整个测试过程中只被调用一次,初始化测试资源。
选择题在测试一个电商网站的购物车功能时,以下哪个场景最不可能发生?A. 用户可以将商品添加至购物车后继续购物B. 购物车中的商品数量可以手动修改C. 购物车中的商品价格会随市场波动自动更新(正确答案)D. 用户可以从购物车中移除不需要的商品针对一个在线支付系统的安全性测试,下列哪项不是必须验证的内容?A. 支付密码的加密存储B. 支付过程中的数据传输安全C. 系统能否处理大额交易而不崩溃(正确答案,属性能测试范畴)D. 用户身份验证机制的有效性在测试移动应用的推送通知功能时,以下哪个选项不是必要的测试步骤?A. 确认通知内容是否正确显示B. 测试在不同网络环境下通知的到达率C. 验证用户关闭通知后的静默效果D. 检查通知声音是否悦耳(正确答案)对于一个在线教育平台的视频播放功能,以下哪个测试场景不是优先级最高的?A. 视频在不同浏览器上的兼容性测试B. 视频播放时的清晰度切换功能C. 视频加载速度及缓冲情况D. 视频封面图片的分辨率测试(正确答案)在进行数据库备份与恢复功能的测试时,以下哪项不是关键测试点?A. 备份文件的完整性验证B. 恢复后数据的准确性检查C. 备份过程对系统性能的影响评估D. 备份文件是否易于被非授权访问(正确答案)测试一个社交应用的私信功能时,以下哪个选项不是必要的测试用例?A. 发送空内容私信时的系统响应B. 私信发送后,接收方是否能即时收到通知C. 私信内容是否支持多种格式(文字、图片、视频等)D. 测试私信发送按钮的点击次数限制(正确答案)在对一个在线问卷系统进行负载测试时,以下哪个指标不是主要关注点?A. 系统响应时间随用户数增加的变化B. 服务器资源(CPU、内存)的使用率C. 问卷提交成功率D. 问卷设计界面的美观度(正确答案)测试一个电商网站的搜索功能时,以下哪个场景不是必要的测试内容?A. 搜索结果的准确性B. 搜索关键词的自动补全功能C. 搜索结果页的排序和筛选功能D. 搜索框的字体大小和颜色搭配(正确答案)在对一个在线预订系统进行压力测试时,以下哪个选项不是测试的主要目标?A. 确定系统在高并发下的处理能力B. 找出系统性能瓶颈并优化C. 验证系统在极端条件下的稳定性D. 测试用户密码的复杂度要求(正确答案)。
测试用例测试题
以下是一份简单的测试用例,以及相应的测试题,以供参考:
测试用例:检查一个计算器程序的基本运算功能
测试题:
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、等价类案例登录功能用户名和密码登录(以在线考试系统为例)年龄字段输入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 1<len<6 10 >18 11 空格123、判定表案例读书选择1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去3、不觉得疲倦并且对书的内容感兴趣,但是书中的内容让你糊涂的话,回到本章重读4、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息5、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息6、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去7、不疲倦,不感兴趣,书中内容糊涂,跳到下一章去读8、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读1、需求分析条件:是否疲倦、是否感兴趣、是否糊涂结果:本章重读、继续读、停止阅读、跳到下一章1、3优点:组合充分,没有遗漏缺点:用例数量随条件的递增而过多(2n n:条件的个数)条件的类型:布尔3、合并判定表条件有一个不同风险:产生分支或者路径的遗漏练习题密码修改若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”;若旧密码不正确,则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同,则提示“新密码与验证新密码不同”,系统将不修改个人信息。
测试⽤例设计练习⼀、等价类划分法例⼦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—10题每题1分,其余每题1.5分,共100分)1) 下列对于测试用例的描述中,正确的是()。
(选择一项)a) 在测试过程中,测试用例是一成不变的b) 测试用例模板是不能改变的c) 编写测试用例不需要参照需求d) 参考手册测试用例需要不断更新和维护2) 划分等价类要()。
(选择一项)a) 只考虑有效等价类b) 只考虑无效等价类c) 既考虑有效等价类,也考虑无效等价类d) 考虑输入条件之间的联系3) 下列对于等价类的描述中,正确的是()。
(选择一项)a) 等价类数据测试的内容完全不同b) 等价类中的一个测试能捕获缺陷,那么该等价类中的其它测试也能捕获缺陷c) 如果输入条件是一个布尔量,则不能确定等价类d) 如果输入条件说明了一个必须成立的情况,则不能确定等价类4) 输入长度在20到100个字符的字符串,使用边界值法的边界值是()。
(选择一项)a) 20b) 25c) 90d) 不能确定5) 下列不属于因果图法的步骤有()。
(选择一项)a) 画出因果图b) 转换成判定表c) 把判定表中的每一列拿出来作为依据,设计测试用例d) 把判定表中的每一行拿出来作为依据,设计测试用例6) 下列关于随机测试的描述中正确的是()。
(选择一项)a) 可以度量随机测试实际覆盖率b) 许多测试都是冗余的c) 重复测试是不可能的d) 确定预期结果不会花费大量时间7) 通过测试主要用于验证()。
(选择一项)a) 一个系统不会做不需要它做的事b) 系统和需求是否一致c) 随机数据会产生哪些结果d) 直觉推测产生哪些错误8) 错误猜想主要用于验证()。
(选择一项)a) 一个系统不会做不需要它做的事b) 系统和需求是否一致c) 随机数据会产生哪些结果d) 直觉推测可能产生哪些错误9) 下列叙述中,哪些属于等价类数据的共同特点()。
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. 在进行软件测试时,以下哪个不是常用的测试用例设计方法?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)白盒测试用例练习1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。
voiddowork(intx,inty,intz){intk=0,j=0;if((x>3)&&(z<10)){k=x*y-1;j=sqrt(k);//语句块1}if((x==4)||(y>5)){j=x*y+10;}//语句块2j=j%3;//语句块3}k=0j=0aycx>3andz<10k=x*y-1j=sqrt(k)nbx=4eoryy>5j=x*y+10ndj=j%3由这个流程图可以窥见,该程序模块存有4条相同的路径:p1:(a-c-e)p2:(a-c-d)p3:(a-b-e)p4:(a-b-d)将里面的判定条件和过程记录如下:判定条件m={x>3andz<10}判定条件n={x=4ory>5}1、语句覆盖测试用例输出x=4,z=5,y=82、判定覆盖p1和p4可以做为测试用例,其中p1做为挑真的路径,p4做为row的路径。
测试用例输出x=4,z=5,y=8x=2,z=11,y=5输入k=31,j=0k=0,j=0认定m的值域认定n的值域tftf 全面覆盖路径p1(a-c-e)p4(a-b-d)输入k=31,j=0认定m的值域认定n的值域tt全面覆盖路径p1(a-c-e)也可以使测试用例测试路径p2和p3。
适当的两组输出数据如下:测试用例输出x=5,z=5,y=4x=4,z=11,y=63、条件覆盖对于m:x>3挑真时t1,取假时f1;z<10挑真时t2,取假时f2;对于n:x=4挑真时t3,取假时f3;y>5挑真时t4,取假时f4。
条件:x>3,z<10,x=4,y>5条件:x<=3,z>=10,x!=4,y<=5根据条件全面覆盖的基本思路,和这8个条件值域,女团测试用例例如表中右图:测试用例输出x=4,z=5,y=8x=3,z=11,y=5输入k=31,j=0k=0,j=0值域条件具体内容值域条件全面覆盖路径p1(a-c-e)t1,t2,t3,t4x>3,z<10,x=4,y>5输入k=19,j=sqrt(19)%3k=0,j=1认定m的值域认定n的值域tfft全面覆盖路径p2(a-c-d)p3(a-b-e)f1,f2,f3,f4x<=3,z>=10,x!=4,y<=5p4(a-b-d)4、认定/条件全面覆盖测试用例输出x=4,z=5,y=8x=3,z=11,y=5输入k=31,j=0k=0,j=0值域条件具体内容值域条件全面覆盖路径p1(a-c-e)t1,t2,t3,t4x>3,z<10,x=4,y>5f1,f2,f3,f4x<=3,z>=10,x!=4,y<=5p4(a-b-d)5、女团全面覆盖条件组合1)x>3,z<102)x>3,z>=103)x<=3,z<104)x<=3,z>=105)x=4,y>56)x=4,y<=57)x!=4,y>58)x!= 4,y<=5测试用例输出x=4,z=5,y=6x=4,z=10,y=5x=3,z=5,y=6z=3,z=10,y=56、路径全面覆盖测试用例输出x=4,z=5,y=8x=5,z=5,y=4x=4,z=11,y=6x=2,z=11,y=5输出k=31,j=0k=0,j=1k=0,j=0覆盖条件取值覆盖条件组合1,51,82,54,8覆盖路径p1(a-c-e)p2(a-c-d)p3(a-b-e)p4(a-b-d)输出k=23,j=1k=0,j=0k=14j=1k=0,j=2覆盖条件取值t1,t2,t3,t4t1,f2,t3,f4f1,t2,f3,t4f1,f2,f3,f4覆盖条件组合1,52,63,74,8覆盖路径p1(a-c-e)p2(a-c-d)p3(a-b-e)p4(a-b-d)t1,t2,t3,t4t1,f2,t3,t4f1,f2,f3,f4k=19,j=sqrt(19)%3t1,t2,f3,f4。
软件测试经典用例设计面试笔试题
1.测试项目:电梯
需求测试:查看电梯使用说明书、安全说明书等
界面测试:查看电梯外观
功能测试:测试电梯能否实现正常的上升和下降功能.电梯的按钮是否都可以用;
电梯门的打开,关闭是否正常;报警装置是否可用,报警电话是否可用;
通风状况如何.突然停电时的情况;是否有手机信号;
比如说上升途中的响应,
电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停;
可靠性:门关上的一刹那出现障碍物,同时按关门和开门按钮,点击当前楼层号码,多次点击同一楼层的号码等等;同时按上键和下键会怎样;
易用性:电梯的按钮的设计符合一般人使用的习惯吗.
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
压力测试:看电梯的最大限度的'承受重量.在负载过重时报警装置是否有提醒.在一定时间内不断的让电梯上升,下降.最大负载下平稳运行的最长时间,
2.测试项目:杯子
需求测试:查看杯子使用说明书
界面测试:查看杯子外观
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
跌落测试:杯子加包装(有填充物),在多高的情况摔下不破损。
白盒测试逻辑覆盖练习题一、语句覆盖if (a > 0 && b > 0) {c = a + b;} else {c = 0;}def check_age(age):if age < 18:return "未成年"elif age >= 18 and age < 60:return "成年人"else:return "老年人"二、分支覆盖if (x > 0) {if (y > 0) {printf("第一象限");} else {printf("第四象限");}} else {if (y > 0) {printf("第二象限");} else {printf("第三象限");}}function calculateGrade(score) {if (score >= 90) {return 'A';} else if (score >= 80) {return 'B';} else if (score >= 70) {return 'C';} else {return 'D';}}三、路径覆盖public int calculate(int a, int b) { if (a > 0) {if (b > 0) {return a + b;} else {return a b;}} else {if (b > 0) {return b a;} else {return 0;}}}public int Max(int a, int b, int c) { if (a > b) {if (a > c) {return a;} else {return c;}} else {if (b > c) {return b;} else {return c;}}}四、条件覆盖def check_password(password):if len(password) >= 8 and any(char.isdigit() for char in password):return "密码强度高"else:return "密码强度低"function validateForm(username, password) {if (username.length > 0 && password.length > 0) { return true;} else {return false;}}五、判定条件覆盖public boolean isEligible(int age, boolean hasLicense) {if (age >= 18 && hasLicense) {return true;} else {return false;}}int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i < num; i++) {if (num % i == 0) {return 0;}}return 1;}六、多条件覆盖public string GetGrade(int score, bool isFinalExam) { if (score >= 90 || (isFinalExam && score >= 80)) { return "A";} else if (score >= 80 || (isFinalExam && score >= 70)) {return "B";} else if (score >= 70 || (isFinalExam && score >= 60)) {return "C";} else {return "D";}}return "Eligible";} else {return "Not Eligible";}}七、条件组合覆盖def check_login(username, password, is_admin):if (username == "admin" or username == "user") and password == "56" and not is_admin:return "User logged in";elif (username == "admin" and is_admin) and password == "admin123":return "Admin logged in";else:return "Invalid credentials";public String authenticate(String username, String password, boolean hasTwoFactor) {if (username.equals("admin") &&password.equals("admin123") && hasTwoFactor) {return "Admin access granted";} else if (username.equals("user") &&password.equals("user123") && !hasTwoFactor) {return "User access granted";} else {return "Access denied";}}八、路径条件覆盖void processOrder(int quantity, float discount) {if (quantity > 10) {if (discount < 0.1) {printf("Order processed with standard discount");} else {printf("Order processed with special discount");}} else {printf("Order processed without discount");}}function calculateTotal(price, isMember, hasCoupon) { let total = price;if (isMember) {total = 0.9; // 10% discount for members}if (hasCoupon) {total = 0.95; // Additional 5% discount for coupon}return total;}九、修改条件/判定覆盖def upgrade_account(user_type, points):if user_type == "basic" and points >= 100:return "Upgrade to premium"elif user_type == "premium" and points >= 200:return "Upgrade to elite"else:return "No upgrade available"public String checkSubscription(String type, int duration) {if (type.equals("monthly") && duration >= 6) {return "Eligible for annual plan";} else if (type.equals("annual") && duration >= 12) {return "Eligible for lifetime plan";} else {return "Continue current plan";}}答案一、语句覆盖1. 测试用例:a=1, b=1;a=1, b=12. 测试用例:age=15;age=25;age=65二、分支覆盖1. 测试用例:x=1, y=1;x=1, y=1;x=1, y=1;x=1, y=12. 测试用例:score=95;score=85;score=75;score=65三、路径覆盖1. 测试用例:a=1, b=1;a=1, b=1;a=1, b=1;a=1, b=12. 测试用例:a=10, b=5, c=3;a=5, b=10, c=8;a=5, b=5, c=10;a=3, b=3, c=3四、条件覆盖1. 测试用例:password="567";password=""2. 测试用例:username="test", password="pass";username="", password=""五、判定条件覆盖1. 测试用例:age=20, hasLicense=True;age=17, hasLicense=False2. 测试用例:num=2;num=1;num=0;num=1六、多条件覆盖1. 测试用例:score=95, isFinalExam=False;score=85, isFinalExam=True;score=75, isFinalExam=False;score=65, isFinalExam=True七、条件组合覆盖1. 测试用例:username="admin", password="admin123",is_admin=False;username="user", password="56",is_admin=False;username="admin", password="admin123",is_admin=True2. 测试用例:username="admin", password="admin123", hasTwoFactor=True;username="user", password="user123", hasTwoFactor=False;username="admin", password="wrong", hasTwoFactor=True八、路径条件覆盖1. 测试用例:quantity=15, discount=0.05;quantity=8, discount=0.05;quantity=15, discount=0.22. 测试用例:price=100, isMember=True, hasCoupon=True;price=100, isMember=False, hasCoupon=False;price=100, isMember=True, hasCoupon=False九、修改条件/判定覆盖1. 测试用例:user_type="basic", points=50;user_type="basic", points=150;user_type="premium",points=150;user_type="premium", points=2502. 测试用例:type="monthly", duration=3;type="monthly", duration=9;type="annual", duration=9;type="annual", duration=15。
白盒测试用例练习1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。
void DoWork (int x,int y,int z){int k=0,j=0;if ( (x>3)&&(z<10) ){ k=x*y-1;j=sqrt(k); //语句块1}if ( (x==4)||(y>5) ){j=x*y+10;} //语句块2j=j%3; //语句块3}由这个流程图可以看出,该程序模块有4条不同的路径:P1:(a-c-e) P2:(a-c-d)P3:(a-b-e) P4:(a-b-d)将里面的判定条件和过程记录如下:判定条件M={x>3 and z<10}判定条件N={x=4 or y>5}1、语句覆盖2、判定覆盖也可以让测试用例测试路径P2和P3。
相应的两组输入数据如下:3、条件覆盖对于M:x>3取真时T1,取假时F1;z<10取真时T2,取假时F2;对于N:x=4取真时T3,取假时F3;y>5取真时T4,取假时F4。
条件:x>3,z<10,x=4,y>5条件:x<=3,z>=10,x!=4,y<=55、组合覆盖条件组合1)x>3,z<10 2)x>3,z>=103) x<=3,z<10 4)x<=3,z>=105)x=4,y>5 6)x=4,y<=56题目二:三角形问题在三角形计算中,要求输入三角型的三个边长:A、B 和C。
当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。
画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。
一、核心程序代码/** 判断三角形的类*/public class TriangleTestMethod {/** 判断三角形的种类。
测试用例撰写练习题测试用例撰写练习题在软件开发过程中,测试用例的编写是非常重要的一环。
通过编写全面且有效的测试用例,可以帮助开发人员发现和修复软件中的缺陷,提高软件的质量。
本文将通过一些练习题来帮助读者提高测试用例的撰写能力。
练习一:登录功能测试用例假设我们正在开发一个电子商务网站,需要对登录功能进行测试。
请根据以下要求编写测试用例。
1. 正确的用户名和密码,登录成功。
2. 错误的用户名和密码,登录失败。
3. 不输入用户名和密码,点击登录按钮,登录失败。
4. 输入正确的用户名,不输入密码,点击登录按钮,登录失败。
5. 输入正确的密码,不输入用户名,点击登录按钮,登录失败。
6. 输入正确的用户名和密码,但是验证码错误,登录失败。
练习二:注册功能测试用例继续以电子商务网站为例,现在需要对注册功能进行测试。
请根据以下要求编写测试用例。
1. 输入有效的用户名、密码和确认密码,注册成功。
2. 输入已存在的用户名、密码和确认密码,注册失败。
3. 输入有效的用户名,不输入密码和确认密码,注册失败。
4. 输入有效的密码,不输入用户名和确认密码,注册失败。
5. 输入有效的确认密码,不输入用户名和密码,注册失败。
6. 输入有效的用户名、密码和确认密码,但是验证码错误,注册失败。
练习三:购物车功能测试用例购物车功能是电子商务网站中非常重要的一部分。
请根据以下要求编写测试用例。
1. 添加商品到购物车,购物车中显示正确的商品信息。
2. 添加多个商品到购物车,购物车中显示正确的商品数量。
3. 添加商品到购物车后,修改商品数量,购物车中显示正确的商品数量和总价。
4. 删除购物车中的商品,购物车中不再显示该商品。
5. 添加商品到购物车后,点击结算按钮,跳转到正确的结算页面。
练习四:搜索功能测试用例搜索功能是电子商务网站中用户常用的功能之一。
请根据以下要求编写测试用例。
1. 输入有效的关键词,点击搜索按钮,显示正确的搜索结果。
2. 输入无效的关键词,点击搜索按钮,显示无搜索结果。
第3章测试用例设计
一、选择题
1.测试设计员的职责有:。
①制定测试计划②设计测试用例③设计测试过程、脚本④评估测试活动
A: ①④B: ②③C:①③D:以上都是
2.方法根据输出对输入的依赖关系设计测试用例。
A、路经测试
B、等价类
C、因果图
D、边界值
3.对于业务流清晰的关系系统可以利用贯穿整个测试用例设计过程广
在用例中综合使用各种测试方法,对于参数配置类的软件,要用选择较少的组合方式达到最佳效果,如果程序的功能说明中含有含有输入条件的组合情,则一开始就可以选用
和判定表驱动法。
等价类划分B、因果图法C、正交实验法D、场景法
一、填空题
1.软件测试按照不同的划分方法,有不同的分类:
1)按照软件的测试用例的设计方法二论,软件测试可分为_________
和。
2)从是否执行程序的策略和过程来分类,软件测试可分为__________
和。
3)按照软件测试的策略和过程来分类,软件测试可分
为、、、和。
2.一个文本框要求输入6为数字密码,且对每个账户每次只允许出闲三次输入
错误,对此文本框进行测试设计的等价区间有:;;。
二、简答题
1.白盒测试有几种方法
2.请设计一个关于ATM自动提款机的测试用例。
作业1:某程序实现如下功能:输入三个整数A、B、C,输出以A、B、C为三边的三角形面积(1<A、B、C<100)。
请运用等价类和边界值的方法,编写测试用例。
作业2:假定一台ATM取款机允许提取的增量为50元,总额为从50元到5000元不等的现金,并要求一次最多取2000元,一天最多取5000元,一天最多取3次,请运用等价类和边界值的思想编写测试用例。
答:用例编号输入数据预期结果1 一次取50元提取成功2 一次取2000元提取成功3 一次取20元提取失败4 一次取2050 提示一次最大取20005 取三次2000+2000+1000 提取成功作业3:需求分析题,设计测试用例:银行系统:有两个普通窗口A,B和一个VIP窗口,每个窗口只能发放10个号。
A.没有持有VIP的客户只能在普通窗口A,B办理业务。
B.VIP客户优先安排在VIP窗口办理业务,如果VIP窗口不能再发放号码,则到普通窗口A办理。
C.对公业务只能在普通窗口A办理(办理业务的时间是星期一到星期六)。
D.其他业务在普通窗口A,B办理。
E.在分配时优先考虑人数最少的窗口作业4:编写163邮箱注册模块的测试用例(假设没有重复的用户名),条件如图所示。
测试用例如下:用例编写测试步骤输入数据预期结果1 输入用户名,密码和确认密码用户名:a09.-_z密码:123456确认密码:123456注册成功2 输入用户名,密码和确认密码用户名:aaO0密码:123456确认密码:123456注册成功3 输入用户名,密码和确认密码用户名:0Oaa密码:123456确认密码:123456注册成功4 输入用户名,密码和确认密码用户名:aaaa密码:123456确认密码:123456注册成功5 输入用户名,密码和确认密码用户名:aaaaaaaaaaaaaaaaaa(18个)密码:123456确认密码:123456注册成功6 输入用户名,密码和确认密码用户名:bbbb密码:az09.@确认密码:az09.@注册成功7 输入用户名,密码和确认密码用户名:bbbb密码:abcedf0123456789确认密码:abcedf0123456789注册成功请为下面的程序设计用例:该程序有三个输入变量month、day、year(month、day、year均为整数值,并且满足:1≦month≦12和1≦day≦31),分别作为输入日期的月份、日期、年份,通过程序可以输出该输入日期在日历上后面的隔一天的日期。