一个测试用例应该怎样去编写 测试用例设计的完整过程
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
目录
一、测试用例的基本要素
二、设计测试用例的万能公式 (在没有需求文档的情况下)
1、水杯的测试用例
2、一个网站的登录测试用例
?三、基于需求进行测试用例的设计
四、测试用例的具体设计方法(根据需求)
1、等价类
2、边界问题
3、判定表(因果图,使用场景较少)
4、场景设计法(不常见)
5、正交法(用的比较少)
🍑正交表的概念和特性
?🍑根据正交表设计测试用例
6、错误猜测法
五、面试题
六、实战测试用例:百度云盘的测试用例
1、功能需求测试?- 粗略版
2、 非功能性测试
先来回顾测试用例的概念:测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试 评价测试用例的标准:对比好坏用例的评价标准
- 用例表达清楚,无二义性。。
- 用例可操作性强。
- 用例的输入与输出明确。一条用例只有一个预期结果。
- 用例的可维护性好。
- 用例对需求的覆盖率高
测试用例的给我们带来的好处
- 测试执行者的依据
- 使得工作可重复,自动化测试的基础
- 评估需求覆盖率
- 用例的复用
- 积累测试的方法思路以供后续借鉴
测试用例的设计是费时费力的工作,往往设计测试用例所花费的时间比执行所花费的时间还多
测试用例的设计解决如下问题:
- 不知道是否较全面的测试了所有功能
- 测试的覆盖率无法衡量
- 对新版本的重复测试很难实施
- 存在大量冗余测试影响测试效率
功能测试:产品是否实现了预期的功能
性能测试:功能测试没有问题,不代表性能好(网站速度、流畅的)
界面测试:布局、每个元素的大小、颜色、材质
兼容性测试:软件的不同版本、打开网站所用的不同浏览器 不同的系统版本、数据兼容性(不同版本数据是否展示正确且相同)
易用性测试:产品是否容易上手、提升文字(登陆时)、打开软件的操作步骤提示
安全测试:产品网站系统,用户信息,页面数据展示的是是否恰当和合适 (用户的隐式数据) 登录时候是否加密 接口返回值―SQL注入 越权问题(垂直越权和水平越权):权限、管理员、普通用户
不同的角色对应不同的功能
1、功能需求测试分析
2、非功能需求测试分析
详见测试 - 用例篇 - 细节狂魔_Dark And Grey的博客-CSDN博客_测试用例实战
实际上,在企业中我们往往都是根据需求文档来编写测试用例的,下面我们就来看看设计测试用例的具体方法。
- 无效等价类
- 有效等价类
例子
登录密码要求6<=密码长度<=18
有效等价类――测试密码长度为10
无效等价类――测试密码长度为4、20
边界值――》有效边界+无效边界
还是上面的例子,测试密码长度为6、18位数的(有效边界)
无效边界为5、19长度的密码
边界是最容易出现问题的(我们程序一个不小心,就会出现边界问题)
这个时候,如果我们不测试边界的话,就会出现问题。?
使用场景比较少
使用场景:输入条件的组合对应不同的结果
判定表设计测试用例的步骤
- 确认输入条件和输出条件
- ?找到输入条件的输出条件的关系
- 画判定表
- 根据判断表编写测试用例
?🌰例子?
当订单使用了红包或优惠金额大于300元,则该订单是优惠订单,否则不是。
1、确认输入条件和输出条件
输入条件:使用红包、优惠金额大于300元、订单已提交
输出条件:优惠订单、非优惠订单
2、找到输入条件和输出条件的关系
输入条件之间的组合与输出条件的关系
所有的可能的组合情况
空――》非优惠订单
使用红包(没提交)――》非优惠订单
优惠金额大于300(没提交)――》非优惠订单
订单提交――》非优惠订单
使用红包+订单提交――》优惠订单
优惠大于300+订单提交――》优惠订单
使用红包+优惠大于300(没提交)――》非优惠订单
使用红包+优惠大于300+订单提交――》优惠订单
3、画判定表
?4、根据判定表编写测试用例
1、无红包,优惠金额小于等于300元,订单未提交,该订单为非优惠订单
2、有红包,优惠金额小于等于300元,订单未提交,该订单为非优惠订单
3、无红包,优惠金额大于300元,订单未提交,该订单为非优惠订单
4、无红包,优惠金额小于等于300元,订单提交,该订单为非优惠订单
5、有红包,优惠金额小于等于300元,订单提交,该订单为优惠订单
6、无红包,优惠金额大于300元,订单提交,该订单为优惠订单
7、有红包,优惠金额大于300元,订单未提交,该订单为非优惠订单
8、有红包,优惠金额大于300元,订单提交,该订单为优惠订单
网上大部分书籍和资料把这种方法叫做因果图,其实上面所说的判定表和所谓的因果图是很相似的 ,只不过因果图多了一步叫做 ”画因果图“ (非常难,且没有一个明确的且具体的画法)?
思路引导的作用――》告诉我们不能完全参照需求文档上写的基本流程,要尽可能多的设计可能存在的意想不到的流程
比如我们去ATM取款机过程
基本事件流(主流程)
插卡――》输入密码――》选择取款功能――》输入金额――》取钞票――》退卡
备选事件流(其他流程)
卡插不进去(插卡过程中)
密码输入错误(输入密码过程中)
选择了其他功能(选择功能过程中)
输入金额的限制(输入金额过程中)
钱出不来、钱出来了没人取(取钞票过程中)
卡退不出来、卡出来了没人取(退卡过程中)
编写测试用例
基本事件流的用例
插卡――》输入密码――》选择取款功能――》输入金额――》取钞票――》退卡
?备选事件流的用例
- 插卡――》卡插不进去――》。。。。――》退卡
- 插卡――》输入密码――》密码输入错误――》。。。――》退卡
- 插卡――》输入密码――》选择了其他功能――》。。。。――》退卡
- 插卡――》输入密码――》选择取款功能――》输入金额――》输入金额的限制――》。。。――》退卡
- 。。。。。
正交实验法指从打大量的实验中中挑选出适量的、有代表性的点,依据”正交表“从而合理的设计出测试用例。
回顾一下我们上面讲的判断表里:3个输入条件、2个输出条件,给出来8个测试用例()
那么所谓的正交表是什么呢?
下面就一个正交表的例子。
该正交表可表示为,它表示需作9次实验,最多可观察4个因素,每个因素均为3水平
实验次数好理解,但因素和水平又是什么东东?
🌰举个例子
?正交表的特性
整体步骤如下
1、找出因素数和水平数
2、生成正交表(用到了allpairs)
3、根据正交表来编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例
比如我们要针对一个网站的用户注册页面来设计一个测试用例
1、找出其中的因素和水平
因素:用户名、邮箱、密码、确认密码
水平 :填写、不填写
?2、生成正交表(用到了allpairs)
🔔注意:
我们打开这个0115jg.txt文件
?
?最终我们要用到的就是这一部分
?通过上图我们可以看到,allpairs正交表和我们实际的正交表有出入,但仍然不影响我们用allpairs生成正交表。
3、根据正交表生成测试用例
全部填写
填写用户名,不填写邮箱、密码、确认密码
填写邮箱、确认密码,不填写用户名、密码
填写密码,不填写用户名、邮箱、确认密码
填写用户名、邮箱,不填写密码确认密码
填写确认密码,不填写用户名、邮箱、密码
4、补充可能存在遗漏但是非常重要的测试用例
加一个全都不填写
注意!不是瞎猜!!!而是根据 测试人员的经验 和 知识 的 积累,来猜测某一块功能有问题。 随后,有针对性的进行测试用例的编写。
说白了:就是程序员的经验之谈。 ? 有的朋友可能就会有疑问:你觉得我像是有经验的佬嘛。。。 其实!我们是有经验的!!! 因为我们一直在使用各种 APP,打游戏,听音乐,看小说等等。。。。 我们具有使用经验,也就是用户体验软件的经验。 我们很容易就能 get 到 用户的需求有哪些,因为我们也是用户。 也就是说:我们至少拥有用户的经验。 而我们缺少的是:站在测试的角度去看待需求的经验。
错误 猜测法,有点类似于 探索性测试。
针对性比较强,比较依赖测试人员个人的水平。
🌰比如: 1、搜索查询框 - 空格 在某个 软件/网页 中,搜索关键字的时候,而且这个关键字,在服务器的数据库中是有对应的数据的。 只要我们在关键字的左右两侧敲一个空格(关键字 :“空格 + 奥特曼 + 空格”),就搜索不到。 因为这两个空格,导致原本可以搜索到的数据,现在搜索不到了。 在Java中,【【微信】】类型有一个方法 trim(),可以去除 字符串 前后的 空格。 由这个问题引申出另外一个问题:字符串中间的空格是否要去掉?
答案:不能!中间的空格,一般是用户刻意敲的,可能具有实际的意义。 而两侧的空格,可能是用户误敲的,没有实际的意义。 ?
如果面试中――面试官问测试用例是否是越多越好?
回答?
测试用例不是越多越好,测试用例是为了提高产品的质量、提升用户的使用效果和体验。
测试本身是有时间、精力、资金成本的
但如果是面试官让你就某一事物来设计测试用例,这个时候你设计的测试用例越多越好
经典面试题目
一道美团面试题
这是一个在美团面试中被提到的面试题。 PS:由于题目没有给出 到底是那种水杯,牵扯的范围很广。 因此,我们这个案例不是 全面(覆盖性不强)。
注意在文件传输模块中,对于下载测试项中的 不同文件格式,我们并没有说清楚很模糊。 下面我们再来看一下,对它的补充
浦发银行新人存1000领立减金 浦发银行领券成功截图
浦发银行新人存1000领多少利息,浦发银行存多少钱是vip,浦发银行存1000万待遇,浦发银行新人礼包活动内容:8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
参加浦发银行财富号宠粉必中1.08元微信红包活动!8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
活动时间:8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
即日起至2022年3月31日8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
活动奖品:8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
1.08元微信红包8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
参与方式:在各大应用市场搜索【浦发银行】下载APP参加8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
小编提示活动步骤:8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
1,浦发银行APP-底部【生活】-顶部【财富号宠粉计划】点击去浏览领取抽奖机会-点击抽奖 2.券包查看路径:浦发银行APP-生活-品牌特惠-我的-全部订单查看兑换码 3.兑换地址:微信搜索【威小惠】小程序点击权益兑换-输入兑换码兑换即可[兑换时间截止于4月3日],必中1.08红包8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
活动地址:浦发银行APP8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
8ol微信红包,微信群,红包活动,微信群二维码发布分享平台!
港股上市公司高管被抓是否披露 操纵香港股票第一案
港股上市公司高管被抓是否有案底,港股上市公司高管被抓是否可以上市,港股上市公司高管要求,香港上市公司高管买卖股票规定炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!
香港证监会宣布,终身禁止康宏资产管理有限公司(康宏资产管理)前持牌代表黄冠成(男)重投业界(注1)。
证监会经调查后采取上述纪律行动。调查发现,黄参与一项涉及一家于香港联合交易所有限公司创业板上市的公司(A公司)的股票操纵计划(注2)。
在2016年6至7月期间,黄作为康宏资产管理的财富管理顾问成功说服其同事X参与该计划。X继而招揽及安排其十名客户向涉及该计划的操纵者购买A公司的股份。X的客户同意持有该等股份一至三个月,期间操纵者据称将会推高A公司的股价。他们亦同意只会在X允许下才出售该等股份,以换取相当于交易价值12%至15%的现金回佣。然而,在X的客户获准沽出股份之前,A公司的股价暴跌,令他们蒙受了重大损失。
黄协调、安排及促成X的客户向操纵者购买该等股份的交易。具体而言,每次交易前黄都会事先与操纵者确认日期、时间、规模及价格并向X发出详细指示,以确保X的客户的买盘指令与操纵者的卖盘指令互相配对。黄随后会从操纵者收取现金回佣并支付予X,再由X分派予其客户。
证监会亦发现,当黄在2018年出席与证监会进行的会见时,明知而提供在要项上属虚假或具误导性的回答,以隐瞒他参与该计划一事,因而违反了《证券及期货条例》(注3)。
证监会认为黄并非获发牌的适当人选,原因是他的行为令人对其品格、可靠程度,以至其是否有能力称职地、诚实地和公正地进行受规管活动产生极大怀疑。
证监会在决定对黄采取上述处分时,已考虑到所有相关情况,包括:
黄的失当行为属蓄意、严重且明显有欠诚实,并导致X的客户遭受重大损失;
他企图隐瞒其失当行为及误导证监会,因而妨碍了证监会的调查;
有需要向业界传递具阻吓力的强烈讯息,以示证监会绝不容忍有关失当行为;及
他过往并无遭受纪律处分的纪录。
备注:
1. 黄曾根据《证券及期货条例》获发牌进行第1类(证券交易)受规管活动,并于2014年12月10日至2015年5月15日及2015年9月16日至2018年5月20日期间隶属于康宏资产管理(现称环一资产管理有限公司)。黄现时并非证监会持牌人。
2. A公司其后被私有化,及于2021年撤回上市地位。
3. 根据《证券及期货条例》第184(2)条,任何人在看来是回答证监会调查人员根据该条例第183(1)(c)条提出的问题时,明知而说出在要项上属虚假或具误导性的话语,即属犯罪。
版权声明:所有瑞恩资本Ryanben Capital的原创文章,转载须联系授权,并在文首/文末注明来源、作者、微信ID,否则瑞恩将向其追究法律责任。部分文章推送时未能与原作者或公众号平台取得联系。若涉及版权问题,敬请原作者联系我们。
更多香港IPO上市资讯可供搜索、查阅,敬请浏览:【【网址】】