精华内容
下载资源
问答
  • 测试数据准备

    千次阅读 2018-12-06 14:59:00
    毫无疑问,稍复杂一点的系统,测试时都会遇到测试数据准备的问题,有些测试中,测试数据准备还是最困难最耗时的工作。  前面提到测试数据产生的方法:1、GUI界面操作产生;2、调用API接口产生;3、通过操作数据库...

    毫无疑问,稍复杂一点的系统,测试时都会遇到测试数据准备的问题,有些测试中,测试数据准备还是最困难最耗时的工作。

            前面提到测试数据产生的方法:1、GUI界面操作产生;2、调用API接口产生;3、通过操作数据库产生。三者各有特点,对需要把测试数据专门作为一项重要工作来对待的,一般都需要API接口+数据库混合的方式来准备数据。

            小型系统的测试,业务数据一般可以直接获取以前版本的数据,通过SQL数据或某些命令操作,取得当前需要使用的数据。

            对于复杂系统,测试数据准备可能需要封装一系列的API函数,例如一种策略就是先封装出一个完全API调用函数,里面有各种常规默认值,然后再这个基础上针对业务进行封装,面向该操作只需要设定某个特定值的,可以调用该特定封装函数。极个别的,可以直接调原始的完全封装。当然,考虑到一些大公司的情况,可能还需要考虑跨平台测试架构的情况,有些人提出进一步封装,提供RestFul的调用接口来屏蔽开发工具特性。其实,都只有一个目的,尽量把测试数据和产生方法隔离,而只侧重测试的业务属性。

      大量需要业务累积才能形成的测试数据,一般只有一个办法,就是通过大量实际数据脱敏。但如果涉及面向公众业务或国防业务之类,考虑到安全策略限制,就只能用笨办法就通过自动化操作来逐步实施模拟,但是这个方法就是太慢,并且不见得好用。

            对测试数据准备都需要有专人专责的一段时间来做的,就是很大系统很大业务了,这时很有必要对测试数据采取严格的版本管理和配置部署管理。用户需要首先注册数据,注明对应版本。测试运行时,平台会有统一生成的脚手架,对应脚本需要使用的数据必须标明版本。

             而考虑到自动化和灵活性,一般比较通用的方法还是先考虑实际数据脱敏,然后通过SQL脚本为基础,结合API调用,需要灵活配置的部分放到配置文件中,再加上配置管理来保证。这一般只在大型网站、大型系统有这个必要。

             实际测试时,针对测试数据,可能有以下一些策略:1、检索:只允许从现在系统中或已使用的数据中检索,没有的话直接生成数据失败;2、新创建:有些时候需要全新创建数据;3、智能:无所谓,只要有符合要求 ;4、out-of-box:使用缓冲池预先准备的数据。      

    展开全文
  • 自动化测试之测试数据准备

    千次阅读 2016-10-10 21:46:09
    而自动化的测试数据准备又有其特殊性,就是数据的可重复利用。因为脚本的执行跟人工的最大区别就是,它只会重复地机械地执行一个动作。而它最大的好处就是,公正。如果脚本failed了,那肯定是哪里出了问题,但这个...

             无论我们做手工测试还是自动化测试,测试数据的准备都是必须的过程。而自动化的测试数据准备又有其特殊性,就是数据的可重复利用。因为脚本的执行跟人工的最大区别就是,它只会重复地机械地执行一个动作。而它最大的好处就是,公正。如果脚本failed了,那肯定是哪里出了问题,但这个问题不一定是bug。

           测试数据的准备又可以叫做测试的前提条件的准备。比如我们要测一个客户加入一个会员的业务。那么我们就要考虑哪些作为前提条件,哪些通过脚本来自动化测试。作为前提条件的业务,我们就会在数据服务器上手工进行操作,将自动化脚本需要用到的数据提前在上面创建好。这里我们又提到了一个概念,测试数据服务器(TestData Server)。在自动化测试中,会单独拿一台服务器作为存储测试数据的服务器,而且该数据服务器是整个体系中的重点保护对象,需要有很好的备份和容错机制。

           我们将前提条件的数据创建好后,在脚本里就只需编写加入会员的业务过程。有些人可能会想在脚本里将创建客户和会员的过程也自动化,但是这样加重自动化测试的不稳定性。大家知道UI自动化中环境的影响是很大的,有的时候跑能通,下一次跑可能就不通过了,再rerun一下又能通过。所以我们在做UI自动化的时候,并不是要将所有的case内容都写成脚本。应该是把测试的目标内容自动化,其他步骤作为该case的前提条件,做成测试数据,每次跑脚本的时候重复使用这些数据。

           这样做还有一个好处,就想前面说的UI的自动化并不稳定,所以减少不必要的自动化脚本量,就减少了不稳定的风险。比如之前我们提到的那个case,主要目的是测试加入会员是否成功,而不是创建客户和会员的是否成功。如果我们把创建的过程也自动化了,那么这个case如果在前面创建的代码中因为某些原因failed了,但是它实际要测试的地方还没跑到,这样就失去了这条case测试的本身意义。所以好的测试数据准备可以减少我们的自动化脚本量,也能减低非bug的failed率。有些人可能会陷入一种玄技的漩涡里,觉得代码写的越多越好,其实不然,作为测试代码,能用最少的代码达到我们的目的是最重要的。因为一直用这套数据,所以测试人员对数据很熟悉,所以测试数据的重复利用,也可以帮助我们快速定位failed的原因。

    展开全文
  • 浅谈测试数据准备

    千次阅读 2008-11-23 13:17:00
    在项目进入正式测试阶段之前,有一个环节就是测试数据准备。当时,面对项目复杂的业务规则,一下子还不知道这个测试数据如何入手,往往准备的很粗糙。紧接着就是紧张的测试工作。在测试过程中,原来不清晰的业务规则...
      
    在项目进入正式测试阶段之前,有一个环节就是测试数据准备。当时,面对项目复杂的业务规则,一下子还不知道这个测试数据如何入手,往往准备的很粗糙。紧接
    着就是紧张的测试工作。在测试过程中,原来不清晰的业务规则(很多业务的潜规则也一点一点的被挖出来)也终于显山显水了。随着测试进一步进行,一系列的测
    试数据也因为各业务规则的实现逻辑的明了而梳理出来
    。随着测试的进行,可能会测试很多种数据组合,随着测试的重复进行和业务的进一步熟悉,有些测试数据是可以合并,整理起来的。。。经过这样一轮又一轮的测
    试,我们的测试数据已经基本形成了。我们在平时的测试过程中,随着项目的结束,这些测试数据也就被抛弃掉了。       
    

            其实,这些测试数据其实是很珍贵的,很有利用价值的.
            第一:它是经过验证的。它是对原始数据不断的分析、验证、检查而形成的。它能保证业务条件的各种组合的覆盖,它是满足测试需求的,它是覆盖测试业务,覆盖 测试边界以及满足完整性、一致性等要求的。同时,在前面的测试过程中,清除了无用和冗余的数据,补录了不完整的数据,修改了错误的数据。
            第二:它是可重复利用的资源。把这些数据整理好,纳入到业务相关的业务规则中,这样,在这些业务点上有新增、修改、删除业务规则时,可根据现有有测试数 据,做适当的补充,就能完成相关业务点的完全回归,我们也就节省了很多熟悉业务的时间成本 ,准备测试数据的时间。

    展开全文
  • 性能测试数据准备

    千次阅读 2017-06-26 10:16:42
    但是信息来源不全的情况,需要不断尝试,不断调试才能够准备出符合要求的测试数据。优点是非常直接有效的方法,比较灵活,量和业务需求都是可控的;缺点就是需要搞清表间关系,精 通业务流程...

    方法一:编写存储过程,SQL脚本方式,插入测试数据

    这个方式有几个前提条件:

    1-需要对该业务下所有关联的表结构非常熟悉

    2-需要对整个业务也非常熟悉

    这时需要开发协助编写测试脚本或者向他们学习业务和关联的表结构,自己编写脚本;但是信息来源不全的情况,需要不断尝试,不断调试才能够准备出符合要求的测试数据。

    优点是非常直接有效的方法,比较灵活,量和业务需求都是可控的;

    缺点就是需要搞清表间关系,精 通业务流程,脚本也需要经常维护。

    方法二:通过业务的方式去产生测试数据

    当然不是手工去一个一个添加,如果量很大,势必需要依靠自动化工具来实现。这种情况下,测试人员只需要了解业务的操作流程,然后采用LoadRunner能通过业务大量生成数据。

    优点:这样的数据一般都是合法可用的,能够确保之后的性能测试的质量。

    缺点也很明显,需要开发额外的测试脚本,要花费额外的时间和人力。

    方法三:采用生产数据

    在有现成数据并且数据保密性要求不高的情况下,可以采用这种方法,毕竟生产数据是原原本本的用户行为所产生的数据。

    缺点,量不可能控,可能某些业务的数据量少了,不符合性能测试的需求;生产数据也会有脏数据的产生,会因为系统架构的调整,表结构的变化等等诸多因素产 生脏数据,而这些数据是不具备业务意义的;多数情况下,生产数据一般不会被用于测试。


    综上所述,方法一最直接有效,但需要对测试场景下所有关联的表结构和业务非常熟悉;方案二的数据合法可用,但需要开发额外的测试脚本,要花费额外的时间和人力;方法三最最省时省力,但是某些测试场景下的数据量可能不满足并发,也会有脏数据存在,一般不用采用方法三。

    展开全文
  • 性能测试数据准备-埋数篇

    千次阅读 2019-01-07 21:03:20
    性能测试数据一般分为存量数据和交易数据。存量数据为历史记录数据,一般较大。交易数据的数据量则需满足压测时的需求,要足够多。 数据准备一般有以下方法:  1.直接导入已有的数据库;(实际情况不会有大量数据...
  • 软件款测试人员在测试这种类型的应用软件时,除了需要设计测试用例外,还需要准备相应的测试数据。可以说准备测试数据也是作为软件测试的一项必须的工作。如果没有正确的测试数据,测试过程有时候就无法很好的执行,...
  • 如何准备性能测试数据

    千次阅读 2016-02-19 18:19:01
    在软件性能测试过程中,测试数据准备是一个非常系统化、工作量非常庞大一项工作。如何准备支持不同业务操作、不同测试类型的大量测试数据来满足负载压力测试的需求是性能测试过程中经常面对的一个重要话题。   ...
  • 压力测试数据

    千次阅读 2016-05-31 06:25:00
    压力测试等级,压力测试数据准备
  • 如何准备测试数据

    千次阅读 2007-12-20 17:36:00
    导读: 在软件测试过程中,测试数据准备是一个工作量很大而且也是一个技术活。因此如何准备大量的测试数据,而且如何准备高质量的测试数据,满足测试的需求,就是一个重要的话题。 首先看数据的来源,数据的...
  • 测试数据设计与管理指南 在目前信息与技术革命性增长史上,测试者通常在软件测试生命周期中经历大量的测试数据消耗。 测试人员不仅收集/维护现有来源的数据,而且还生成大量测试数据,以确保其在实际使用中提供...
  • 其实大部分类型的测试都需要去准备测试数据。 手工测试:一些基础数据,比如配置数据等等是需要去准备的; 自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的; 性能测试:跟自动化测试...
  • MySQL 测试数据快速生成

    万次阅读 2019-04-21 15:58:01
    MySQL 测试数据快速生成 一、前言 在我们进行大数据量的报表测试以及性能测试时,需要数据库中存在大量的基础测试数据,但是依赖于系统本身大多数情况下都无法快速产生大量适合的测试数据,这就需要我们手动生成...
  • 极速导入elasticsearch测试数据

    千次阅读 2019-04-21 17:14:57
    快速导入测试数据用于elasticsearch查询练习
  • postgresql 生成测试数据

    千次阅读 2018-04-10 09:45:56
    此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的):(1)准备知识针对 Postgres生成数据方法 生成序列SELECT * FROM generate_series(1,5);生成dateSELECT date(generate_series(now(), now() + '1 ...
  • 自动生成测试数据

    千次阅读 2012-08-17 16:36:52
    很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试。而生成的测试数据往往需要符合特定规则。虽然可以自己写一段程序来进行插入数据,但每一个项目就写一个插入数据的程序并不明智。本文主要...
  • 接口测试数据环境参数准备

    千次阅读 2013-12-05 23:44:35
    参数构造方法 返回值校验 数据准备
  • 模拟测试数据的生成方法

    万次阅读 2019-01-10 15:00:41
    1)、应用系统或软件产品一般都需要进行不同阶段的验证工作,包括原型功能论证、功能测试、性能测试等,这些测试、论证场景都可能涉及到测试数据准备。 2)、根据用户的业务需求、数据预置约束条件、数据间层级...
  • Ant随笔:自动测试数据准备

    千次阅读 2004-08-27 14:07:00
    测试需要准备数据,自动测试时又如何自动去准备数据呢?这些数据测试开始时,真的有效吗? 自动测试时,如何去准备数据库中的数据?如果项目组用了Ant + JUnit之类的解决方案,如果不能自动的准备数据,你会觉得...
  • Spring单元测试,SQL数据准备

    千次阅读 2012-09-19 09:01:07
    测试中,一般的数据库数据Mock是不可少的。在前文的基础上,我们写读取脚本把数据写入数据库的工具类。 import org.junit.After; import org.junit.Before; import org.junit.runner.RunWith; import org.slf4j...
  • mysql测试数据批量插入

    千次阅读 2018-03-25 22:45:42
    场景2:业务测试数据1000个账号每个账号有5个商品 当我们遇到以上场景时,如何快速造数据? 原理 利用select的交叉连接(cross join)。如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的...
  • 准备工作在把数据用于机器学习的算法之前,必须认真准备数据。提供类别分布一致的训练集和测试集对于成功的分类模型是十分重要的。继续使用iris数据集,把80%的记录归入训练集,剩下的20%作为测试集。操作方法#导入...
  • Postgresql生成大量测试数据

    千次阅读 2014-06-17 12:14:12
    在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢? 此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的): (1)生成一万条测试数据的表foo mydb=# create table foo(id bigint); mydb=# ...
  • RF自动化测试系列-第三篇 测试数据

    千次阅读 2018-11-17 18:01:23
    Robot的测试数据可以分为三层结构:测试工程Project(或叫主目录),测试集合Test Suite,测试用例Test Case。除了这三层基本机构外, 还有用户关键字,变量文件, 资源文件等。他们的关系如下图所示。 测试用例...
  • 接口自动化测试(3)-数据准备

    千次阅读 2018-10-29 15:08:27
    第二篇提到了接口自动化大概意思:从excel自动读参数和预期结果,做接口测试并断言,生成excel测试报告。这篇写一下excel里面怎么写,并且用代码找到文件,怎么读内容。具体读出来怎么用放下一篇继续写。 先看excel...
  • Step1. 固定格式的类的注解 ...网络上对于Spring Boot如何组织JUnit测试数据并不能搜索到较好的解决方案,所以自研了本方案,主要解决“Spring Boot中如何组织JUnit单元测试的测试数据”的问题
  • ElasticSearch_1_导入官网测试数据

    千次阅读 2019-01-21 11:24:40
    一) 准备测试数据 去官网下载测试数据 https://download.elastic.co/demos/kibana/gettingstarted/logs.jsonl.gz https://download.elastic.co/demos/kibana/gettingstarted/accounts.zip ...
  • 可靠性测试和软件性能测试数据总结 在学习编程的过程中,我觉得不止要获得课本的知识,更多的是解决问题的方法,面对新问题该怎么解决,这样我们才能走在最前方,我是达内的学员,感谢你对本博客的支持;  ...
  • ice服务器框架压力测试数据

    千次阅读 2011-07-12 15:50:14
    有段时间为公司做了一些技术收集...对ice3.3.1框架开发的服务器做了一个简单的压力测试数据见下: 目的:测试在大量并发连接下服务器响应客户端的时间描述:统计的数据直都使用客户端从发出消息到返回消息为依据,
  • 数据库生成测试数据(SQL实现)

    千次阅读 2020-03-01 18:19:13
    项目中偶尔会有造数据进行测试的情况,根据常见的数据特征,我这里假设数据某表Table_X含4个字段,每个字段的要求如下,需要造出5000条数据。 以上需求看上去非常简单,但比较具有代表性,其它复杂的需求也是这些小...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 552,154
精华内容 220,861
关键字:

测试数据准备