• 0
  • 0
分享
  • 系统容量测试初探——软件测试圈
  • 曼倩诙谐 2021-06-09 09:58:34 字数 1756 阅读 1051 收藏 0

  当前,系统测试主要集中在功能测试、性能测试以及安全测试三大方面,对于容量测试的关注比较欠缺,特别是磁盘容量空间。从系统测试业务连续性上考虑,容量测试是其中不可或缺的步骤,做好容量测试可以进一步优化信息系统服务能力,从而提供持续、合理的系统服务。

  对于容量测试,首先需要明确几个概念。容量管理,是指根据当前和未来的业务需求,在恰当的时间、以恰当的成本提供所需的IT资源。管理对象是对环境中的业务应用系统、主机平台设备、开放平台设备、网络、机房环境设施等进行容量规划。容量评估,是指对系统是否能够达到要求的生产能力,并且有一定超负荷运行能力以满足未来市场的高峰要求的评估。

  本文从测试阶段出发,针对磁盘容量空间初步探索系统容量测试的方法。

  一、测试计划阶段早明确

  测试执行之前,首先开展测试左移,在准入前协同开发明确测试环境容量配置,预估生产环境容量配置,重点包括文件系统空间(写文件的日志)和数据库日志空间(数据库log)。其次,确定测试内容并明确测试交易的日志是否记录,对于写文件的日志通常写在程序中,对于数据库log通常有日志功能开启配置。在确定需要记录日志之后,先明确日志文件输出级别,主要包括0:0FF, 1:FATAL, 2:ERROR, 3:WARN,4:INFO,5:DEBUG,6:ALL,不同级别的日志详略程度不同,文件大小不同;再明确日志文件输出目录,便于关注相应目录的存储空间大小。然后确定测试环境容量配置,确保日志文件存储磁盘大小测试环境与生产环境一致或等比例。最后建议在总体方案中明确日志级别和容量配置,并作为评审事项。

1-1.png

图一 测试计划阶段容量测试工作要点

  二、测试执行阶段早发现

  测试执行过程中,需要对测试计划阶段明确的内容进行测试验证。

  1、关注日志文件生成情况,验证日志文件输出级别及目录是否符合预期,从数量上看,日志输出目录中含正确数量的日志文件,从内容上看,日志输出目录中日志文件的级别正确。

  2、关注日志文件生成速率,预防日志文件量达到磁盘容量上限,对于联机交易,评估测试环境和生产环境数据量的差异,根据测试情况,按周期(时/日/周等)查看文件系统空间中日志文件数量及大小以及数据库日志空间中系统表(含数据库表增/删/改/查等操作日志)空间大小;对于批量交易,确定铺底数据表及数据量,按节点、作业链等查看文件系统空间中日志文件数量及大小以及数据库日志空间中系统表(含数据库表增|删/改/查等操作日志)空间大小。

  3、关注存储空间达到上限的情况,协助项目组解决。解决方案如下:

  (1)修改:适度降低日志文件输出级别。如在不影响问题定位的前提下,将INFO级别降低成error级别,减少日志文件输出大小。

  (2)清理:对于联机交易,按周期(月/季度/年等)清理输出目录中日志文件及数据库log;对于批量交易,除了按周期(月/季度/年等)清理输出目录中日志文件及数据库log,还可以增加数据库表空间回收节点,定期执行该节点,清理数据库log回收系统表空间。

  (3)扩容:扩充本地主要文件系统存储空间及数据库日志空间;修改日志输出目录为NAS存储。

  4、关注迁移类项目,要详细确认迁移前后生产环境配置的差异、日志类型和级别的变化。特别是,如果生产配置日志级别有升级需求,项目负责人需及时知会测试经理,并重新进行容量评估。

1-2.png

图二 测试执行阶段容量测试工作要点

  三、测试完成阶段早处理

  测试完成之后,根据测试过程中日志文件及数据库log的增长情况,协同项目经理分析确定生产环境容量配置,并由项目组提前组织人员申请生产环境资源。项目投产前,配合项目经理在投产前将系统资源及时纳入监控,包括主要文件系统存储空间、数据库日志空间;项目投产后,主动关注信息系统应用层的容量情况,关注日志输出对磁盘空间的占用情况;配合项目组跟踪处理相关事件和问题,排查问题原因,参考容量达到上限的处理方法解决问题。

1-3.png

图三 测试完成阶段容量测试工作要点

  在系统测试过程中,针对系统容量情况做到早明确、早发现、早处理,做 好容量测试,对磁盘容量空间做到准确预估及处理,更经济地规划应用系统, 优化系统部署,完善系统测试业务的连续性。



作者:吴文锦   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.说说你知道的创建线程的方式继承Thread类,重写run方法。实现Runnable接口,重写run方法。实现Callable接口,重写call方法。通过线程池创建线程。2.说说Runnable和Callable的区别Callable可以返回一个类型V,而Runnable不可以。Callable能够抛出checked exception,而Runnable不可以。Future和FutureTask留给你们!我放GitHub上了(uphe)3.说说通过线方程池创建线程的式Executors.newCachedThreadPool();创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收...
            14 14 2137
            分享
          •   主流自动化框架  selenium:web端自动化框架,(行业里面最核心的框架)appium:手机app端框架。  requests:接口测试。  selenium工具类封装  selenium提供了很多方法供我们去完成网页元素的操作, 在实际开发中,我们的变量只有元素定位 和对元素的操作,其他的都是重复的,为了减少代码量,我们需要将selenium进行二次封装,这就是工具类。工具类就是我们的工具箱,里面的方法就是我们的工具。  创建常用工具  创建一个模块 在项目文件夹下面创建一个模组 new ->Python Package。  系统会生成一个带init文件的python&nbs...
            0 0 2245
            分享
          •   前言  一个高效的团队离不开leader和组员之间,组员和组员之间的通力合作。而合作的基础便是彼此之间的商讨与协调,意见的统一,进而在达成共识的前提下行动。那么如何才能和组员达成共识呢? 和组员之间的沟通必不可少。  做好沟通前的准备  孔子说:"言未及之而言,谓之躁;言及之而不言,谓之隐;未见颜色而言,谓之瞽(gǔ)。"意思是说:话还没说到那儿,你就出来发表意见了,这叫草率;话已经说到这了,你本来应该自然而然地往下说,可你却吞吞吐吐,遮遮掩掩,这叫有话不说;不看别人的脸色,上来就说话,叫做盲目。可见沟通并不是简简单单的只是表达想说的话。做好前期准备至关重要。  沟通地...
            0 0 2542
            分享
          • 在做并发测试时,遇到了设置持续时间,但是到达了持续时间后,一直不停止;线程组设置的信息如下:从图中线程组设置可以看出Jmeter需要开启100个线程并且在300s内持续性的给后端服务器发请求,运行后从右上角看到,已经运行超过了300s,但是线程一直没有停止。从jemeter.log 日志查看不停的打印Stopping because end time detected by thread从网上查资料得知是因为某些线程被阻塞了,出现线程阻塞的原因是JMeter的所申请的内存不足导致的,解决该问题有几种方法:调整脚本,可以通过调整并发数、减少断言,尽量不要使用监听器来减少额外的内存开销非GPU模式...
            0 0 15144
            分享
          •   版本与系统参数  Loadrunner12支持的环境参数:  LR12.02不支持win10,需要升级到12.53或以上。  LR12.55安装  注意事项:  1.去掉勾选”指定LoadRunner代理将要使用的证书”选项;  2.不能同时装两个版本,装低版本时需要卸载掉高版本。  安装结束,发现比LR11多了HPE Network Virtualization。  扩展知识:HPE网络功能虚拟化(NFV)系统(参考https://buy.hpe.com/us/en/enterprise-solutions/network-functions-virtualization-nfv/hpe...
            13 14 1720
            分享
      • 51testing软件测试圈微信