| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 测试人如何写好功能测试用例 -> 正文阅读 |
|
[开发测试]测试人如何写好功能测试用例 |
???????? 目录 ????????如果你是一个刚踏入测试行业的新手,首先第一件事就是要学会写好测试用例,测试用例包括功能用例、接口用例等等,今天咱们重点先讲下功能用例。 1 选择工具????????大多数公司写功能用例使用的工具是xmind,它一个思维导图工具,用起来比较方便,有好多快捷键可以使用,比传统的excel更简洁,推荐大家使用xmind8,是免费的,其他是收费的,下载地址:XMind下载 2 设计原则????????用例设计原则是高覆盖率,90%的覆盖到业务可能涉及到的场景,剩下的10%是在测试过程中补充进来,之所以达不到100%,是因为我们即便对这个业务足够熟悉和了解,也很难想的全面。 原则一:重逻辑,轻点击????????很多测试人员在写用例时,首先把页面上能点的全写一遍,这个点点达到什么效果,那个点点达到什么效果,最后再看看UI,这里要对齐,那里图片不能模糊之类的,这样用例就设计完了,显然不可行,缺乏场景测试,场景覆盖的越多,产生bug的可能性就越低。我们拿经常考到的一个模块“购物车页面”来举例,购物车包括:商品列表、支付,先分为这2个模块,下面我们来看两个用例设计的对比: ????????我简单的列举了一下,欢迎继续补充~ ????????由上面两个图,我们可以看出,明显场景式的用例更清晰,更全面,重业务逻辑,把能想到的场景只要与当前测试点有关,都需要想到,并不是单纯的点击操作。 原则二:来源放第一????????什么是来源,我们可以把数据来源作为来源,也可以把入口作为来源,简单点讲就是,你测试的这个模块都有几个入口,数据来源从哪里来的,咱们继续拿上面购物车来写用例: ?????????如图所示,这样去思考数据来源从哪些地方而来,放在用例设计的第一位,首先要想到的就是有无数据时怎么处理,这些页面的数据从哪里来的。 原则三:忌把用例当作垒需求????????我带过的几个实习生,让他们开始写用例的时候,第一版发给我看的时候,一眼看上去好多好多字,xmind上也好多好多行,外行人看起来觉得这个孩纸不错,很认真,需求也很全面,内行人一看,这哪是测试用例,这就是在写需求,把产品三句话写的需求写成三条用例,有的甚至还把需求文档的文字复制过来,这不叫测试用例,这叫垒需求。测试用例写的是一个个的测试点,测试点是一个个的场景,简单来讲就是你要在这个业务中测试哪些点。举个例子,我们来对比看下: ????????批量导出,需求文档是这么写的:可以导出当前搜索范围内的数据,支持实时导出excel格式的数据,导出的数据字段包括:订单号、兑换码...... ?? ? ?????????对比上面两个用例,明显的区别是第一版里面是把需求做了拆分,转换了一下展示格式,第二版里面就是拆分需求后,有哪些需要测试的点,这样就清晰了很多。 原则四:站在用户角度不等于放弃业务????????测试届有个烂熟于心的一句话:测试要站在用户角度。这句话本身没有错,也启发了很多的测试人,同样也害了不少测试人。我带的实习生,他们很多告诉我不是要站在用户角度上思考吗,这样思考我觉得用户怎么怎么样,每当这个时候我会问:你能站在多少用户的角度上?大多数时候,说是站在用户角度,其实是根据是个人的使用习惯上,你的使用习惯可能代表了1000个用户,甚至10000个用户,但是你代表不了上百万的用户,我们也没有精力和能力去真正思考这些用户的角度,所以站在用户角度并不等于就考虑用户,还是要从业务出发,考虑它的合理性和复杂性,比如一个跳转就可以支付,让用户跳转三次才到结算台页面,显然不合理,在用例设计过程中我们也会遇到这种需求不合适的地方,或许会有更好的实现方式,那么也可以通过体验建议的方式提给产品,这才是真正的用户角度。 原则五:测试点不等于测试步骤????????尤其是在xmind上写时,不要好多行都在说一个测试点,肯定是一行一个测试点,最多保持3列左右,不要超过5列。记住使用xmind的目的是轻便、鲜明 ,不是在写测试步骤,是在写测试点,作为一个测试角色,有哪些点是需要思考的,如果要写测试步骤,那大可不必在这上面写,或许“禅道”更合适,而且也不允许我们有这么多的时间去花在步骤上,是体现在覆盖率上。还是拿购物车举个例子,购物车列表的编辑操作: 原则六:从哪里来到哪里去,记得再回来????????这个原则相比大家很熟悉,每一个进入测试届的小伙伴们都应该懂得这个道理,就像唐僧西天取经一样,说明从哪里来到哪里去,但是与唐僧不同的是,要记得再回到原点,切忌越测越远,忘记了初衷。用专业词语来讲,要形成用例闭环。 ????????以购物车为例,知道用例来源后,就知道了从哪里来,那么到哪里去,就是进入支付环节,跳转到结算台,支付到订单页面等等,这些操作都验证后,要在回到购物车页面,那么这个时候就有测试点:支付成功的商品从购物车清空等等,这样就形成了一个闭环链路,也不会漏测。 原则七:测试类型不可混淆????????功能测试用例侧重于业务,很多人在说不出要测试哪些点时,就把性能测试、负载测试等等也一起累加上,尤其是面试的时候,在这里并不是说这些不属于功能测试,只是测试类型不同。很多公司,尤其大点的公司,都会把性能测试作为单独一个测试策略来执行,并不会单独放在功能测试中,无论是流行的链路压测还是手动执行压测脚本,都是在功能实现稳定的基础上执行的,所以尽可能不要混淆。 原则八:用例设计也是有格式的????????按照如下格式去写,可以保证90%没有问题,可以尝试写写: 3 小结用例设计就写到这里,我总结一下:
接下来我会详细再介绍一下用例评审和用例执行中的执行原则,从不同阶段来逐步保障产品质量。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 2:53:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |