RUP测试过程实践之测试需求与测试用例

发表于:2007-5-28 15:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing博客转

  测试用例是否应该包含所有的细节?

  这是在网络上听到诉苦最多的又一个热点问题:公司要求按照一个严格的规范来开展测试工作,必须书写所有的测试用例文档,要求文档的书写一定要具体,并在执行测试时要参考测试用例文档来进行。如果测试用例文档写的过于简略,则会被领导斥为偷懒。但是,如果文档中的对操作步骤描述的过于具体,像下面这样:

  01.  在“用户名”项中输入“user”;

  02.  在“密码”项中输入“password”;

  03.  点击“确定”按钮。 这样的描述方式表面看起来可操作性似乎是增强了,任何人拿到这个文档都可以充当测试人员,检查一下这个功能是否存在缺陷。但是我们不要忘记,在开发过程中,变更的存在是必然的。一旦需求、设计或者应用程序中的某些细节发生了变化,比如“用户名”变成了“操作员”,“密码”变成了“口令”,“确定”变成了“登录”,或者输入项所接受的数据类型发生了变化,那么同这部分内容相关的所有的测试用例都需要修改。否则,我们凭什么可以保证这些描述不同的测试用例说的是同一样东西?如果我们只有这么一个测试用例,也许一切都不是问题,但是对于一个业务复杂、功能完整的系统,如果按照这样的方法描述测试用例,最终要么产生大量的测试用例文档,要么产生过长的单个文档。无论是那一种,如果发生了类似于上面说的变化,维护文档都将变成一次地狱式的体验。这也是为什么在网络上频频出现的这个问题,而且每次出现都会受到测试同行们的关注的原因。那么这个问题应该任何解决呢?测试用例是不是把所有的流程写出来就可以了呢?如何在减少测试用例文档中包含过多琐碎的细节的同时保证测试用例的可操作性呢?又有什么方法可以提高我们维护测试用例文档的效率呢?笔者的建议是:关注“测试思想”而不是关注操作步骤。要理解这个问题,首先要弄明白测试用例的作用。就像用例一样,测试用例并不是用来描述具体的实现的,而是着重描述处理问题的思路——对于一项明确的测试内容进行测试的思路。作为测试用例的设计人员,如何理解基本流和备选流?如何深入分析并找到所有需要覆盖的路径和需要检查的特性?我们在测试用例中应该用容易理解的自然语言清晰的来描述我们将要如何进行测试,而不是简单的把在应用程序上如何操作的烦琐的步骤记录下来。把测试用例设计当成填写具体操作步骤的表格是人们对测试用例最大的误解。传统的测试用例文档编写有两种方式。一种是填写操作步骤列表:将在软件上进行的操作步骤一步一步详细的记录下来,包括所有被操作的项目和相应的值。另一种是填写测试矩阵:将被操作项作为矩阵中的一个字段,而矩阵中的一条条记录,则是这些字段的值。网络上对于这两种方式孰优孰劣的争论,将大家错误的引导向了两个极端:要么采用 A,要么采用B。而大家却忽视了一点,对于工作方法的争论,本质上同工具的争论并不是一回事(例如曾经的VC、BCB之挣)。如果不同的方法各有优势,我们完全可以通过变通的方法,把优势的部分组合在一起来使用。 操作步骤列表的优势在于对基本流和备选流进行分析后,它可以清晰的描述您的测试思路。而测试矩阵则更适合于用来存放测试数据,特别是那些需要人工赋予一个确定的值的特性。下面,我们来看一个例子,当然,这个例子同样是杜撰的。?需求名称:用户登录安全验证需求描述:用户登录安全验证是为了保证所有登录到系统中的用户,都是由系统管理员预先在系统中设定的。使用系统中不存在的用户名,或者用户名输入正确,但密码输入错误情况,都无法登录到系统中。当用户使用了不存在的用户名或错误的密码时,系统应分别给出适当的提示。如果用户连续三次无法使用正确的用户名和密码登录到系统,则系统应给出适当的提示,并退出当前程序。如果用户使用正确的用户名和密码登录到系统,则退出界面,转到系统主界面。对于用户登录界面和程序主界面,请参考相应的 UI设计文档。

  测试需求:

  01. 检查能否使用正确的用户名和密码登录到系统;

  02. 检查能否使用错误的用户名或密码登录到系统;

  03. 检查使用错误的用户名和密码登录失败超过三次,是否会自动退出当前程序。

  测试用例:

序号 操作过程描述
1 输入用户名。
2 输入密码。
3 确认登录。

序号 用户名 密码 预期结果
1 正确的用户名 正确的密码 登录到系统并转到系统主界面
2 正确的用户名 错误的密码 无法登录到系统并提示密码错误
3 错误的用户名 正确的密码 无法登录到系统并提示用户名错误
4 错误的用户名 错误的密码 无法登录到系统并退出当前程序
5 空用户名 …… ……

54/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 暗冷夜空的风
    2009-2-05 10:14:07

    太强大了,总有人说要“实际一点”,见到什么问题就以能最快应付过去的方式处理,即使这样的处理方式会导致后期更多的问题。此文令我感到设计思想比填写表格更加重要!

  • bluepeng
    2007-7-27 15:28:13

    我刚进入测试半年左右,对于测试用例如何编写也一直比较头疼,笔者的文章给了我很大启发,非常感谢你的分享!

  • luoxijin007
    2007-7-09 17:14:55

    不错。很好!

  • wanglifang
    2007-6-01 18:37:19

    我也有3年的工作经验,和笔者有不少同感,不过没有笔者理解的深刻.读了以后受益很大,谢谢你的经验共享!

  • wanglifang
    2007-6-01 18:35:33

    很好!!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号