您的位置:首页 > 其它

全新认识性能测试和自动化测试

2018-02-26 00:19 281 查看
要点:
一、性能测试是什么?

大家通过工具来压测系统还是号召100 人同时去访问系统,都不过是实现的手段或者方法而已,更应该关注性能测试的目的是什么,目的的不一样则实现的手段或者方法就有可能不一样。

性能测试的目的?
1.压测系统看系统的前端以及后端是否满足预测(类似功能测试用例中的预期结果和实际结果的概念)
2.压测系统看系统可以承受的最佳压力和最大压力,来判断系统的承受极限。
3.压测系统看系统在长时间运行下是否可以正常处理请求(类似疲劳测试)
4.容量规划,当系统越来越稳定的时候,我们要提前考虑它的远景规划,或者更通俗的解释就是“人无远虑,必有近忧”就是容量规划。

性能测试是一个过程的统称,并不是一个具体的定义。

二、性能测试分层模型
1.前端层
  主要指用户看到的界面。
  APP测试分为
       APP前端:APP专项测试
       APP后端:本质上和Web侧性能测试一样。
2.网路层:
  一种是测试不同网络状况下的大流量的表现
  一种是压力机和服务器最好在一个网段,让压力完整地到达后端,准确地评测服务端端性能。
  如果是测移动端APP 还要考虑在不同网络状态下的测试。
3.后端层
  3.1 业务层:从页面录制你的场景脚本。
                   例如 录制页面脚本完成登录、浏览商品页、下单的流程。
                   工具:LoadRunner
                   缺点:依赖于页面
   3.2接口层:做性能测试的首选,最有效的方式之一。
                   例如:有一个登录接口,只需要知道入参、出参以及规则等即可编写测试接口的代码,不需要等待页面的开发
                    提前了测试的切入点。
                   要求: 要有一定的编码能力。
   3.3 单元级: 对代码块的测试。
                      通过插桩或引入单元测试框架来完成,从而获取执行时间、CPU消耗以及内存占用率等信息来优化代码性能。
                     做不起来单元测试的几个原因:
                     a.业务变化快,涉及的代码的逻辑修改比较大。
                     b.开发人员的时间。
                     c.测试工程师的编码能力要求。

三、什么是自动化测试?
     简单地理解为:前期通过人工编码完成框架,后期解放人力并自动完成规划的测试。
    

四、自动化测试是否万能
     “酒虽好,但不要贪杯”
五、自动化测试分层模型
1.UI层:
   误区:UI指的就是用户可以用肉眼看到的页面。
   UI自动化测试原理:基于页面元素的识别和定位来模拟用户行为。后期再加入数据驱动和Page Object思想。
   冒烟测试:主流程的测试。
2. 接口层
    优点:基本避免了UI层自动化测试的缺点,并且一旦形成较为稳定、完整的框架后 基本上变为各端通用的。
    缺点:测试工程师的编码能力
3.单元层:
  一方面 代码能力要求较高。
  一方面 总体框架设计的思想。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息