数据建模在性能测试中的理解

百度搜索:小强测试品牌

如果觉得本文不错,请多多转发一下哈

引子



概念是一个让人又爱又恨的东西,有些东西需要概念来解释,但有些东西又被概念所迷惑。很多所谓高大上的概念其实你剥开来看并没有那么高级。

因为在小强测试品牌培训班中看到了有的学员聊了这个话题,所以今天就顺便写写关于数据建模这个概念在性能测试中到底是个啥?

我所理解的数据建模



按照我个人的理解在性能测试中的数据建模可以分成两个方面来理解,一个是基础数据有的人也叫铺底数据(概念也是越玩越花),另一个是业务场景(其实就是场景用例)。

1 基础数据

这个其实非常好理解,我说一个例子大家就明白了,你测试的时候在空库和有一定基础数据的条件下肯定会不一样,只要有数据库SQL基础的童鞋一定能理解!

那么,基础数据我们参考什么得来呢?最好从线上的真实数据分析得来。这里我经常听到很多人说我自己造数据啊什么的,不是不可以,但我看到的大部分人造的数据其实没有啥实际意义!为啥这么说呢,因为你造的数据分布和线上有很大差异啊。比如,线上的用户类型或状态有有效、无效之分,但你造的都是有效的,反正就是诸如此类的,分布会有较大差异。

2 业务场景

这个也很简单,就是上文我们提到的,本质就是场景用例,学过性能测试的童鞋都能明白,此处不再多说。

那么所谓的建模在业务场景这块其实就是各种业务完成的一个比例分布。比如,一个用户登录之后,有30%在浏览网页,而40%在搜索,另外的在下单。这个就是所谓的建模了,可以理解为对于业务场景更加具体的描述。

那么问题来了,业务场景的设计我们根据什么得来的呢?这里的方法比较多了,我简单介绍常见的几种:

1)根据线上的真实监控得来,这个是指运维系统对线上的监控,一般都会得出较为全面和直观的指标供我们分析,比如访问量、访问峰值、访问路径等等,我们可以根据这些来数据来估算。

2)80-20原则。这个应该不用多说了,凡事一个合格的测试工程师必然应该知道,但我猜应该有一部分也会不知道,哈哈。简单来说这个原则告诉我们80%的用户会干20%的事情。我在网上看到过有人说用这种方法估算是错误的,不科学的。其实我想说,这世界哪里有对错?万物皆是相对的。当你在没有任何历史数据和线上数据做支撑的时候,它完全可以派上用场啊。所以说,知识学好其实相对容易的,但是想学活了却相对比较难了,大部分都被后者挡住了!

除了上面的两种方法外,还会有其他的方法,这里就不展开说了。

总结

我们要学会对现在五花八门的概念进行剖析,更要学会灵活的应用知识。很多知识和方法并不是独立存在的,绝大多数情况下都是混合存在和应用的,我们最不缺的就是知识,而最缺的是思维!

《小强软件测试疯狂讲义-性能及自动化》出版啦,各大电商网站均可购买,搜索书名即可。

交流群:138269539

时间: 2024-11-06 14:32:09

数据建模在性能测试中的理解的相关文章

数据仓库建设中的数据建模方法(转)

简介: 本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家.希望帮助大家在数据仓库项目建设中总结出一套能够合乎目前业界规范的,满足大部分行业数据仓库建设标准的一种方法. 所谓水无定势,兵无常法.不同的行业,有不同行业的特点,因此,从业务角度看,其相应的数据模型是千差万别的.目前业界较为主流的是数据仓库厂商主要是 IBM 和 NCR,这两家公司的除了能够提供较为强大的数据仓库平台之外,也有各自的针对某个行业的数据模型. 例如,在

浅谈数据仓库建设中的数据建模方法

所谓水无定势,兵无常法.不同的行业,有不同行业的特点,因此,从业务角度看,其相应的数据模型是千差万别的.目前业界较为主流的是数据仓库厂商主要是 IBM 和 NCR,这两家公司的除了能够提供较为强大的数据仓库平台之外,也有各自的针对某个行业的数据模型.       例如,在银行业,IBM 有自己的 BDWM(Banking data warehouse model),而 NCR 有自己的 FS-LDM 模型.在电信业,IBM 有 TDWM(Telecom Data warehouse model)

mongodb中的数据建模

一对一的关系:Embed,比如用户信息集合有Address字段,Address字段有省.市.县三个字段.建模如下: 一对多关系:一篇文章有多条评论,为1对多关系 由于MongoDB对单个文档(document)有大小限制16M(高于v1.8),设计时也要将这个限制纳入考虑中. 多对多关系:学生和课程是多对多的关系,一个学生可以选多门课程,一门课程有多名学生参与. 多对多使用了连接(Linking),连接是通过引用(References)来连接两个集合.MongoDB References有两种:

我所理解的性能测试中负载测试与压力测试的区别

性能测试中负载测试,压力测试有什么区别 对于性能测试,负载测试,压力测试的区别,之前总自认为是清楚的,后来被人问住了,才发现还差的远.这儿网上摘了一些内容,加上自己的理解,算是弄清楚了吧.特此记下,避免忘了.如有错误之处,还望指正. 性能测试(或称多用户并发性能测试).负载测试.强度测试.容量测试是性能测试领域里的几个方面,但是概念很容易混淆. 下面将几个概念进行介绍. 性能测试(Performance Test):通常收集所有和测试有关的所有性能,被不同人在不同场合下进行使用. 关注点:how

用户画像数据建模方法

作者:百分点技术总监郭志金 摘自:百分点(ID: baifendian_com) 从1991年Tim Berners-Lee发明了万维网(World Wide Web)开始,到20年后2011年,互联网真正走向了一个新的里程碑,进入了“大数据时代”.经历了12.13两年热炒之后,人们逐渐冷静下来,更加聚焦于如何利用大数据挖掘潜在的商业价值,如何在企业中实实在在的应用大数据技术.伴随着大数据应用的讨论.创新,个性化技术成为了一个重要落地点.相比传统的线下会员管理.问卷调查.购物篮分析,大数据第一次

MongoDB实战-面向文档的数据(找到最合适的数据建模方式)

前一段时间一直研究通过Ruby操作MongoDB数据库,在学习的过程中也分享了自己学习成长的过程,撰写了包含两篇入门操作文章和十二篇进阶文章.本篇文章开始,我们将进入MongoDB的实战操作流程,MongoDB这一非关系型数据库-是一个文档型数据库,存储的是面向文档的数据. 如何在MongoDB数据库中使用schema 设计数据库schema是在已知数据库系统特性.数据本质以及应用程序需求的情况下为数据集选择最佳表述的过程.传统的关系型数据库RDBMS中鼓励使用正规化的数据模型,从而确保数据的可

转:性能测试中的性能测试指标与用户体验分析

转自:http://www.ltesting.net/ceshi/ceshijishu/xncs/2012/0223/204182_2.html 性能测试中的性能测试指标与用户体验分析 网络应用性能分析的目的是准确展示网络带宽.延迟.负载和TCP端口的变化是如何影响用户的响应时间的.利用网络应用性能分析工具,例如 Application Expert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶 网络应用性能分析的目的是准确展示网络带宽.延迟.负载和TCP端口的变化是如何影响用户的响应

LoadRunner性能测试中Controller场景创建需注意的几点

在LR工具做性能测试中,最关键的一步是Controller场景的设计,因为场景的设计与测试用例的设计相关联,而测试用例的执行,直接影响最终的测试结果是怎么的,因此,我们每设计一种场景,就有可能是一个测试用例的执行(一个场景设计里面可以有多个脚本,场景计划方式可以按组方式,也可以按场景方式),如果场景的设计不正确或不合理,那也无谓在Analysis中结果分析了,对吧? 下面分享一下,在Controller设计场景时需要注意和理解的问题: 1.  在场景中持续时间设置将覆盖Vuser迭代设置.这意味

基于随机变量的熵来进行数据建模和分析

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer 写在前边的话 首次接触信息熵,信息增益的概念是在阅读<机器学习实战>这本书的时候了解到的,那个时候对这几个概念还是一知半解,虽然当时可以理解,但是记忆却保持不了太久,几个月后,再次阅读一个数据专家的代码时发现人家对于用户异常行为检测的算法模型采用的就是随机变量的熵来建模的 机器学习