近几周在忙性能测试和数据分析的一些工作,同步进行着。总结了几条经验和感悟,简单记录一下:
  1、给你数据的人,比数据本身更重要
  主要基于两点考虑,a. 给定的数据是否真实——相当一部分的给定数据给定时已经为了达到某种目的而凑数,比如大部分政府部门和国企都会阶段性的找会计做黑账;b.给定的数据不具备普遍性——比如政府的大多数官方统计;
  2、莫要忽视零概率事件
  大学时数学专业的概率论几乎都是满分,现在为止却只记住了一句话,零概率事件不等于不发生;
  3、随机事件可以积累
  一个分子在一段时间的随时运动后,总是会和原点偏离一段距离。如果考虑更多随机的因素,一个很小的选择和事件会决定一个人的一生,比如砸到牛顿的苹果;
  马尔可夫的多个定理里面,这个是我体验深的;
  4、测试工作的根本目的是对项目和产品有行为的指导作用
  作为一名测试工作者,如果工作的产出不能指导项目行为,那是失败;
  比如一个网站的流量忽然增加了10倍,那么测试人员应该清楚网站的性能还能顶得住多少流量,假如扩充的话,需要多少什么样的服务器,需要多少。如果测试人员不能指导这些工作,那么无论用什么测试工具,给出多漂亮的测试报表,所谓的性能测试都是无意义的!
  5、对你的数据持怀疑态度,比如异常数据和脏数据
  对待任何数据,都要像对待开发一样,不要相信;
  6、折中的艺术
  开发如此,测试如此,项目管理也如此,当然,人员的管理更是如此,尤其在中国;
  7、性能测试的精髓是场景和拓扑的设计
  性能测试的关键是可以分析的场景,没有可以分析的场景,其他都是面谈;
  8、没人能够精确的回放事件
  工作中重要的两个体现是:a. 记录好操作的每个步骤 b. 任何讨论和扯皮都要留下证据
  任何函数都可以微分,但却不是都能积分回去的,原因很简单:山地自行车比赛枪声开始了,运动员骑着定级的山地车,过山坡,过水沟,过灌木,过飞石,到达终点后被告知,枪走火了,刚才的不算;你他妈倒着原路返回一个试试!
  9、万事皆有原因
  任何规律都有其原因,但是却并不一定被找到。
  一个同事刚做了一系列试验来证明qps和rt的关系,他们表现的非但不是反比关系,甚至没有啥关系。qps对cpu的依赖可能更多一些,而rt受io的应该应该会更多;实际拓扑和影响因素会有很多,但我享受这个过程。
  10、测试人员的所有相关工作中,容易的是写代码
  后这条留给测试的新手们