【IT专家网独家】在Visual Studio 2010中主要是通过使用Database Edition模块来生成有意义的数据用户测试应用程序。在实际工作中,程序开发人员可以从现有的数据源生成数据。如根据一份销售定单的历史记录来扩充数据,也可以让系统自动生成随机数据等等。在数据生成的过程中,可以从多个角度对于生成的数据进行控制,以满足应用程序测试的需要。具体的来说,可以从如下几个方面来对需要生成的测试数据进行控制。
一、为测试数据指定对应的表。测试数据同其他数据一样,也需要保存在数据库对应的表中。所以在生成测试数据的时候,首要的一个任务就是为需要产生的测试数据设置关联的数据表。简单的说,就是说即将要生成的数据保存在哪一张表中。在实际测试的时候,这一步非常的重要。因为从保持数据库干净的角度来将,在应用程序测试的时候不是为所有的表产生测试数据。否则的话,以后清除这些垃圾数据会非常的不方便。所以总是为需要用到的表产生测试数据。
另外需要注意的是,在为特定的表产生测试数据的时候,仍然需要受到以下几个限制。如指定的表中如果含有其他表中列的外键。那么如果需要为具有外键的表生成数据,则还必须为该键引用的表生成数据。简单的说,在生成测试数据的时候也受到外键的限制。再如,如果某些表具有禁止删除操作的触发器,则如果需要删除这些表中的行,那么这个触发器会回滚删除的操作。也就是说,测试数据很难删除。通常在这种情况下,程序开发人员在后续清除测试数据的时候,可能需要先禁用触发器。
总之一句话,即使产生的是测试数据,但是实际上最终结果都是保存在数据库中。所以说在产生测试数据的时候,仍然需要受到数据库的种种规则限制。
二、可以控制需要产生数据的行数。
在生成测试数据的时候,程序开发人员还可以设置需要产生数据的行数。出于测试的需要,有时候可能只需要10多条记录即可。可是在某些特定的情况下,如测试报表的运行速度,则可能需要上万条的测试记录。在Visual Studio,程序开发人员就可以根据实际测试的需要,生成任意条测试用的记录。
主要有两种方法来为表指定需要生成记录的行数,分别为绝对法与相对法。绝对法就是指在产生测试记录的过程中手工的指定需要产生记录的行数。利用专业术语就是说采用硬编码数字形式来设置要生成的行数。不过在有些特殊的情况下,可能需要采用相对的方法。如在测试采购模块的时候,有一张供应商表与采购定单表。其中在供应商表中生成10条测试记录,而需要给每个供应商设置3张采购定单。此时采购定单表中的记录就需要根据供应商表中的记录数量来生成。此时就需要根据相对法。相对法就是指相对于在另一个表中所生成记录数的比率来生成测试记录。这种情况在实际工作中经常碰到。如一个客户可能同时存在多个送货地址。此时在测试应用程序的时候,就需要根据客户表中记录的数量在客户送货地址表中产生若干条测试数据(如一个客户对应三个送货地址等等),以方便对这个功能的测试。
在绝对法与相对法的帮助下,程序开发人员就不用手工的确定需要生成记录的行数,或者重复的一条条的生成。特别是在多个表之间如过存在关联的话,那么通过相对法来生成所需要的测试数据,将会非常的便捷。