FLY000 发表于 2010-8-3 17:42:02

修改删除的数据是先准备好还是与新增的记录相依赖

对某一模块进行增加、修改、删除功能的测试,那么通常的处理办法是:

1. 修改、删除的数据先准备好作为初始化数据;
优点:各操作之间不必互相依赖
缺点:准备数据有点麻烦

2. 增加操作完成后,进行修改操作,修改完成后进行删除操作;
优点:不用准备测试数据
缺点:如果前面的操作的用例Fail后,那么后面的用例执行将无法进行下去

关于第二种方法的缺点,是致命的,所以我觉得还是采用第一种方法。

请问大家通常都是怎么做的啊?

fachu121 发表于 2010-8-4 12:15:54

删除数据的时候可以不用初始化数据,可以直接读取当前对象的链接src属性,通过分割获取id号,然后查询这个id号所在数据的条数就可以来判断了,不知道这样说能明白吗

fachu121 发表于 2010-8-4 12:21:11

分割id号一般可以以其中某个规则的=号开始
假如:http://www.aa.php?id=10    直接按等号分割,去后面的数就可以
假如:http://www.aa.php?tb=1&id=10 这个就需要寻找第二个等号的索引位置,然后截取这个位置之后的数据
假如:http://www.aa.php?tb=1&id=10&ind=3 这个就需要寻找第二个等号的索引位置和第二个&号的位置,然后截取第二个等号的索引位置之后的(第二个&号的位置-第二个等号的索引位置)个长度的数据就是id号了
根据不同的方式利用不同的方法获取id号,因为一般删除都是用id号的。

xhhuang1618 发表于 2010-8-4 13:12:05

回复 1# 的帖子

在自动化测试中,CASE与CASE之间的关联性应该做到最小,既一个CASE的失败不会影响到其它的CASE,这里很显然第二种方式不怎么适合。那我们只能选择第一种方式,但第一种方式又存在数据准备的工作,在测试的前期可能会有准备测试数据麻烦的问题,我建议将新增、修改和删除中用到的数据各自保持独立,然后分别为新增、修改写一个共享的CASE(假设你现在要做一个删除操作,你就可以去调用新增的共享CASE,然后去执行删除操作;如果你要做一个修改操作,那你就先调用新增的共享CASE,再执行删除操作;最复杂的情况是先调用新增的共享CASE,然后再调用修改的共享CASE,最后再执行删除的CASE)。至于数据的准备工作,一般最常用的做法是先将要使用的数据放在一个外部文件里,然后让各个CASE去取里面的数据。不知道这种解决方法是不是你想要的

[ 本帖最后由 xhhuang1618 于 2010-8-4 13:13 编辑 ]

TIB 发表于 2010-8-4 16:47:26

第一种

但是第二种也有存在的必要,某些应用是会在这样的情况下出错的:新增,紧跟着删除,但是如果单独新增,单独删除都不会有问题
页: [1]
查看完整版本: 修改删除的数据是先准备好还是与新增的记录相依赖