软件测试工程师一定要会的用例设计思路

职场新人对测试用例的困惑无非有以下几点

1、什么是测试用例,为什么要写测试用例?

2、不知道怎么写,写了也不知道写的是否完整。

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看 ,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

软件测试工程师大忌!盲目自学软件测试真的会毁终生,能救一个是一个......

一、什么是测试用例?

测试用例是对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。

简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。

二、为什么要设计测试用例?

1、指导测试工作的进行

测试用例可以把产品需求转换为可操作的步骤【步骤、操作、输入、输出、优先级等】,

从而指导测试人员按部进行测试。

2、验证产品的需求是否合理

产品的逻辑关系会在用例设计时得到推敲验证,从而得出相应结论。

3、帮助评审需求,补充需求细节

编写测试用例时会考虑各种正常异常测试场景【逆向思维】、数据【边界值等】以及兼容性、性能等测试,会对这些细节部分的处理进行一定的补充与完善。

4、加深测试人员对产品的认识和印象

需求评审时可能用两个小时,讲了一个需要两百个小时投入的需求。大部分内容只是泛泛的讲解一遍,真整编写用例时,测试人员对需求一句一句的解读,从而转化成可执行的用例,这个阶段才是测试对需求认识更彻底的时刻。

5、便于测试负责人跟进测试进度

负责人根据用例的多少、复杂程度来评估相应的测试用例执行工时;以测试记录来评判测试过程的输出;从而跟进相应的测试进度与输出。

6、帮助发现拓展测试范围

用例设计是可以结合测试方法,从而拓展测试范围,不局限于双眼所看到的表面内容。

7、方便回归测试,复查BUG是否还会出现

回归测试时可以根据一轮测试的结果,重点复测出问题的用例以及功能,从而避免无序、无重点的回归测试。

8、测试结果可以体现测试通过率,作为产品质量评估

可以对测试结果进行统计,统计维度可以有:用例执行率、缺陷发现率、一轮测试通过率

9、培训新人,提高新人测试效率,节省对新人的指导时间

产品指导新人可以看PRD,开发指导新人可以看代码,测试指导新人看什么呢,当然是用例了。用例作为测试人员的核心输出,也是测试人员对产品知识的。

三、如何进行测试用例设计

测试用例设计分析是一个发散的过程,我们要考虑各种各样的场景、数据。

测试用例编写是一个收敛的过程,我们要把发散的思维转化为一条一条可执行的用例。

为了避免用例冗余、多、杂乱、重复、无效等问题,通常遵循以下原则进行用例设计。

从左到右,由上而下:

元素的布局,用户的操作,都是习惯"从左到右,由上而下",设计用例时同样遵循这样的原则。

面对一个需求或一个全新的功能模块,在进行用例设计时,为了避免测试对象丢失,用例设计混乱无序,我们遵从"从左到右,由上而下"的原则。依次对看到的测试对象进行用例设计,测试点发散,最终输出完整的测试用例。

按照上述原则编写的用例,覆盖所有可测对象,基本不会出现测试对象缺失,遗漏等现象。

但容易遗漏多测试对象组合的场景以及应用型测试场景。

从外到内,由点及面:

对于测试路径较深,链路较长的测试场景,我们遵循"从外到内"的设计思路,针对每一层测试路径上的对象,逐个进行设计。

再"由点及面"将路径整合,测试对象整合,以此来丰富场景型、应用型、组合型用例。

这样,遵循上述原则设计出来的用例,就包含了每一层级上的所有测试对象、每个路径上的所有测试对象、对象与对象的组合、路径与路径的组合,相对完善的覆盖了所有可测对象。

另外,再结合头脑风暴、用例评审等手段,不断促使用例的完整性与覆盖率达到相对较高的水平。

四、总结

PS:这套软件测试的自学教程合集, 对于在测试行业发展的小伙伴们来说应该会很有帮助。全套内容已经打包到网盘,内容总量接近500个G 。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
belldeep2 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
FreakStudio4 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
丶21364 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
_.Switch5 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
搁浅°8795 小时前
spring6启用Log4j2日志
单元测试·log4j
一个闪现必杀技5 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
小鹿( ﹡ˆoˆ﹡ )6 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温6 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学6 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹6 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt