技术标签: 测试用例 bug 测试 可用性测试 功能测试 测试工具
提 Bug 就是要开发人员进行问题的解决 (1. 尝试复现 2. 代码修复)
创建 Bug 的要素:问题出现的版本、问题出现的环境、出现步骤、预期结果、实际结果等
Bug 存在不同的严重级别
不同的 Bug 等级,惩罚机制不一样
不同的 Bug 等级,也跟开发人员的开发质量能力有直接关系
严重级别:崩溃、严重、一般、次要(具体的级别数量,要看当前公司的规范)
Blocker(崩溃):阻塞开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,数据库连接错 误,主要功能丧失,基本模块缺失等问题
Critical(严重):系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等
Major(一般):功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性
Minor(次要):界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等
测试人员在执行测试的过程中,如有发现 Bug,需要在对应的 Bug 管理平台来创建 Bug
假如有一个水杯,如何针对这个水杯来设计测试用例
水杯是否保温、能够盛放多少毫升的水、水杯是否漏水、是否易于携带、有没有问题显示功能、是否抗衰…
如果仅仅通过简单直接的思考来设计测试用例,用例是比较少的
原则上用例的设计不仅要考虑其实现了其应该实现的,还要考虑其未实现其不应该实现的
那么测试用例是否是设计的越多越好?
工作中,测试用例能够更多的覆盖项目测试为最好
面试的时候测试用例设计的越多越好,主要就是面试时考察的是设计测试用例的能力,思维发散能力
万能公式:功能测试 + 性能测试 + 界面测试 + 兼容性测试 + 易用性测试 + 安全测试
功能测试:可能来自于需求文档,也可能来自生活经验
性能测试:功能没有问题不代表性能一定是好的,性能往往表现在一些极端情况下
界面测试:颜色、形状、大小、材质、文字、输入框、图片、下拉框… 所有可以看到的元素
兼容性测试:浏览器的兼容性、版本兼容性、系统兼容性、数据兼容性
易用性测试:软件是否具有简单易上手的属性
安全性测试:密码是否加密,数据库里是否对隐私数据加密、SQL注入
兼容性测试中需要注意,不同的浏览器,不同的版本可能会有非常多,难道所有的版本和浏览器都需要进行测试吗,我们选型的标准是什么
用户的密码为 6~12 位,测试的时候使用到的测试数据是什么, 10位?8位?
如果使用穷举法 6,7,8,9…12 全部都测试一遍,这样可以,但是如果把密码位数改为 6~1000位,那么穷举法就不行了
可以根据等价类,来划分测试数据
根据需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,就认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题
等价类的划分
- 有效等价类:针对需求文档的要求是有意义的集合 (6~12位密码)
- 无效等价类:针对需求文档的要求是没有意义的集合 (小于6位,大于12位的密码)
步骤
- 确认有效等价类和无效等价类
- 编写测试用例
密码长度为 6~18 位,有效边界值为 6、18 ,无效边界值 5、19
边界值指的是 有效边界 + 无效边界
例如:成绩大于 60 可以获奖,无效边界 60,有效边界 61
数字为浮点数,6~10 有效边界值 无效边界值 到底是单精度浮点型还是双精度浮点型
使用场景:输入条件的组合对应不同的结果
- 确认输入条件和输出条件
- 找出输入条件和输出条件之间的关系
- 画判断表
- 根据判定表编写测试用例
案例:假设业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进行优惠,否则不优惠”。
1. 确认输入条件和输出条件
输入条件:红包(A)、金额大于300元(B)、订单已提交
输出条件:有优惠(1)、无优惠(2)
2. 找出输入条件和输出条件之间的关系
先确定输出条件之间的可能组合关系:A、B、C、AB、AC、BC、ABC、null
输出条件:A=2、B=2、C=2、AB=2、AC=1、BC=1、ABC=1、null=2
3. 画判断表
4. 根据判定表编写测试用例
因果图法相比于判定表法步骤差不多,只不过因果图法中多了一步叫做 “画因果图”
正交法用的比较少
正交试验设计法指从大量的试验中挑选出适量的、有代表性的点,依据 “正交表” 从而合理的设计出测试用例
地图软件,从出发地到目的地需要耗时多久
因素:下班的高峰期(水平:是高峰期、不是高峰期)、今天不限号、天气、所经路段红灯时间长、地段(城市路段/郊区)、道路施工、行驶人的驾车技能好坏、车况
如果使用判定表,那么当输入条件过多时,出现的情况太多了,那么判定表就不太合适了,这就可以使用正交表
正交表的表示L4(2^3),4代表的是4组实验(4个测试用例),3代表的因素数(3个输入条件),2代表的每个因素数对应的水平数(输入条件的可能选项)
根据正交表设计测试用例的步骤:
- 找出因素数(输入条件)和水平数(输入条件的可能选项)
- 生成正交表(需要借助生成正交表的工具:allparis)
- 根据正交表来编写测试用例
- 补充可能存在遗漏但是非常重要的测试用例
案例:
1. 找出因素 和 水平
因素:姓名、电子邮箱、密码、确认密码、验证码
水平:填写、不填写
2. 使用 allparis 生成正交表
(1)将水平和因素写入 Excel
(2)allparis 同级目录中创建一个新的 txt 文件(xxx.txt),复制 Excel 中的因素和水平,粘贴到 xxx.txt 文本中,保存(注意格式,间距)
(3)使用 allparis 工具生成正交表 (cmd)
注意:保存正交结构的文件不需要提前生成,可以是不存在的 txt 文件
打开 20230109jg.txt 文件可以看到
利用 allpairs 生成的正交跟实际的正交可能有出入,但仍然不影响我们使用 allparis 生成正交表
3. 根据正交表编写测试用例
4. 补充可能存在遗漏但是非常重要的测试用例
作用:进行思路引导
基本事件流和备选事件流
编写测试用例:
基本事件流的用例:先插卡,输入正确的密码,选择取款功能 … 退卡
备选事件流:
1)插入卡之后,卡被 ATM 卡住 … 退卡
2)插入卡之后,输入密码错误 … 退卡
…
文章浏览阅读3.5w次,点赞73次,收藏121次。Python持续霸榜,PHP依旧颓势,Java雄风不再,Rust热度不减,汇编迅速崛起,C语言地位稳固_各程序设计语言最新发展趋势
文章浏览阅读5.1k次,点赞25次,收藏22次。12月16-17日中国 · 无锡。
文章浏览阅读2.6k次。学习并记录layui框架中内置模块的数据表格模块中与列相关的主要参数设置方式。_layui表格
文章浏览阅读367次。本文将介绍如何使用IntelliJ IDEA进行远程调试Flink代码的步骤,并提供相应的源代码示例。通过使用IntelliJ IDEA进行远程调试,我们可以方便地对Flink大数据代码进行调试和排查问题。本文介绍了使用IntelliJ IDEA进行远程调试Flink代码的步骤,并提供了一个简单的WordCount示例。在IntelliJ IDEA中,点击右上角的"Debug"按钮,选择之前创建的远程调试配置。在IntelliJ IDEA中,点击"Debug"按钮启动Flink作业。步骤4:启动远程调试。_使用intellij idea进行远程调试flink大数据代码 百度快照
文章浏览阅读4.4w次,点赞57次,收藏429次。Apache服务器部署背景Apache与Nginx对比Apache的部署安装Apache的基础信息修改Apache默认配置修改默认端口修改默认发布文件修改默认发布目录Apache的虚拟主机如何配置虚拟主机排错思路Apache内部的访问控制基于IP基于用户背景百度百科:Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,..._apache部署
文章浏览阅读1.9w次。苍穹开发环境,搭建资料1、轻量级工具下载(金蝶云盘):https://pan.kingdee.com/s/MTE2MDk0Nyw5NGQ4#/2、轻量级工具安装与配置资料:https://dev.kingdee.com/index/docsNew/9fed8215-c3fb-496d-8954-bae78daf24bc学习与资源入口 https://dev.kingdee.com/index/home1、轻量级工具下载(金蝶云盘):https://pan.kingdee.com/s/MTE2._金蝶云 官网开发资料
文章浏览阅读4.8k次。Delphi-XE5-手势操作-Gestures-使用方法一、首先转载一下别人的方法介绍:今天尝试了TTabControl的使用。在很多Android的app中,首次启动时都使用选项卡模式进行产品介绍,用户通过向左滑动,改变选项卡。在xe5下这项工作由TTabControl控件完成,如下图: 1、TTabControl外观TTabContro_delphi安卓添加手势
文章浏览阅读3.9k次,点赞7次,收藏27次。cut命令_cut命令
文章浏览阅读6.1k次,点赞65次,收藏89次。什么是web3.0?web3.0和web2.0以及web1.0有什么不一样?web3.0需要哪些技术支撑?web3.0有哪些应用场景?web3.0什么时候到来?普通人有哪些机会?开发者需要掌握哪些开发技术?随着科技的飞速发展,互联网也在不断演变。从Web1.0到Web2.0,我们已经见证了互联网从单向信息传递到用户参与互动的转变。而现在,我们正站在迈向Web3.0时代的门槛上。今天本文就来探讨相关话题。_社交网络 web3.0
文章浏览阅读1.1w次。. 描述若您的模板内容明明是一页就可以显示出来,但是分页预览时却出来两页,而第二页却没有数据是空白页,原因是您的模板中有多余的空白格没有删除。这种情况可能由两种原因引起,一种是空白单元格导致使其有多余的空白页,另外一种情况是制作的模板中有多余的空白sheet。2.问题的原因2.1空白单元格导致使其有多余的空白页示例:如:如下您在 H2 单元格填上数据并设置格式后,删除该..._帆软打印出现空白页
文章浏览阅读3.6w次。1、只有水平滚动条: //auto、yesindex.html中:body{overflow-y:hidden;} //隐藏了垂直的2、只有垂直滚动条: //auto、yesindex.html中:body{overflow-x:hidden;} //隐藏了水平的3、水平、垂直都没有: //auto、yesindex.html中:body{o_iframe无滚动条
文章浏览阅读10w+次,点赞1.2k次,收藏7.6k次。JavaWebJava Web1、基本概念web开发:·web,网页的意思,www.baidu.com·静态web。html,sss。提供给所有人看的数据始终不会发生变化!动态web。淘宝,几乎是所有的网站;。提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!。技术栈:Servlet/ISP,ASP,PHP..._狂神说jav