测试用例撰写练习题汇总
- 格式: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 在所有测试前调用,整个测试过程中只被调用一次,初始化测试资源。
测试用例测试题
以下是一份简单的测试用例,以及相应的测试题,以供参考:
测试用例:检查一个计算器程序的基本运算功能
测试题:
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:现在有⼀个档案管理系统,容许⽤户通过输⼊年⽉对档案⽂件进⾏检索,系统对查询条件年⽉的输⼊限定为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. 在进行软件测试时,以下哪个不是常用的测试用例设计方法?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.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。
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;} //语句块2 j=j%3; //语句块3 }a Y cN be YN dx>3 and z<10 x=4 or y>5 j=j%3 j=x*y+10k=x*y-1j=sqrt(k)k=0j=0由这个流程图可以看出,该程序模块有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、语句覆盖测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e)2、判定覆盖p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。
测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e)x=2,z=11,y=5 k=0,j=0 F F P4(a-b-d)也可以让测试用例测试路径P2和P3。
相应的两组输入数据如下:测试用例输入输出判定M的取值判定N的取值覆盖路径x=5,z=5,y=4 k=19,j=sqrt(19)%3 T F P2(a-c-d) x=4,z=11,y=6 k=0,j=1 F T P3(a-b-e)3、条件覆盖对于M:x>3取真时T1,取假时F1;z<10取真时T2,取假时F2;对于N:x=4取真时T3,取假时F3;y>5取真时T4,取假时F4。
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结构的登录功能点位被测对象, 该测试用例为黑盒测试用例。
测试用例设计题目
题目:登录系统
要求:
设计几个测试用例来测试一个登录系统的功能。
登录系统要求用户输入正确的用户名和密码才能成功登录,用户最多可以尝试5次登录,超过次数后将锁定账号,需要通过找回密码的流程来解锁账号。
测试用例:
1. 输入正确的用户名和密码,验证登录是否成功。
2. 输入错误的用户名和密码,验证登录是否失败。
3. 连续输入错误的用户名和密码5次,验证登录是否失败,并且账号是否锁定。
4. 使用正确的用户名和密码登录成功后,再次尝试使用错误的用户名和密码登录,验证登录是否失败并且账号是否保持解锁状态。
5. 使用正确的用户名和密码登录成功后,输入错误的用户名和密码4次,然后使用正确的用户名和密码登录,验证登录是否成功,并且账号是否锁定。
6. 使用正确的用户名和密码登录成功后,更改密码,然后使用旧密码登录,验证登录是否失败。
7. 使用正确的用户名和密码登录成功后,尝试找回密码流程,然后使用新密码登录,验证登录是否成功。
8. 输入用户名为空,验证登录是否失败。
9. 输入密码为空,验证登录是否失败。
10. 输入用户名和密码均为空,验证登录是否失败。
备注:以上测试用例是基于常规功能设计的,还可以根据实际业务需求和用户使用习惯进行进一步扩展和设计。
TDD练习题一、单元测试基础1. 编写一个测试用例,验证一个整数加法函数的结果。
2. 设计一个测试用例,确保一个字符串反转函数正确处理空字符串。
3. 编写一个测试用例,测试一个列表去重函数,确保去重后的列表长度正确。
4. 设计一个测试用例,验证一个日期格式化函数,确保日期格式符合预期。
5. 编写一个测试用例,测试一个数字判断奇偶性的函数,确保结果正确。
二、测试驱动开发(TDD)1. 设计一个TDD测试用例,实现一个计算两个整数乘积的函数。
2. 编写一个TDD测试用例,实现一个判断字符串是否为回文的函数。
3. 设计一个TDD测试用例,实现一个计算字符串中单词数量的函数。
4. 编写一个TDD测试用例,实现一个判断一个整数是否为素数的函数。
5. 设计一个TDD测试用例,实现一个计算两个整数最大公约数的函数。
三、测试框架1. 使用JUnit编写一个测试用例,验证一个整数减法函数的结果。
2. 使用pytest编写一个测试用例,测试一个字符串查找子串的函数。
3. 使用Mocha编写一个测试用例,测试一个数组排序函数。
4. 使用NUnit编写一个测试用例,验证一个日期计算函数,确保计算结果正确。
5. 使用Jest编写一个测试用例,测试一个字符串长度计算函数。
四、测试策略1. 设计一个测试策略,确保一个电商平台的购物车功能正常。
2. 编写一个测试策略,测试一个在线支付系统的支付流程。
3. 设计一个测试策略,确保一个社交媒体平台的用户注册功能正常。
4. 编写一个测试策略,测试一个在线教育的课程管理系统。
5. 设计一个测试策略,确保一个企业资源规划(ERP)系统的库存管理功能正常。
五、测试自动化1. 使用Selenium编写一个自动化测试脚本,测试一个电商平台的搜索功能。
2. 编写一个自动化测试脚本,测试一个在线支付系统的支付页面。
3. 使用Cypress编写一个自动化测试脚本,测试一个社交媒体平台的登录功能。
4. 使用Robot Framework编写一个自动化测试脚本,测试一个企业资源规划(ERP)系统的用户管理功能。
1.等价类1.1.年龄注册某页面要求填写年龄字段,输入为1-150之间的正整数。
1、需求分析输入条件:正整数1-1502、划分等价类3、用例设计1.2.变量命名在某一版的编程语言中对变量名称规格作如下规定:变量名称是由字母开头的,后跟字母或者数字的任意组合构成,并且区分字母大小写。
编译器能够区分的有效字符数为8个,并且变量名称必须先声明,后使用,在同一声明语句中,变量名称至少必须有一个。
1、需求分析1、字母开头2、字母、数字组合3、区分大小写4、长度:[1,8]5、先声明,后使用6、在同一声明语句中,变量名称至少必须有一个7、不能使用关键字;(关键字包括:)8、作用域的重名问题1.3.三角形输入三角形三边应为正整数,分别构成非三角形、一般三角形、等腰三角形和等边三角形。
1、需求分析:1、正整数2、两边之和大于第三边3、两边相等4、三边相等2、等价类设计用例2.边界值 2.1.保险年龄某保险网站的前台计算保费页面,其中有年龄字段的输入,不同的年龄段会使用不同的费率计算标准。
其中:01-15岁,费率为:10% 16-20岁,费率为:15% 21-50岁,费率为:20% 51-70岁,费率为:25%2.1.三角形输入三角形三边应为正整数[100,200],分别构成非三角形、一般三角形、等腰三角形和等边三角形。
A:上点:100、200内点:150离点:99、201其他:101、199前提:1、单缺陷假设(不考虑边界的组合15个)2、多缺陷(考虑边界值的组合53=125个)3.判定表3.1.读书选择1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去3、不觉得疲倦并且对书的内容感兴趣,但是书中的内容让你糊涂的话,回到本章重读4、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息5、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息6、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去7、不疲倦,不感兴趣,书中内容糊涂,跳到下一章去读8、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读1、需求分析条件:是否疲倦、是否感兴趣、是否糊涂结果:本章重读、继续读、停止阅读、跳到下一章2、3=8个)优点:组合充分,没有遗漏缺点:用例数量随条件的递增而过多(2n n:条件的个数)条件的类型:布尔3、合并判定表原则:结果相同条件有一个不同风险:产生分支或者路径的遗漏3.2.密码修改若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”;若旧密码不正确,则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同,则提示“新密码与验证新密码不同”,系统将不修改个人信息。