测试思想-测试设计 史上最详细测试用例设计实践总结 Part1

简介: 测试思想-测试设计 史上最详细测试用例设计实践总结 Part1

史上最详细测试用例设计实践


步骤1:用例划分

1.按系统模块划分

2.按性质分类划分

3.按关联紧密程度划分

 

1.按系统模块划分

一般设计比较好的系统软件,都会把功能进行分类,并以模块的方式布局在用户界面上,如图:【目标管理】,【课程管理】,【学员管理】,大模块下再分小模块,比如【课程管理】模块又分【课程列表】,【项目资源管理】。

 


用例划分:针对每个模块、子模块或子模块的模块设计用例

优点:容易展开,简单明了

缺点:

1.业务逻辑容易被忽视。模块与模块之间往往是关联的。

2.容易忽略非UI功能的测试,比如安装测试

 

举例:数据库审计系统,【规则模块】,【对象模块】

【规则模块】:存放规则,比如操作表名xx的规则

【对象模块】:存放对象,比如表名对象,操作方式对象

 

关联:规则引用对象

业务流程:客户操作->产生浏览数据->系统捕获数据->检测操作对象与规则引用的对象->如果对象匹配则触发规则并执行规则中指定的动作

 

单独测两个模块可能都没问题,但是结合起来,在【对象模块】中把【规则模块】中规则正在引用的对象删除,那结果会咋样?难说吧

 

2.按性质分类划分

用例划分:兼容性测试,压力测试,安装测试,容量测试,可靠性

好处:对按模块划分的有效补充。

 

3.按关联紧密程度划分

用例划分:也是按模块划分,区别是把关联比较紧密的模块归到某个模块

好处:有利于任务分配,减少人力资源的重复投入

 

举例:手机在线教育APP应用,打开应用有我的课程,我的笔记,我的问题等模块,其中,我的笔记,笔记记录来自课程模块,观看课件学习时进行提交的。

如果按模块来,测试我的笔记的人需要去观看课件并提交笔记,而测试课件观看的人又要测提交笔记,很明显的,提交笔记重复投入了劳力。如果把提交笔记归到我的笔记模块,这样按模块分配用例,分配给同一个人去测,这就减少了交叉,减少重复的劳动

 

步骤2:用例设计

1、设计思想

2、用例编写

 

1、设计思想

a)测试点来源与定位

来源

测试点来源:一、显式需求二、隐式需求。一个需求点可以对应多个测试点

 

位测试点

测试点其实也就是测试目的。用例定义了怎么测,而测试点则定义了为何测,所以,设计前必须明白测试点是什么,且一个用例仅对应一个测试点。

 

理由:便于统计,测试用例对整个测试过程的质量控制和评估有很重要的意义:

一、测试需求覆盖率分析。如果一个用例包含几个测试点,那么不利于需求覆盖分析

二、用例成功率分析。一个用例中有多个测试点,肯定会造成用例数量减少,用例失败率大大增多,那么你做的用例成功率还有什么意义?

三、缺陷分析。如果用例失败了,就生成一个缺陷。如果一个用例中写了多个测试点,回归的时候如果有指定回归用例,那用例中那些些与缺陷不相关的测试点也可能也被回归,增加工作量。

 

以下3点想法帮助你更好的定位测试点

1.站在用户使用角度来考虑,看你定位的测试点是否有实际意义

2.考虑你定位的测试点的完成能否标志着用户实际业务流程的一个阶段性结束?

3.考虑你定位的测试点的完成,是否可以为其他用户或业务提供输入数据,以供完成下面的工作?

综合2-3点:划清界线,点到即止

 

例子:QQ邮箱注册

 

如上图,单独把任意一个选框拿出来并为其设计一个用例,站在用户角度来看,都无实际意义。用户关注的是我填写完资料并点击注册,能生成一个可用帐号,为登录功能提供输入数据。所以设计用例时,这里的测试目的应该定位为帐号注册,而不是某个选框的特性测试。那输入框的特性,比如上述咋办?这个就是方法问题了, 类似这样的,可以考虑用场景法来设计。

 

举例:音乐台音乐短片扑克牌花式技巧演示"五个窍门视频播放

 

 

操作流程:点击扑克牌花式技巧演示"五个窍门视频连接,自动打开视频播放界面,边缓冲,以边播放,播放完成,出现上述界面,给出重播按钮提示。

不考虑试测试点粒度和分割(1条用例)

1.点击视频连接--打开视频播放界面

2.查看打开的播放器界面--一边进行视频缓冲,一边自动播放缓冲好的视频部分

3.等待播放结束,查看播放器界面--出现重播按钮和推荐短片

4.点击重播按钮--重新播放已缓冲完成的视频

 

考虑试测试点粒度和分割(2条用例)

用例1:在线视频播放功能

1.点击视频连接--打开视频播放界面

2.查看打开的播放器界面--视频以边缓冲,一边自动播放

3.等待播放结束,查看播放器界面--出现重播按钮和推荐短片

 

用例2:视频重播功能

1.打开视频进行播放直到播放结束,查看播放器界面--出现重播按钮和推荐短片

2.点击重播按钮--重新播放打开的视频

这里用例操作过程似乎有点冗余,但是从测试目的考虑是允许的:对用例2来说,步骤1可看成是为测试重播而必须经过的一条路线,不是测试重点,而对用例1而言,用例2中的步骤1则是测试重点。进一步,结束播放时的画面还有推荐视频。对这个设计用例,模仿用例2也显得很容易,思路清晰。

 

举例:在线教育系统,手机端离线视频学习

操作流程:网络连接下,下载课件视频,网络断开下,查看打开视频学习,提交离线笔记,新增待同步学识记录。网络连接,点击同步学识记录按钮进行服务端与手机端的同步。

从以上3点想法来考虑,可定位以下两个测试点:

1.保存离线笔记

2.同步离线笔记

 

可能有人会觉得,以上2个测试点也可以合并在一起。对的,但是你再结合一个用例对应一个测试点就好理解为何不合并了。

备注:用例是死的,人是活的,例中所举的例子都存在一定的冗余,执行的时候可以考虑执适当的用例执行顺序来减少操作冗余。

 

举例:教师端学员信息修改

 

点击修改,弹出修改界面,继续点击单位,出现如图界面

 

点击修改界面中的【单位】设置框,弹出的是一个单位搜索和选择对话框,如果不独立出来,对搜索框的准确性验证也加到修改功能的用例里,用例会显得庞大,而且测试点不单一,咋办?

单独出来,目的就是对其搜索或展示数据(单位)准确性,找不到单位联系客服等功能验证,比如,是否错乱,是否少了等进行验证,是有意义的,因为这个测试点的输出数据为这个资料修改模块提供了输入数据,使其可往下执行。而修改中则仅关注单位选择作用。

 

b分离测试数据与测试逻辑(步骤)

方法:将用例中的一些输入、输出等作为参数,数据则单独列出,在执行时选择相应的数据执行。

理由:为什么要参数化?

a、没有将测试数据和测试逻辑分开的测试用例可能显得非常庞大,不利于测试员理解,导致难以控制和执行;

b、通过将用例参数化,可以简化用例,使测试用例逻辑清晰,数据不逻辑的关系明了,易于理解;

c、有利于提高测试用例的重用;

选择参数化内容

测试用例中需要通过使用不同数据来重复执行测试的部分;

包括:

a、输入(数据或操作等)

b、输出(结果数据或预期结果等)

举例

例一:系统登陆

 


 

测试数据

 

 

 

当然,这里的案例也存在不妥的地方,也就说包含了多个测试点,另外,要是再加个验证码,那就更不妥了。。。

 

c)依据业务逻辑进行设计

(关于业务逻辑的详细说明可参考另一文档)

举例说明什么是业务逻辑:

网上购物

业务流程:用户登录-选择商品-结算-下订单-付款-确认收货,这是一个流程

业务规则:当用户下单付款后必须通知卖家,有顾客光临

业务实体:订单信息,包含购买物品,买家,金额等

业务实体完整性:如:订单信息中,买家不可少,物品id不能为空

根据上述,可以得出优先级:业务流程>业务规则>实体完整性

当然这顺序不是绝对的。

 

思想:

根据80/20原则,百分之80的用户只使用了产品20%的核心功能,测试要多站在用户角度进行模拟测试,有些测试站在测试的角度看是有意义的,站在用户的角度看却没多大意义,因为有些类似边界值的数据用户极少或根本不会用。(注意我这里的用词),所以要保证基本的核心功能可用。这样写出来的用例优先级也比较好分,一目了然

目录
相关文章
|
2月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
72 4
|
2月前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
13天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
47 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
2月前
|
测试技术 Python
探索软件测试的深度与广度:从理论到实践
在数字化时代,软件已成为我们生活中不可或缺的一部分。随着技术的不断进步和用户需求的多样化,确保软件质量变得尤为重要。本文将深入浅出地介绍软件测试的核心概念、类型及其在软件开发生命周期中的重要性。我们将通过实际案例,展示如何实施有效的测试策略,并探讨自动化测试的未来趋势,旨在为读者提供一套完整的软件测试知识体系,帮助提升软件质量和开发效率。
|
2月前
|
测试技术 Python
探索软件测试的奥秘:从理论到实践
在软件开发的宇宙中,软件测试犹如一颗璀璨的星辰,指引着质量的方向。本文将带你穿梭于软件测试的理论与实践之间,揭示其内在的逻辑和魅力。从测试的重要性出发,我们将探讨不同类型的测试方法,并通过实际案例分析,深入理解测试用例的设计和应用。最后,我们将通过一个代码示例,展示如何将理论知识转化为实际操作,确保软件质量的同时,也提升你的测试技能。让我们一起踏上这段探索之旅,发现软件测试的无限可能。
|
2月前
|
jenkins 测试技术 持续交付
自动化测试框架的搭建与实践
在软件开发领域,自动化测试是提升开发效率、确保软件质量的关键手段。本文将引导读者理解自动化测试的重要性,并介绍如何搭建一个基本的自动化测试框架。通过具体示例和步骤,我们将探索如何有效实施自动化测试策略,以实现软件开发流程的优化。
116 7
|
2月前
|
测试技术
探索软件测试的奥秘:从理论到实践
本文深入探讨了软件测试的基本概念、重要性、主要类型以及实施策略。通过分析不同测试阶段和相应的测试方法,文章旨在为读者提供一套完整的软件测试知识体系,帮助他们更好地理解和应用测试技术,确保软件产品的质量和可靠性。
87 4
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
智能化软件测试:AI驱动的自动化测试策略与实践####
本文深入探讨了人工智能(AI)在软件测试领域的创新应用,通过分析AI技术如何优化测试流程、提升测试效率及质量,阐述了智能化软件测试的核心价值。文章首先概述了传统软件测试面临的挑战,随后详细介绍了AI驱动的自动化测试工具与框架,包括自然语言处理(NLP)、机器学习(ML)算法在缺陷预测、测试用例生成及自动化回归测试中的应用实例。最后,文章展望了智能化软件测试的未来发展趋势,强调了持续学习与适应能力对于保持测试策略有效性的重要性。 ####
|
3月前
|
敏捷开发 Devops 测试技术
探索自动化测试之美:从理论到实践
在软件开发的海洋中,自动化测试犹如一座灯塔,指引着项目向着质量和效率的彼岸。本文将扬帆起航,从自动化测试的意义出发,穿越工具选择的海域,停靠在实战演练的岛屿,最终抵达持续集成的港湾。我们将通过一个具体的代码示例,体验自动化测试的魅力,并分享如何将这些实践应用到日常的软件质量保证过程中。
|
3月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
99 2

热门文章

最新文章

  • 1
    使用ChatGPT生成登录产品代码的测试用例和测试脚本
  • 2
    通过ChatGPT生成测试用例和测试脚本(2)
  • 3
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
  • 4
    3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
  • 5
    Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
  • 6
    基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
  • 7
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 8
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 9
    「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
  • 10
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡