• 0
  • 0
分享
  • 软件测试人员一定要会的用例设计思路——软件测试圈
  • 曼倩诙谐 2023-03-22 10:50:11 字数 1657 阅读 1079 收藏 0

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

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

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

  一、什么是测试用例?

  百科的释义:

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

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

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

  1、指导测试工作的进行

  测试用例可以把产品需求转换为可操作的步骤【步骤、操作、输入、输出、优先级等】,从而指导测试人员按部进行测试。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  从左到右,由上而下:

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

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

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

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

  从外到内,由点及面:

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

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

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

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

  常见的编写测试用例的工具有Excel和Xmin,相应的模板,供参考:

1-1.png

EXCEL用例模板

1-2.jpg

Xmind用例模板


作者:喵说测试    

来源:http://www.51testing.com/html/98/n-7793898.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言小伙伴们,好久不见呀,今天呢笔者想和大家聊聊postman参数化,在接口测试中,部分参数每次发送请求是唯一的数值,这时可以采用把测试数据参数化处理的方式实现,postman参数化的形式主要有三种。1、内置变量实现内建变量为postman自带的系统变量,但是不能进行精确化的对比Variable NameDescriptionExamples{{$guid}}添加一个V4风格的GUID“611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”{{$timestamp}}添加当前的时间戳,精确到秒1562757107 , 1562757108 , 1562757109{{$ra...
            0 0 4235
            分享
          • 读者提问:明天项目要上线,开发任务还没提测,甚至还没开始联调,作为测试心里特别慌,我该怎么办 ?问题背景:我们产品直接拍板了,跟客户做了保证,xx时候一定可以完成上线。但两个业务并行,时间很紧张,开发分身乏术。开发人均要同时支撑两个业务,所以出现了明天要上线的任务,到今天下班时还没提测,开发评估要明天下午才能联调完。阿常回答:明天要上线的任务,明天下午才能提测,作为测试肯定很慌。客观既定事实没法改变,我们只能寻找问题解决方案,推进项目可交付质量。采取措施:1、和产品对齐可交付质量的最低标准。2、用例划分优先级,先保证基本功能。3、提前准备好测试环境,清理脏数据。今后改进:1、产研测一起商定项目...
            0 0 1219
            分享
          • 作为一名测试人,掌握数据库常用的操作不可缺少,下面就一段mysql 查询语句梳理几个相关语法知识。 本篇文章主要包括两方面内容常用的sql语法开发代码中如何和sql进行关联案例代码` select a.blastid,d.apptime,a.charge_approve,             a.blast_batch,            ...
            0 0 1680
            分享
          • 前后端差点打起来事情是这样的:今天我们公司的后端说他接口写完了,并分享了一个接口文档给我。用的就是 Swagger UI 自动生成的那种接口文档,就像这种:这种 Swagger 文档我每次看着就头大,毛病多多:查看多级模型时要一级级点开在接口数量变多的时候非常难用,连分类菜单都没有提交参数为 JSON 的时候不能格式化参数出错的时候查找麻烦返回结果不能折叠,长得没法看时间比较紧急,我就按照他给的文档里的参数与响应数据,写到了我的前端页面上,前端这边简单自测了一下就匆匆上线了。上线完当晚就炸了。。页面上各种接口报错:参数不存在参数类型错误接口不存在(是因为接口写错了)老大马上过来找我俩,但是前后...
            4 4 825
            分享
          • 本文所用到的案例:图一为登录首页,当输入用户名和密码后,点击【登录】按钮,如果用户名密码正确进入图三登录成功页面,否则弹出错误消息;点击【进行注册】按钮进入图二进行注册;点击【清除】按钮,清除数据库中的所有数据,这个按钮是为测试而临时设置的,正式产品中将会取消。图二为注册页,当输入用户名和密码后,点击【注册】按钮,当输入的用户名在数据库中不存在,注册成功,返回图一的登录页面,否则弹出错误消息。图三为登录成功页,当在图一中输入正确的用户名和密码后,进入这个页面,这里的"Hello world"将变为"Welcome "+用户名。正文部分谈起软件自动化测试,...
            0 1 2422
            分享
      • 51testing软件测试圈微信