软件测试基础3.18
你会设计几条设计用例 每条测试用例的具体内容是什么?
梳理需求文档 的三种方式:
1、先去梳理需求当中的流程逻辑 2、 梳理本次需求和之前 需求是否有很大的冲突 3、讨论所存在的疑问点
每个数字核对逻辑关系 :(数量*单价 ) 每个测试用例是一个场景
不同的月份 月份 28天 30天 31天 当天 ----涉及到条线图和月份的至少需要4个测试用例 上下文字和图是保持一致 (日历和条线图需要的测试用例)
等价类:有效数据和无效数据
边界值 :(由于等价类没有考虑到边界值得一个现象 所有就有了边界值的一个测试方法 )就是对等价类测试方法的一种补充。
因果图
正交实验分解法 : 有代表性的数据进行测试 (因果图结合排列组合设计出来的测试用例的个数是无限扩张的,但是测试资源是有限的,所以在这个情况下,只需要选择有代表性的数据进行测试,这就是正交实验分解法解决了问题。)
错误推测方法:
1、定义:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例测试用例的方法。
它的逻辑一般是 假设 验证 结论来验证假设是否正确
针对电商类的产品(上下滑动组件):
打开首页后,只加载能够看见的资源信息,随着往下滑动的过程中,资源都会加载出来,这个过程可能会出现页面卡住或者卡死。
针对翻页的组件:
只展示当前页面的数据,后面的数据是随着翻页的过程中逐步加载的,那么可能就会出现页面卡死或者卡住。
针对上传文件组件:
上传1G的文件,那么可能就会导致上传的问题缺失,或者文件上传成功后,文件内容是乱码,还有可能是出现内存泄露。(OutOfMemory --->OOM)
针对底层服务:
1、超时 2、堵塞 3、 假死
判定表:
判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,因此,利用判定表能够设计出完成的测试用例集合。
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。
判定表通常由4个部分组成
1、条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要
2、动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3、条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
4、动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。
在京东上 搜索 “python自动化测试实战” 职位 列出测试它的判定表:
1、关键字(即 书名):python自动化测试实战
2、作者名:
3、出版社:
4、图书类别:
5、价格范围:
项目管理:
项目管理工具 用的是腾讯TAPD
jira 30% 复杂度比较高
腾讯TAPD的演示过程:通过面板的模式
编写测试职位搜索 当前
打开面板看任务 拖到进行中 然后工作 工作完了 就拖到已完成
面试问题:
1、你们公司用的是什么项目管理工具 ?
jira不好用 用的是 TAPD
2、这个工具你可不可以举例说明下?
给我分配了一个tese 我早上来的时候我把这个test 拖到进行中 晚上下班的时候完成了这个任务 我把这个任务再拖到已完成
测试用例:
场景设计方法:
这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同事使测试用例更容易理解和执行。
求职者求职岗位:
开始:被招聘者上架招聘需求
过程:求职搜索职位,与被招聘者沟通职位信息
结束:职位下架,改职位搜索不到。
toC用户购买商品:
开始:商家上架所售卖产品
过程:消费者搜索所需要的产品,与商家沟通具体的产品信息,点击购买
结束:产品下架 该产品搜索不到。
一个程序的功能说明通常由动态说明和静态说明组成,动态说明描述了输入数据的次序或转移的次序,静态说明描述了输入条件与输出条件之间的对应关系,对于复杂的程序,由于存在大量的组合情况,因此,仅用静态说明组成的规格说明对于软件测试来说往往是不够的,必须用动态说明来补充功能说明,功能图方法是用功能图FD形式化地表示程序的功能说明,并机械地生成功能图的测试用例。
测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。功能图方法其实是一种黑盒白盒混合用例设计方法。
产品测试,快速建立全局思维:
1、使用场景设计方法快速梳理出被测产品的核心业务逻辑
2、使用判定表驱动分析方法列出流程中可能的逻辑判断条件,使用功能出列出产品的输入输出,完善每个不同条件下的业务场景
比如拿电商产品的商品上架为例:
1、上架审核通过,那么就可以搜索购买
2、审核拒绝,商品搜索不到
3、库存为0,商品未下架
白盒测试,根据不同编程语言有对应的测试框架,如Java里面的Junit和TestNG框架,Python里面的UnitTest和Pytest测试框架。
测试内容:模块接口测试,程序内部逻辑,路径分支测试,局部数据结构测试,错误处理测试,边界测试。
单元测试、说的直接简单点就是软件最小粒度的测试
集成测试: 测试对象:模块间的接口
端到端的测试,end to end
时间大部分在系统测试执行阶段来验证被测程序的整体性功能。
在互联网公司中,验收测试是测试团队在某一个版本测试完成后,发送验收测试邮件,由产品团队进行的一种测试行为,产品参与验收测试的目的主要是验证界面UI的布局展示,产品的交互以及交互逻辑是否满足对方设计的需求,经过产品验收测试完成后,会开始走上线的OA流程。
这些测试就是包含了针对程序判断逻辑,判断分析,判断循环,判断流程走向的测试。
灰盒测试是介于白盒测试和黑盒测试之间的一种测试,对测试的能力要求是能够进行很好的业务测试,也能够使用代码对程序员的代码进行测试,同事能够参与代码的评审和代码检查。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)