51Testing软件测试论坛

标题: 求救!这该怎么办啊?都进来看看阿! [打印本页]

作者: starwan    时间: 2006-9-12 20:07
标题: 求救!这该怎么办啊?都进来看看阿!
这些天写了个qtp脚本,编好测试用例,
关于添加记录的一个测试。

有7个记录是必填的,而且有校验规则,
比如:email、邮编、手机号码等。

今天主管问了个问题把我问倒了。。。
假如email:有5种不同错误的情况
邮编:有4种
手机号码:4种
那么组织测试数据的时候,就要有5*4*4...种记录,还有更多

她的概念就是要排列组合的形式,
我刚搞测试,不知道怎么回答,总是觉得不应该这样,
不知道各位高手能不能帮我呀?
qtp能够实现这功能不?

拜谢!
作者: lyscser    时间: 2006-9-13 08:43
蝈蝈,QTP的优点就是自动化……
参数化不就得了
作者: xiaonan    时间: 2006-9-13 09:15
你这个不是QTP的问题,而是测试用例的问题.测试数据应该在设计测试用例的时候就应该考虑到的.而QTP脚本是在设计完测试用例的基础之上的.对于你这种,你可以去找找测试用例设计里的正交实验法,能帮你减少一部分的排列组合
作者: xyuan007    时间: 2006-9-13 09:19
首先要搞清楚,这几个记录之间的关系。如果某个记录变化后,对别的记录没有影响,那么只需要简单地进行排列就行了;但如果某个记录的变化会影响到其他记录的变化,就需要进行组合了。
从楼主的帖子看来,是第一种情况,那只需要准备5种数据情况就行了,不需要进行组合。
用数据驱动的方式来实现
作者: higkoo    时间: 2006-9-13 09:41
标题: 数据驱动
直接参数化你所说的:email、邮编、手机号码等就可以了。
把几种异常情况输到数据风格中,跑完几个循环就OK了。
作者: walker1020    时间: 2006-9-13 10:57
原帖由 starwan 于 2006-9-12 20:07 发表
这些天写了个qtp脚本,编好测试用例,
关于添加记录的一个测试。

有7个记录是必填的,而且有校验规则,
比如:email、邮编、手机号码等。

今天主管问了个问题把我问倒了。。。
假如email:有5种不同错误 ...


根据楼主的简单描述,很难判断是怎么回答 starwan 的主管,因为他只说了这7个字段(这不是7个记录1)有校验规则,而没有说这7个字段间有没有逻辑关系。有当上一个字段的输入有误时,系统如何处理?等等。没有看到你测试的系统的具体情况,别人很难给你提供有用的帮助。

根据我的理解,楼主的主管的问题涉及到了几个方面: 对测试系统的理解;对QTP 的掌握程度。具体的来说,在对测试系统有一定理解的基础上编写测试用例,这可能要用到xiaonan 版主在 #3 提到的正交实验法;根据你的测试用例,再去决定如何利用QTP这个自动化测试工具来完成你的测试。关于如何利用QTP 来执行这些测试用例,
请看下面的帖子中我的#14的回复: http://bbs.51testing.com/viewthread.php?tid=42304

最后说明一点,方法不是绝对的。为了解决问题,你可能采用几种方法。

[ 本帖最后由 walker1020 于 2006-9-13 20:00 编辑 ]
作者: starwan    时间: 2006-9-14 10:56
标题: 感谢各位
可能我之前描述的不够清楚,
昨天又察看了一下系统,大概是这样子的:
每个字段之间基本没有逻辑上的联系,但是系统校验有先后。
比如,排列顺序是:  用户名、密码、确认密码、手机、。。。

假如字段全部都为空, --> 系统只提示:  用户名必填, 而不会提示后面的为空字段,
这个时候就很难判断后面的字段是否校验成功,所以可能:为了单个检查表单元素,就要把其余6个字段全部填上正确字段,而且每个字段都有多种情况,这样一来,就不可能说如:higkoo兄 说的只是跑几个循环了。
其实我是想知道qtp能不能实现节省测试数据,而能够做到比较充分的测试。。

或许真的要如   xiaonan说的  用 正交实验法,
正交试验,学习中。。。
作者: walker1020    时间: 2006-9-14 12:00
原帖由 starwan 于 2006-9-14 10:56 发表
可能我之前描述的不够清楚,
昨天又察看了一下系统,大概是这样子的:
每个字段之间基本没有逻辑上的联系,但是系统校验有先后。
比如,排列顺序是:  用户名、密码、确认密码、手机、。。。

假如字段全部都 ...


根据我的经验和理解,QTP是无法为你的测试节省测试数据的。QTP录制脚本的依据就是你的测试计划和测试用例。 如果你有N个测试用例,每个测试用例都有一组测试数据,那么你用QTP进行测试时,你必须都要把这 N个测试用例 跑到,因此 这N 组测试数据都要被用到吧。你怎么去节省测试数据呀?
QTP 仅仅是个工具而已,它就是把原来需要你手工执行的操作(如输入测试数据、检查操作结果等操作)现在用 这种工具替你去执行这些操作了。除此以外的所有工作,包括制定测试计划、 设计测试用例和测试数据、查看和分析测试结果等都需要你自己去做。

[ 本帖最后由 walker1020 于 2006-9-14 12:03 编辑 ]
作者: snicoler    时间: 2007-4-3 14:27
还是没太懂,不入门阿
作者: wgx198302    时间: 2007-4-26 20:54
好象这个是单元测试做的,拖到系统测试那就用正交好了。
作者: 没有蛀牙    时间: 2007-4-27 14:24
什么是正交实验设计方法?
作者: wgx198302    时间: 2007-4-28 09:07
第一步:用等价类边界值划分。
对用户名,密码,密码确认,邮箱的条件逐个判断。得出有效等价类与无效等价类。
第二步:流程路径覆盖法。
1.输入用户名,点[确定]。
2.输入用户名,密码 点[确定]。
3.输入用户名,密码,密码确定 点[确定]。
3.输入用户名,密码,密码确定,邮箱 点[确定]。
注:以上值都是有效值。
第三步:等价类的两两组合---正交法
参照正交表做。
第四步:输出域覆盖
一 。提示用户名错误的:分3个等价类:1.用户名,密码,密码确认,邮箱都正确。2.用户名正确,密码,密码确认,邮箱都不正确。3.用户名不正确,  密码,密码确认,邮箱都正确。
二。提示密码错误的:也分为3个等价类:1.用户名,密码,密码确认,邮箱都正确。2.用户名,密码,正确密码确认,邮箱都不正确。3.用户名正确,  密码不正确,密码确认,邮箱都正确。
...........................
第五步:错误猜测法:考虑sql入侵等情况。。。。

上面有好多重复用例,删掉就可以了。
作者: hxf    时间: 2007-4-28 14:13
将这么输入参数化呀!进行了。
作者: yumo_yiran    时间: 2007-4-28 17:54
感觉是你的用例没写好吧




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2