购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1 从需求到测试用例

从需求出发来设计测试用例,这是一种很普通的思想,但是如何实现从需求到测试用例、如何做好这件事?大家并不清楚,还缺乏清晰的思路。下面将讨论如何从用户的需求演绎出测试用例。让我们先看如图4-1所示的金字塔,金字塔顶是用户需求,经过中间几个环节——功能特性、用例、应用场景,到达底部,就获得所需要的测试用例。

图4-1 从需求到测试用例的演绎

用户表示他们的需求,这是很自然的,甚至是随意的,但又是软件产品开发的源泉。产品中要实现的功能都来源于用户的实际需求,而设计好的功能也都能回溯到需求。理解了需求,也就是了解了功能设计的背景,这样才能真正理解产品的功能特性(features)。基于这样的思想,我们要测试产品的某个功能,就有一连串问题要问自己或问产品经理:

●这项功能解决了客户的什么问题?

●这项功能对客户的价值是什么?

●客户有了这项功能可以做什么?

●客户如何使用这项功能?

●客户在什么情况下会使用这项功能?

●不同的用户在使用这项功能时有什么差异?

●一个用户在不同的应用场景下使用该项功能,又有什么不同?

●这项功能,和以前某项功能有没有冲突?

这样可以帮助我们更好地理解功能特性和用户的需求。同时也看到,针对某个功能特性,可能有多种用例(use case),而每个用例又可能有多个不同的应用场景,所以,从需求到功能、从功能到用例、从用例到应用场景,可以逐步分解,形成一对多的关系。最后,我们为一个应用场景设计一个到多个的测试用例,这样的结果,才能很好地覆盖用户的需求、覆盖用户操作软件的各种情况。

例如,用户使用聊天工具时,看到一幅漂亮的图片却无法用语言描述,就会产生这样的需求——将桌面上某个界面快速地呈现给对方。这一需求可以用桌面共享、应用共享来实现,但效率不是很高,有时会不小心泄露某些不该泄露的信息。所以,更多人会使用聊天工具的发送截屏功能,该功能会定义屏幕拷贝、传给对方,如图4-2所示。

图4-2 聊天工具的发送截屏功能

从功能特性角度可以这样考虑用例:

●有了这个功能,用户如何使用它?

●该功能有哪些基本的使用方法?

这里有4种最基本的用法,即4个用例:

●聊天窗口隐去,截取屏幕后直接发送。

●聊天窗口隐去,截取屏幕,在截屏上做些标记,然后发送。

●聊天窗口隐去,截取屏幕,在截屏上做些标记,保存下来。

●聊天窗口不隐去,截取聊天记录,保存下来。

针对功能、用例,可以进一步考虑有哪些应用场景。例如,针对用例“聊天窗口隐去,截取屏幕后直接发送”,考虑下列应用场景:

●要截取的屏幕很大,在发送后如何显示?

●发送方机器的分辨率和对方分辨率不一致,会出现什么情况?

●待截取屏幕所在的窗口不在桌面上,如何先激活这个窗口,再截取屏幕?

然后,就可以针对这些应用场景来设计测试用例。 O84DeC+Vhu2a0NtySXALg2xZkfL/9yAv6ItagLH00QUG8RbBWhh6Zb15yzL5CGLO

点击中间区域
呼出菜单
上一章
目录
下一章
×