广西交科集团有限公司 广西南宁 530007
摘要:随着互联网技术的不断发展、进步和提高,人们对软件质量的要求也变得越来越高。软件的质量问题成为了一个项目成功与否的关键因素之一。因此,找到一种既通用又有效的质量管理办法,对软件项目管理来说,是一个重要的课题。PDCA循环作为质量管理中的一种通用方法,经过大量的时间证实,确实是可以有效地降低软件项目出现质量方面问题的概率。本文分析了车道系统在上线后出现各种质量问题的原因,进行总结,结合PDCA循环管理法,整理了一套车道系统的软件测试流程。该流程按照PDCA“计划、执行、检查、行动”的思路,做好后续系统版本的测试工作,避免了版本上线后出现系统异常退出的事故,降低了系统因修复缺陷而升级的概率。
关键词:PDCA;质量管理;软件测试流程
A software testing process based on PDCA
LU ye
(Guangxi Transportation Science And Technology Group Co.,Ltd;Nanning,Guangxi,530007)
Abstract:The requirement of software quality is becoming more and more high to people,with the continuous development, progress and improvement of Internet technology. The quality of software has become one of the key factors for the success of a project. Therefore, it is an important task to find a general and effective quality management method for software project management. PDCA cycle as a general method of quality management, after a lot of time proved that it can effectively reduce the probability of quality problems in software projects. This paper analyzes the reasons for various quality problems of the driveway system after it is put on line and summarizes them. Combined with PDCA cycle management method, a set of software testing process of the driveway system is organized. This process is based on the idea of PDCA "Plan, Execution, Inspection and Action" to do a good job of testing the subsequent system versions, avoid the accident of abnormal system exit after the version is launched, and reduce the probability of system upgrade due to repair defects.
Key words: PDCA;Quality management;Software Testing Process
0引言
软件测试是指制定程序再特请条件下的操作过程,从而检测软件错误,测量软件质量和评估项目合规性0。软件测试是软件生命周期中的重要组成部分,对软件质量的保证起非常重要的作用。在项目管理中,软件开发是一个相对固定的过程,但软件测试是一个动态的过程,因此,在软件测试过程中,需要成熟的测试过程和复杂的管理方法0。
PDCA循环又称“戴明环”,是20世纪50年代由美国质量管理专家戴明博士提出并在日本成功运用的一套理论0。PDCA循环主要分为四个阶段:计划(Plan)、执行(Do)、检查(Check)、处理(Action),意味着质量管理体系的持续改进,是项目管理中质量管理的常用方法。PDCA循环本身就是个动态的过程,不仅可以运用在整个项目的管理过程中,也运用在具体的某个阶段的相关过程中。该理论可以在过程的策划、实施、控制和持续改进中都起到指导框架的作用。
1存在问题
自2020年1月1月零点,全国高速公路取消省界实体收费站,车道系统也由消站前业务的系统切换到消站后业务的车道系统。新车道系统正式上线使用后,由于系统容错性不够健全和测试粒度不够,导致系统在处理未知异常情况时,多次出现处理错误,或异常退出的情况。此外,由于系统设计不合理,在功能变更后,无法正确评估功能修改可能造成的影响,在测试时间较短的情况下,无法覆盖所有侧重点,导致变更功能或问题修复后的版本上线后,引发其他的错误。
对车道系统的软件测试工作进行总结,发现主要存在以下2个问题:测试粒度不够、版本回归测试不全。
测试粒度不够,体现在对某个功能的测试用例设计时,覆盖不完全,只考虑了功能的正常情况,及部分异常情况,由于未对设计的测试用例进行评审工作,导致该功能的测试用例缺失了部分异常情况,及该功能引发的其他影响。
版本回归测试不全,主要的原因是在系统上线后,未能及时沟通和整理版本回归测试应该包含的内容,导致在新版本要发布前,因时间紧迫而无法对系统所有测试用例进行回归,最终导致部分功能尚未进行测试的情况下,版本就需要发布上线,从而遗留了很多隐患。
2测试过程管理
软件质量并不是由测试工作决定的,但是软件测试可以帮助提高软件质量。测试粒度不够和版本回归不全,归根结底还是由于没有做好测试过程地管理。因此,为了能更好地提高软件质量,我们可以借助PDCA循环的质量理论,来优化软件的测试过程管理。
软件测试过程是保证软件质量的过程,是整个软件生命周期的重要过程,包括:
.png)
图1 软件测试管理过程
上图的测试管理过程,遵循两个PDCA的循环,分别为:用例设计和测试执行。
.png)
图2 用例设计循环和测试执行循环
2.1用例设计循环
用例设计分为两个部分的用例,一是每个版本计划中需求的测试用例,通常称之为变更测试用例;二是回归测试的测试用例,称之为回归测试用例。其中,变更测试用例的测试需求来自版本计划,回归测试用例的测试需求来自系统业务逻辑及客户需求。
用例设计循环的目的是,为了解决测试粒度不够、版本回归测试不全(明确测试重点)的问题。
用例设计循环中四个过程所代表的含义如下:
(1) P - 计划,根据版本计划确定需要进行设计的变更测试需求;或根据系统业务逻辑,及与客户或项目经理进行沟通讨论,确定的回归测试需求。
(2) D - 实施,根据确定的测试需求,设计测试用例。
(3) C - 检查,测试用例编写完成后,组织项目经理、开发人员、客户,根据需求对测试用例进行评审。
(4) A - 处理,若测试用例评审通过,则归档测试用例;若评审不通过,需要进行补充和修改,则完善测试用例。并在完善之后,再次进行用例设计循环。
上述四个过程中,过程C,及用例评审非常重要,不可缺少。
2.2测试执行循环
测试执行循环的目的是管控测试执行流程,为测试执行流程提供依据。
测试执行循环中的四个过程所代表的含义如下:
(1) P - 计划,根据版本计划和项目计划,制定测试过程的测试计划,计划包含从测试需求到测试结果的执行。
(2) D - 实施,按照测试计划,根据变更测试用例和回归测试用例,对开发提交的版本执行测试,若发现问题,走缺陷的管理流程,直到当前版本达到准出原则,才能结束。
(3) C - 检查,根据测试执行情况,对测试过程中发现的问题进行总结,并对测试结果进行评估。
(4) A - 处理,若测试结果评估为通过,则等待客户验证;若测试结果评估为存在需要修改之处,则再次进行测试执行循环。
3自动化测试
通常情况下,系统的主要业务处理流程并不会因为版本功能的变更而发生变化,因此,在规划版本回归测试时,可以考虑借助自动化工具或脚本来进行自动化测试。由于车道系统与常规的B/S和C/S架构的系统不同,车道系统的场景大多数需要借助外设,才能完成系统业务逻辑的校验,如:天线,读写器,OBU设备,CPC卡等,很难借助自动化工具来进行自动回归,但是,可以通过脚本模拟外设的读写过程,自动化回归一部分测试用例,无法自动化回归的测试用例在手动执行即可。
在回归测试过程中引入自动化测试,节省了回归测试的时间,不仅可以解决时间不够的问题,同时也可以避免缺少对应设备时无法覆盖场景的情况。
结束语
本文以PDCA循环的思想为基础,提出了车道系统的软件测试过程的工作流程,解决了车道系统测试工作中存在的测试粒度不够和版本回归测试不全的问题,优化了软件测试过程管理,提高了软件质量。
同时,软件测试过程的优化,为项目管理中其他过程提供一个参照,为整个项目管理工作逐步善奠定了基础。
参考文献
[1]张广梅.软件测试与可靠性评估[D].北京:中国科学院研究生院,2006.
[2]李功飞.基于项目管理角度的软件测试流程及管理.无线互联科技,2019(12):43-44.
[3]费熊熊.PDCA循环在软件质量管理中的应用探析[J].信息系统工程,2018,(12):60.