以业务为核心的质量保证体系建设实践

admin 2021年12月16日23:45:04评论86 views字数 2587阅读8分37秒阅读模式

以业务为核心的质量保证体系建设实践

信息技术已经深入到人们生产、生活的各个领域,特别是当下已经被广泛应用在电力、交通、能源等这些国家关键基础设施行业,软件产品质量把控的好坏将直接影响到客户生产环境的安全和稳定。


任何一个领域的体系建设都需要对本领域的“关注内容”进行详细梳理之后,找到有效的“过程控制”手段和方法,软件领域的质量保证体系建设也一样,而且比传统领域的体系建设会更复杂。


下面就结合工作中的实际内容和情况分享下质量保证体系建设的实践经验,以下会从建设思路具体方法两个方面进行阐述。


为了能够建设一个行之有效的软件质量保证体系,对实际工作中涉及到的业务及流程进行梳理,从中找出两条主线:工作流和测试流


工作流(主要工作内容):

  • 测试场景及测试用例设计

  • 测试用例执行

  • 测试结果标记及归档

  • 版本迭代过程中的回归测试

 

以业务为核心的质量保证体系建设实践

测试流(产品级测试覆盖的内容):
  • 功能测试

  • 性能测试

  • 稳定性测试

  • 压力测试

  • 安全性测试

 
以业务为核心的质量保证体系建设实践



思 路

  • 将工作流中耗费人力的、重复的工作(主要的基础功能测试用例执行)实现自动化,释放人力。让人员可以更关注逻辑和业务层面的事情。


  • 将测试流中的测试内容过程化,且归档化和可视化,方便对产品质量有个直观的认知和数字化可追溯。


  • 打通工作流与测试流,让业务具有连贯性,最大程度地提高工作效率。



体系设计框架
  
以业务为核心的质量保证体系建设实践



具体方法

测试用例管理:使用一个在线管理平台,例如testlink.


  • 方便项目组内各成员同时进行用例设计;

  • 对用例做到动态管理,增、删、改、查很方便;

  • 最重要的是,可以跟自动化测试相结合,对测试用例的执行结果进行回填。


以业务为核心的质量保证体系建设实践

功能测试:使用Pytest框架实现基础功能测试自动化


  • 自动化的用例来源于Testlink,与Testlik上的用例一一对应,自动化执行完之后把测试结果回填Testlink;

  • 在回填自动化测试结果的同时,还会将测试结果形成一个电子表格,把测试项目、测试计划、测试版本、测试用例、测试结果、测试执行时间都记录下来;

  • 所有测试用例执行完后,自动调度系统会自动发送测试报告邮件。会列出总共运行了多少个cases,通过多少,失败多少,用时多长。


以业务为核心的质量保证体系建设实践
以业务为核心的质量保证体系建设实践
以业务为核心的质量保证体系建设实践
以业务为核心的质量保证体系建设实践

稳定性及压力测试


  • 使用Python脚本构造业务报文和CPU密集型报文,对网安产品(防火墙、审计)持续打业务(7层)流量

  • 使用Python监控脚本对设备在打流量过程中的CPU使用率、内存使用率、磁盘IO;CPU温度、网卡phy芯片温度、主板温度进行持续监控,把每个时刻的各个指标值都记录在电子表格里归档。


以业务为核心的质量保证体系建设实践
以业务为核心的质量保证体系建设实践

  • 使用Python监控脚本对设备在打流量过程中主进程是否发生重启、设备是否发生Crash、mbuffer是否发生泄漏持续进行监控,记录发生上述事件的时间、次数,并且自动发送监控邮件。


以业务为核心的质量保证体系建设实践
以业务为核心的质量保证体系建设实践
以业务为核心的质量保证体系建设实践

  • 使用Python脚本对电子表格里归档的CPU使用率、内存使用率、磁盘IO;CPU温度、网卡phy芯片温度、主板温度这些数据进行画图曲线展示,便于直观地了解变化是否线性,整个过程中的最大值、最低值及出现的时间点。


“内存使用率”监控数据曲线图示:
以业务为核心的质量保证体系建设实践

“CPU温度”监控数据曲线图示:

以业务为核心的质量保证体系建设实践

生产环境Testlink数据备份保障


对任务(自动化功能测试、自动化稳定性/压力测试)的执行和任务间调度使用Jenkins。

为了最大程度地保障生产环境的持续稳定运行和使其具备快速的failover能力,现已对生产环境Testlink Server进行了双机&双级备份技术保障。

  • 双机每天自动备份


Testlink MainServer----------Switch--------Testlink Backup Server

在"主testlinkserver"上创建定时任务和自动化脚本,每天22:00自动执行数据库备份一次,并且自动把数据同步到"备testlink server"

  • 双级备份:


操作系统级:可以对当前操作系统进行备份,定期进行。
数据库级:每天22:00进行。


自动化测试环境及拓扑

自动化测试环境信息


  • Python 3.7.2,pytest-5.3.5, py-1.8.1, pluggy-0.13.1;pytest-html 2.1.0;pytest-metadata1.8.0;pytest-rerunfailures 9.0;scapy git-archive.dev1b3952b2d7;selenium3.141.0;xlrd 1.1.0;xlutils 2.0.0;xlwt 1.3.0;XlsxWriter 1.2.8;paramiko 2.7.1;beautifulsoup44.9.3;


  • PyCharm 2019.3.3(Community Edition)

    Build #PC-193.6494.30,built onFebruary 6,2020

    Runtime version:11.0.5+b520.38amd64


动化测试拓扑图


以业务为核心的质量保证体系建设实践
6台计算机、3台防火墙设备、1台审计设备、1台支持镜像功能的华为交换机。
 
软件产品的质量保证不同于传统的产品,看不见摸不着,是无形的。要想在长期持续集成(CI)的开发过程中保证产品质量,我们需要有科学、高效的方法,即要有一套行之有效的体系来保证软件质量,这样才能随着软件复杂度的不断增加,让软件的质量同步得到提升和保证,才能更好地保障、服务我们的客户!
 
以业务为核心的质量保证体系建设实践
威努特简介
以业务为核心的质量保证体系建设实践


北京威努特技术有限公司(简称:威努特)成立于2014年,专注于工控安全领域,以自主研发的全系列工控安全产品为基础,为电力、轨道交通、石油石化、市政、烟草、智能制造、军工等国家重要行业用户提供全生命周期纵深防御解决方案和专业化的安全服务。凭借持续的研发创新能力和丰富的实战经验入选全球六家荣获国际自动化协会ISASecure认证企业之一和亚太地区唯一全球网络安全联盟(GCA)创始成员。
威努特秉承首创的工业网络“白环境” 技术理念,迄今为国内及“一带一路”沿线国家的2000多家客户实现了业务的安全合规运行,已成为最受客户信赖的工控安全领军企业。同时,作为中国工控安全国家队,积极推动产业集群建设构建生态圈发展,牵头和参与工控安全领域国家、行业标准制定和重大活动网络安全保障工作,致力于为国家关键信息基础设施保驾护航。

威努特始终以“专注工控,捍卫安全”为使命,致力于为我国关键信息基础设施网络空间安全保驾护航!

以业务为核心的质量保证体系建设实践

以业务为核心的质量保证体系建设实践

以业务为核心的质量保证体系建设实践

以业务为核心的质量保证体系建设实践

以业务为核心的质量保证体系建设实践

以业务为核心的质量保证体系建设实践

渠道合作咨询   张先生 18201311186

稿件合作   微信:shushu12121

本文始发于微信公众号(威努特工控安全):以业务为核心的质量保证体系建设实践

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月16日23:45:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   以业务为核心的质量保证体系建设实践http://cn-sec.com/archives/446155.html

发表评论

匿名网友 填写信息