信息技术已经深入到人们生产、生活的各个领域,特别是当下已经被广泛应用在电力、交通、能源等这些国家关键基础设施行业,软件产品质量把控的好坏将直接影响到客户生产环境的安全和稳定。
任何一个领域的体系建设都需要对本领域的“关注内容”进行详细梳理之后,找到有效的“过程控制”手段和方法,软件领域的质量保证体系建设也一样,而且比传统领域的体系建设会更复杂。
下面就结合工作中的实际内容和情况分享下质量保证体系建设的实践经验,以下会从建设思路和具体方法两个方面进行阐述。
为了能够建设一个行之有效的软件质量保证体系,对实际工作中涉及到的业务及流程进行梳理,从中找出两条主线:工作流和测试流
工作流(主要工作内容):
-
测试场景及测试用例设计
-
测试用例执行
-
测试结果标记及归档
-
版本迭代过程中的回归测试
-
功能测试
-
性能测试
-
稳定性测试
-
压力测试
-
安全性测试
-
将工作流中耗费人力的、重复的工作(主要的基础功能测试用例执行)实现自动化,释放人力。让人员可以更关注逻辑和业务层面的事情。
-
将测试流中的测试内容过程化,且归档化和可视化,方便对产品质量有个直观的认知和数字化可追溯。
-
打通工作流与测试流,让业务具有连贯性,最大程度地提高工作效率。
测试用例管理:使用一个在线管理平台,例如testlink.
-
方便项目组内各成员同时进行用例设计;
-
对用例做到动态管理,增、删、改、查很方便;
-
最重要的是,可以跟自动化测试相结合,对测试用例的执行结果进行回填。
功能测试:使用Pytest框架实现基础功能测试自动化
-
自动化的用例来源于Testlink,与Testlik上的用例一一对应,自动化执行完之后把测试结果回填Testlink;
-
在回填自动化测试结果的同时,还会将测试结果形成一个电子表格,把测试项目、测试计划、测试版本、测试用例、测试结果、测试执行时间都记录下来;
-
所有测试用例执行完后,自动调度系统会自动发送测试报告邮件。会列出总共运行了多少个cases,通过多少,失败多少,用时多长。
稳定性及压力测试
-
使用Python脚本构造业务报文和CPU密集型报文,对网安产品(防火墙、审计)持续打业务(7层)流量
-
使用Python监控脚本对设备在打流量过程中的CPU使用率、内存使用率、磁盘IO;CPU温度、网卡phy芯片温度、主板温度进行持续监控,把每个时刻的各个指标值都记录在电子表格里归档。
-
使用Python监控脚本对设备在打流量过程中主进程是否发生重启、设备是否发生Crash、mbuffer是否发生泄漏持续进行监控,记录发生上述事件的时间、次数,并且自动发送监控邮件。
-
使用Python脚本对电子表格里归档的CPU使用率、内存使用率、磁盘IO;CPU温度、网卡phy芯片温度、主板温度这些数据进行画图曲线展示,便于直观地了解变化是否线性,整个过程中的最大值、最低值及出现的时间点。
生产环境Testlink数据备份保障
-
双机每天自动备份
-
双级备份:
自动化测试环境信息
-
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
自动化测试拓扑图
威努特始终以“专注工控,捍卫安全”为使命,致力于为我国关键信息基础设施网络空间安全保驾护航!
渠道合作咨询 张先生 18201311186
稿件合作 微信:shushu12121
本文始发于微信公众号(威努特工控安全):以业务为核心的质量保证体系建设实践
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论