1 Perl语言
本次实习主要成果:基于SR的全量/增量覆盖率统计。
部门之前的该部分脚本是使用Perl语言编写的,晦涩难懂,没有维护人员。
2 UT & IT & ST
2.1 UT(Unit Test):单元测试
2.2 IT(Integration Test):集成测试
2.3 ST(System Test):系统测试
3 DT(Develpor Test):开发者测试
参考:
4 TDD(Test-Driven Development):测试驱动开发
测试驱动开发,在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。
5 cleancode
详见博客
《代码整洁之道 clean code》笔记
软件工程领域的大师级人物罗伯特·马丁(Robert C. Martin)所著的一本重量级经典图书《Clean Code》,中文译为代码整洁之道,书中提出代码质量与其整洁度成正比。 比如编程要遵守一些原则;命名、注释、函数。
参考:浅谈Clean Code
6 SR & AR
- IR(Initial Requirement):初始需求
- SR(System Requirement):系统需要
- AR(Allocation Requirement):配置需求
- SA(System Analyst):系统分析师,
- SE(System Engineer):系统工程师
- MDE(Module Design Engineer):模块设计师,当SE把不同模块之间的接口大致画清晰后,模块内部的设计交给MDE来进行;敏捷之MDE认知
- User Story:用户故事; 用户故事(一):什么是用户故事?
步骤:
-
需求经理:将用户需求(user story)转换成 客户能够接受的 初始需求 IR(Initial Requirement)
-
SA:IR 拆分为 SR
-
SE:SR 继续拆分 AR
-
MDE:当SE把不同模块之间的接口大致画清晰后,模块内部的设计交给MDE来进行;
7 敏捷开发
敏捷开发是一种项目管理和软件开发的迭代方法,侧重于协作、客户反馈和快速发布。
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,适用于竞争激烈,快速变化的市场。敏捷的客户协作观念,快速迭代能帮助团队以最小成本,最快速度满足客户真正的需求。
其特点:“个体与交互”胜过“过程与工具”、“可以工作的软件”胜过“面面俱到的文挡”、“客户协作”胜过“合同谈判”、“响应变化”胜过“遵循计划”。
敏捷开发迭代流程一般遵循以下五个步骤:需求分析(requirements analysis)、产品设计(design)、功能编码(coding)、功能测试(testing)、部署评估(deployment / evaluation)。流程图如下:
8 持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
实习部门使用Jenkins自动化部署, Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
9 DevOps
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。