自动化测试如何准备测试数据

网友投稿 795 2022-11-29

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

自动化测试如何准备测试数据

事实上,大多数类型的测试都需要准备测试数据。

手动测试:需要准备一些基础数据,比如配置数据等;

· 性能测试:类似于自动化测试。

这里有一些与数据相关的概念。

测试数据分类

我们可以将测试数据分为几类:

· 基础数据,例如一些内容管理系统会配置站点标题、友情链接等基础配置数据;

· 库存数据,即现有数据。 比如在测试一些电商网站时,会提前插入一些商品信息、品类信息、物流信息等;

· 动态数据,也称为会话数据。 例如,在测试某电商网站的产品发布功能时,经常会创建一些新产品。

我们可以想象,基本数据可以很容易地与生产环境保持一致。 测试环境的存量数据会比线上环境少,测试环境的动态数据可能不如线上环境真实。

这里需要讨论测试数据的量级和真实性。

测试数据的大小

大多数情况下,测试数据的量级不如生产环境多。 所以测试数据可以是真实数据的子集。

如果有生产环境或者预发布环境,可以尽量保持与线上数据的数量级可比。 这样就可以在预发布环境中测量一些在测试环境中不易测量的数据量带来的问题。

测试数据的真实性

我们测试环境的数据往往与真实用户生成的数据不同。 比如我们在测试论坛系统的时候,可能往往帖子里的贴图很少,大小刚刚好,而网上用户的贴图可能五花八门,导致出乎意料的问题。

如何准备基本数据和库存数据

基础数据和库存数据与线上环境越一致,在测试中发现问题的概率就越高。 一般来说,可以使用以下策略:

· 全脱敏策略。 直接定期对在线数据进行脱敏,导入测试环境。 脱敏在这里是必须的,而且数据泄露引起的问题的严重性往往比普通的在线bug严重得多。

· 定量脱敏策略。 只上传一些线上数据,比如只拉1000个产品和1000个用户信息在线,然后做脱敏。 这里的技术实现难度会比较高,毕竟关联表要理顺。

· 爬虫策略。 如果是新项目/产品,网上没有现有数据可以导入,可以找朋友爬取一些数据,引导到测试环境进行测试。 比如做旅游网站,一开始没有用户的游记。 这时候就需要爬取一个类似的站点进行测试。

· 生成动态数据。 如果网上没有数据,朋友和商家不怕,那就需要人肉或者自动化的方法来生成一些数据。 如果系统简单,可以使用sql运行。 如果比较复杂,可能需要调用接口或者自动生成。 实在没办法的时候,也可以手动创建一些数据。

关于动态数据

大家在做自动化或者接口测试之后,经常会产生大量的动态数据。 然后问题来了。

这些数据存在于哪里? 这是什么意思? 如果我们需要以自动化的方式创建产品,产品信息和图片地址应该放在哪里? 事实上,这是一个长期存在的问题。

· 放入文件中。 有多种文件格式可供选择,例如xml/csv/json/yaml等,但不推荐使用excel。 毕竟是私有格式,扩展性不强。 而且一旦升级了excel,你的解析代码和库也可能需要改变。 好吧,强烈不推荐。

· 放入数据库。 爬取一些产品信息并存入数据库,然后读取数据库也是一个不错的方法。 也可以熟悉一下面试中经常被问到的sql的用法。 另外,可以使用数据库的事务机制来清理测试数据。

· 在代码中动态生成。 如动态随机生成用户姓名、性别、年龄等信息。

· 数据生成后,存在清洗问题。 清洗问题其实是数据生命周期的问题。 测试数据应具有以下生命周期。

· 短期数据。 用例完成后删除的数据。 一般来说,在线性能测试的数据都是这样的短期数据。

· 长期数据。 可以将用例中的数据放在那里,而且它可以一直存在。 过多的此类数据有时会影响测试环境的性能

自动化测试运行的数据建议使用短期数据,尽量清零,因为自动化测试的频率其实可以很高,而且如果每次产生一堆数据,量级 的数据可能在短期内变得非常大。 测试环境的性能会受到影响。

以上部分观点是个人观点,平淡粗暴,肯定有很多不成熟的地方。 欢迎您纠正它们。

上一篇:Web端功能测试(常用组件测试点)
下一篇:软件配置管理过程域
相关文章

 发表评论

暂时没有评论,来抢沙发吧~