文本描述
大连理工大学专业学位硕士学位论文
摘
要
近年来软件逐渐构成人们社会经济活动和日常生活的必需元素,不管是移动端还是
计算机应用领域对软件的质量要求是全方位的,包括功能、性能、稳定、安全以及便利
等。对于以软件产品为主营业务的企业来说,软件质量问题所引发的事故也屡见不鲜,
对企业造成损失。想解决好软件存在的质量问题不得不面临一些实际的困难,不单是软
件项目的日益庞大和复杂,而且在开发过程中项目进度不可见,需求变更频繁,还需要
及时快速地部署上线。再者,软件测试技术仍旧不能理想地清除隐蔽的所有缺陷。
本论文主要是通过 DevOps理论与实践对小型互联网项目开发、测试和运维过程的
改进,进而提高软件项目的整体质量。本文首先对 DevOps的历史和发展进行回顾,然
后对国内外的现状进行了比较;介绍了软件质量管理相关理论,展示敏捷开发与传统开
发的区别,并在实际开发中所起到的作用和不足进行了介绍,进而提出了 DevOps的概
念,并针对两者的联系和区别看到提高软件产品质量的方法。再结合 INFO公司的互联
网应用项目为背景,对各个部门所出现的问题进行汇总,如开发文档管理混乱,需求文
档更新不及时,各部门文档不统一;开发部门对于编码习惯没有要求,技术债务过多;
没有专业的运维人员,服务部署、监控、维护等问题;测试环节完全依赖人工参与,对
用例编写过少,以及其他各个环节出现的问题进行记录。结合 CMMI能力成熟度模型与
DevOps相关理念和国内外的成功案例对问题进行参考分析,首先对项目原始的组织架
构进行调整,增设运维和质量管理部门,并对测试部门进行拆分整合;对服务器上的各
个服务和环境重新规划,并采用容器技术进行自动化部署,减少人工成本,进而提高生
产效率;通过 DevOps的相关案例,通过构建对应平台来减少各部门间的沟通成本,打
破信息孤岛;对线上服务进行监控和链路追踪,快速定位处理生产环境的质量缺陷,减
少订单流失。在制定解决方案并针对公司情况进行分析,并逐步实施。
最后,在方案的实施过程中,对各个环节的实际情况进行调整,对改进结果进行评
估。通过一段时间的观察,以前加班返工的情况明显减少,发布版本的过程由以前 1个
小时缩短到 5分钟之内,各部门之间推诿的现象也得到了改善。进而使 DevOps理念在
实际操作中对软件质量的提升产生了积极作用。
关键词:软件质量管理;CMMI;DevOps
- I -
INFO公司基于DevOps的软件质量管理改进研究
Research on software Quality Management Improvement based on
DevOps
Abstract
In recent years, software has gradually become a necessary element in people's social and
economic activities and daily life. No matter in the field of mobile terminal or computer
application, the quality requirements of software are comprehensive, including function,
performance, stability, security and convenience. For enterprises whose main business is
software products, accidents caused by software quality problems are also common, causing
losses to enterprises. In order to solve the quality problems of software, we have to face some
practical difficulties, which are not only the increasingly large and complex software projects,
but also the invisible progress of the project in the development process, frequent demand
changes, and the need for timely and rapid deployment online. Furthermore, software testing
techniques are still not ideal for removing all hidden defects.
This thesis mainly aims at improving the development, testing, operation and maintenance
process of small Internet projects through DevOps theory and practice, so as to improve the
overall quality of software projects. This thesis first reviews the history and development of
DevOps, and then compares the status quo of DevOps at home and abroad. This thesis
introduces the relevant theories of software quality management, demonstrates the difference
between agile development and traditional development, and introduces the role and
shortcomings of the actual development, then puts forward the concept of DevOps, and sees the
methods to improve the quality of software products according to the connection and difference
between the two. In combination with the background of Internet application project of INFO
Company, the problems of various departments were summarized, such as disordered
management of development documents, untimely update of requirements documents, and
inconsistent documents of various departments. The development department has no
requirements for coding habits, and the technical debt is too much; No professional operation
and maintenance personnel, service deployment, monitoring, maintenance and other issues;
The test session relies entirely on human involvement, with too little use case writing, and
documentation of problems that occur in various other sections. Based on the concepts related
to CMMI capability maturity Model and DevOps and successful cases at home and abroad, this
thesis makes a reference analysis of the problems. Firstly, the original organizational structure
of the project is adjusted, the operation and quality management department is added, and the
testing department is split and integrated. Replanning each service and environment on the
- II -
大连理工大学专业学位硕士学位论文
server and adopting container technology for automatic deployment to reduce labor costs and
thus improve production efficiency; Through the relevant cases of DevOps, the corresponding
platform can be built to reduce the communication cost between departments and break the
information island. Monitor online service and link tracking, quickly locate and deal with
quality defects in production environment, reduce order loss. After formulating the solution and
analyzing the situation of the company, implement it step by step.
Finally, during the implementation of the scheme, the actual situation of each link was
adjusted and the improvement results were evaluated. After a period of observation, the
previous overtime rework was significantly reduced, the release process was shortened from 1
hour to 5 minutes, and the buck-passing between departments was improved. Thus, the DevOps
concept plays a positive role in the improvement of software quality in the actual operation.
Key Words: Software quality management; CMMI; DevOps
- III -
。。。以下略