测试用例的设计一般从分析需求设计说明书开始,了解开发人员设计这个项目的思路、设计的要求、实现的功能等。
下面以一个登录窗口为例,说明测试登录界面的思路和方法。
把这个测试用例分为三层结构:表单测试,逻辑判断、业务流程。
第一层,表单测试为最底层(最基础的)
这部分的测试用例是对登录窗口这个界面的输入框、按钮功能、界面等最基本功能的测试。一般来说登录用户名和密码是输入框的形式体现,这时,我们只要考虑这个输入框的功能,而不需要考虑业务方面的内容。这样,我们考虑就是这个输入框的长度限制是多少?能否输入特殊字符?能否输入全角字符?当然,登录窗口还有其他按钮,例如登录按钮,退出按钮,界面设计等,这一层的测试用例只对他们最简单的功能的测试。
这一层的测试用例对新开发项目很重要,也必须执行,因为这些事最基本的功能保证,当项目进入维护阶段后,如果没有修改就不需要执行这部分的测试了,或者说把这层的测试用例优先级设为最低,时间不充足的情况就不用去执行。
第二层,逻辑判断层
根据需求的设计,个功能之间的简单逻辑联系。账号登录,账号和密码必须对应才能登录,否则登录失败。例如,账号和密码不一致时,账号为空时,密码为空时,账号密码对应时等等情况。输入这些情况时,程序是做怎么样的逻辑控制的?控制是否正确?是否有相应的提示信息?
这一层的测试用例是最常规的一层,在常规测试或修改这部分功能之后,这一部分的测试用例也必须执行。
第三层,业务流程层
这部分不关心软件本身的基本功能,而是关心这个软件的业务有没有实现,不同的需求就有不同的业务需求。以登录窗口为例没救可能有不同的需求,可能用户要求通用的账号能够登录系统。根据不同的业务需求,就有不同的业务流程。这样这层的测试用例,我们就只要考虑业务需求,只要考虑删除的用户能否登录?停用的用户能否登录?超级用户是如何登录的?普通用户是何种方式登录的?
简单来说,这层的用例只描述业务流程,不关心具体这个业务是怎么实现的,执行这部分用例时,不要考虑哪个输入框控制了多少长度,能否输入空格等其他功能,因为这部分的测试需要基于前面两层的测试用例都已经测试通过了。