专栏文章 拿到需求,如何着手写测试用例?

sylan215 · 2019年07月05日 · 最后由 hallon 回复于 2021年10月20日 · 3920 次阅读

最近几天,连续有几个同学在微信中问我类似的问题「我拿到一个 XXX 需求,应该如何开始写测试用例呢?」

我没有问需求细节,问了我也不一定明白,但这个问题是可以直接从方法论角度进行解决,所以我给的答复都是「可以从质量模型和需求两个维度来考虑测试用例设计」

猛一看,这个说了和没说一样,可能对方还是不明白,其实我也知道,这不是一言半语就能说清楚的事。

所以我会补充下「质量模型就是软件质量模型的 8 大 31 小特性,需求就是功能修改点,如果修改点逻辑清晰,那么就按修改点进行拆分,然后设计对应的用例,如果只有一个大的功能点,就按照质量模型的角度来分类拆分

简单的说,只能说到这个程度了,为了让大家能更好的理解,今天我就说的更详细一些,希望对需要的同学有所帮助。

先说说软件质量模型。

软件质量可以分为产品质量和使用质量,产品质量是指在特定使用条件下产品满足明示的和隐含的需求所明确具备能力的全部固有特性,使用质量顾名思义就是用户真正使用产品时的满足度。

软件质量模型就是对产品质量进行量化的标准。

下图是官方最新定义的软件质量模型:

那怎么把质量模型和我们的用例设计结合起来呢?我们直接看一个例子。

这有个需求:

有一个 PC 客户端的命令行工具,这个工具可以接收三个命令行参数,其中,前两个是数字,最后一个是运算符,运算符只支持加减乘除四种,工具的功能就是把前两个数字使用运算符做下运算,然后输出运算结果。

这是把需求按照质量模型拆分后的部分测试用例,按这个框架继续细化就是完整的用例集了:

方法其实很简单,就是按照需求把质量模型的各项特性进行覆盖,覆盖的颗粒度可以根据不同测试质量要求而定。

使用这个方法的好处是不会遗漏大的测试点,用例细化过程中再结合具体的测试用例设计方法基本能保证万无一失了。

接着说说按修改点拆分的方法。

还是上面这个计算器的需求,我们按修改点拆分后的用例如下:

这个方法的要点是把需求梳理清晰,按照明确的逻辑实现在用例中进行一对一的覆盖,比较适合需求明确,修改点清晰的项目。

这个方法和前一个方法的区别是前面大节点的划分标准不一样,如果我们把所有的用例细化完成,再和上面按质量模型划分的用例对比,会发现最终用例部分都是一样的,只是用例所属的分类不同。

也就是说,这两个方法都只是提供给我们一个手段,一个明确下手写测试用例的方向,一旦明确了这点,在拿到任何需求的时候,我们都会有清晰的思路去应对,而不至于懵逼。

框架选定后,再去细化用例就需要用到之前提到的思维导图写测试用例的方法了,可以点击下面链接回顾:
《思维导图写测试点的再补充》
《思维导图写测试点的额外补充》
《用思维导图写测试点的几点说明》
《思维导图编写测试用例的两种格式》
《如何利用分层测试概念设计针对性测试用例》

当然,最终的用例节点,不可避免的要使用到一些常用测试用例设计方法,后续我也会详细说明。

以上,我通过一个简单的事例,说明了拿到需求后如何动手写测试用例的方法,不知道和你目前的做法是否相同?如果你有其他方法,欢迎留言告诉我,万分期待你的回复。

当然,如果你认可我的观点,请帮忙分享转发 + 点个「在看」让更多人看到,谢谢。

共收到 3 条回复 时间 点赞

感谢楼主提供的思路
《思维导图写测试点的再补充》
《思维导图写测试点的额外补充》
《用思维导图写测试点的几点说明》
《思维导图编写测试用例的两种格式》
《如何利用分层测试概念设计针对性测试用例》
这些在哪能看啊?

Felix 回复

链接加上了,多谢提醒


@sylan215 能帮我看下我的导图节点分类是否合理吗,感谢!
我的这个是 cad 软件功能 --- 对象捕捉,不知道您是否用过没,在这里啰嗦一下
捕捉不同实体的不同的特征点,预期如下,写在了捕捉主题的标注里了:
1.特征点都能被捕捉到(如直线特征点有端点、中点等,圆的特征点有圆心)
2.捕捉标记的正确性(端点的标记是个红色小方框,中点是个小三角形)
3.捕捉标记显示的位置(靠近特征点的位置)
4.捕捉的效率
而不同的图纸空间可以设不同的坐标系,不同的坐标系,不同的坐标系下可以有不同的实体

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册