测试人员该如何在需求分析中进行详细推敲思考,挖掘出需求背后的隐式需求?非比君在近期的测试过程中,总结了以下几点:
1. 站在用户的角度进行思考。功能测试更多地是站在用户的角度进行测试,以WEB测试为例,展现在用户面前最直观的就是页面,所以测试人员需要关注:需求涉及的页面中包含哪些元素,这些元素是否满足用户的需要,是否有冗余的情况、页面样式是否美观等。然后需要关注各个元素的类型,比如文本框、下拉框、单选框、复选框等。
2. 输入、输出项。测试人员不光要知道页面展现出来的输入输出项(默认值、字符长度范围、允许输入字符类型等),还要了解一些未展现出来的输入输出项。举个简单的例子,在注册页面,我们在页面上只输入用户名、密码,当提交后系统提示操作成功。而实际上,在注册成功的同时,数据库里不仅仅只是添加了用户所输入的信息,还有用户并不关心但系统自动生成的ID、创建时间等数据。这些数据有可能被其他模块调用,一旦错误就会引发未知问题,所以测试人员必须思考、了解并且跟踪这些未展现出来的数据。
3. 涉及的所有表结构。测试人员还应该知道需求实现中涉及的所有表结构,包括表之间的关系。通过表关系,可进一步考虑本次需求可能会影响到的其它需求。并通过比对页面元素,了解页面展现的元素和具体表结构元素的对应关系,从而确定是否有遗漏和冗余。
4. 权限问题。测试人员需要确认在需求文档中有这些内容的描述:
1)页面中,哪些用户有权限访问,哪些用户没有权限访问;
2)无权限的用户通过怎么样的方式可以获得权限;
3)无权限的用户访问时给出什么样的提示内容等。
测试需求的分析与提炼,决定了测试的价值。测试人员应该带着思考去尽可能的挖掘需求所覆盖到的点,并且通过沟通尽早地解决疑问。