广东移动软件质量检测平台方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Step 2:调度静态代码扫描扫代码
Step 3:调度完成单元测试
Step 4:自动编译
质量检测平台
Step 5:自动部署
Step 6:自动回归测试
6
网络总体结构
7
网络内部结构
Βιβλιοθήκη Baidu
配置中心
调度中心
分析中心
8
汇报提纲
1
方案和过程介绍 质量检测平台价值
2
3
质量检测平台
9
质量检测平台价值-减少风险
缺陷的检 测和修复 变得更快
比重,软件开发的各个阶段都会进行多次回归测试. 在回归测试报告中包含 概述和详细结果两部分,如下图;上半部分是整体信息,包括被测 项目名称,测试时间,测试用例总个数,成功个数;下半部分列举了每个用例的测试结果 ,执行步骤数目
回归测试报告
39
平台规划—自动部署
质量监控平台-自动部署
部署操作 脚本化
单元测试报告
37
平台规划—回归测试
编写测 试脚本
编写测 试用例
制定回归 测试策略
• 流程步骤
• 制定回归测试策略 • 编写测试脚本 • 编写测试用例 • 对应用程序做测试
自动回归 测试
通过自动回归测试,可以降低系统测试, 维护升级的成本;同步生成测试分析报 告.
38
平台规划—回归测试
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量
没有频繁的集成,某些会感到压抑
因为他们不知道代码的修改造成的影响。因为CI系统能够在出问题时发 出通知,开发者和其他团队成员在进行修改时就更有信心。而且CI提倡 所有软件资产构建时使用单一的来源,大家在准确性方面也更有信心.
15
汇报提纲
1
方案和过程介绍 质量检测平台价值 质量检测平台
2
3
16
自动取代码
系统配置
取代码配置
调度配置 扫描配置 反馈配置
分析中心
权限管理
质量分析 接口管理 跟踪监控 业务应用
系统管理
数据配置
统计报表 数据处理 业务分析 报告管理 用户管理 菜单管理 通信证管理 角色管理 权限项管理 日志管理
分类分析
BUG分析
5
NGBOSS 质量检测过程
Step 1:从配置库取代码
每一步 自动出报告
减少假定
软件的健 康程度可 以测量
10
生成可部署的软件
CI
利用CI,可以经常对源代码进行一些小的改动,并将这些改动与其他代 码进行集成。如果出现问题,项目成员会接到通知,软件会立即得到修 复。而不采用CI实践的项目可能需要到交付之前对软件进行集成和测试
11
减少重复过程
案例分析
减少重复过程可以节 省时间,费用和工作 量。这些重复的过程 可能在所有项目活动 中发生,包括代码编 译,数据库集成,测 试,审查,部署和反 馈
30
管理前台-缺陷类型分布
31
管理前台-缺陷一次解决率
32
管理前台-平均问题封闭周期
33
平台规划
01 自动单元/回归测试
完成质量监控平台的单元测试功 能,关注于20%核心代码,保证代码 质量,同时实现自动化回归测试
03 开发商测试监管
测试用例管理 测试结果跟踪管理 测试用例自动调度
02 自动部署
----测试用例管理 单元测试用例 回归测试用例
42
未来展望
生产系统 自动检查 统一自动部署
测试环境 统一管理
环境自动检查 数据自动检查 测试环境自动部署 生产环境自动部署 自动拨测
单元测试 集成测试 回归测试
43
感谢聆听!
Thanks for your time!
复代码 ,重构代码结构 ,提高代码效率.同时生成相应报告
41
平台规划—开发商测试监管
监管开发商的测试工作,是否完善、有效、高质
----测试用例调度 单元测试用例 回归测试用例
监管中心
----测试结果跟踪管理 单元测试结果管理 回归测试结果管理 • • • 提供程序质量问题登记 提供缺陷状态跟踪 确保问题的封闭,保证质量
部署脚本 通用化
对环境管 理进行版 本控制
将部署操作脚本化, 并进行部署验证测试
各类环境尽可能相似, 并使部署脚本通用化
对环境管理进行版本 控制,杜绝了对生产 环境的手工直接修改
40
平台规划—自动部署
自动部署完成后质量监控平台会有相应的报告生成,可查看相应的部署发布情况 对测试环境的部署,以及代码测试覆盖率等指标的体现可以查看下图左 相对于不可重复且不可靠、易出错的手工部署过程,自动部署引进软件复用的概念,检查重
18
自动代码扫描
• 方法复杂度的扫描结果报告
19
自动代码扫描
• 从下图中可以看到分析发现1791个 问题,已经修复的个数为638个;后续 的报告根据开发商的实际修复问题个 数该图会有相应的更新: 修复与未完成报告
• 报告中出现的前十大问题:包 括问题出现的个数及对应的错 误代码 Top10问题列表
质量监控平台任何一个指标都有运行次数和通过率报告,如下左图;横轴表示该指标的
测试时间(以天为单位),左纵轴对应柱状数据,表示该指标对于某一天的测试次数, 右纵轴对应蓝色曲线,表示该指标对于某一天的测试通过率
指标运行次数和通过率报告
平台规划
36
平台规划—单元测试
单元测试报告中包含了最近一次成功及失败测试的情况,测试结果趋势等信息.如下图
3:提取代码 配置中心 质量检测服务器
1:检测到代码更新
:2:通知更新带代码
调度中心 取代码的结果输出
Checkout 报告
17
自动代码扫描
通过代码扫描可以对整个项目的质量有个一个直观的认识,通过对扫描结果的分析监控项目的 质量和进度,尽早的控制项目的风险。 自动代码扫描能将大部分代码错误封闭在开发阶段,节省大量的后期成本和返工成本。 自动代码扫描可以覆盖绝大部分产品,使用简单快捷,完全不影响现有工作。 在质量监控平台上设置了定时任务,该平台会每天定时进行代码的扫描工作,并生成代码扫描 报告,报告如下图。
通过在客户端安装代码扫 描软件,可以跟IDE开发 工具结合起来,实时检测 开发过程中的错误,预 防错误编码
质量检测平台可以实实时 捕获开发过程中的错误, 并给出详细描述,可以为 开发人员节省修改的时 间
遵守编码规范
预防错误编码
节省开发时间
14
建立起产品信心
总的来说
有效地应用CI实践能够在开发软件产品时带来更大的信心。对于每一次 构建,团队成员都知道软件会通过测试验证其行为,项目的编码标准和 设计标准得到遵守,得到的结果是在功能上可测试的产品
软件质量检测平台
2012年05月
汇报提纲
1
方案和过程介绍 质量检测平台价值 质量检测平台
2
3
2
项目背景
业务支持系统的软件规模日益庞大,应用环境日益复杂,新业务需求
层出不穷,旧业务不断更新优化。
1 2
保障软件质量,确保个人提交不会影响集成
应对需求变化,突发压力下能及时交付产品 建立一套自动体系,降低运维难度和成本 端到端提升关键环节的工作效率 降低人员变更对开发过程带来的影响
22
管理前台
在后台功能搭建的基础上,为了降低操作的难度,增加易用性,我们后续将设计前 台交互页面,在可视化的环境下,监控整个项目的质量
23
管理前台-自动编译
24
管理前台-单元测试
25
管理前台-部署发布
26
管理前台-回归测试
27
管理前台-审查反馈
28
管理前台-缺陷密度
29
管理前台-缺陷密度变化趋势
代码扫描
项目配置 度量统计 自动测试 策略管理 定义代码规范
单元测试
脚本管理 测试跟踪 用例管理 客户端展示
回归测试
脚本管理 用例管理 客户端展示
邮件中心
邮件管理 联系人管理 邮件日志 管理 配置管理 内容管理
测试跟踪
系统安全
用户行为查询
自动部署
服务器管理
版本管理
发布部署
结果展示
异常行为用户监控 异常行为用户处理
3
3
4 5
建设目标
1 2
及时的软件质量检测 无侵入式的质量检测
3
4 5 6 7
质量检测的标准化
开发商的交付质量对比 问题定位和运维成本的降低 内建的质量保障体系 高开放性的平台
4
质量检测功能架构图
调度中心
配置中心
构建监控
监控界面及 功能 数据库监控 编译监控 维护界面 自动化构建 服务器管理 版本监控 数据收集 应用监控
实现对测试人员环境,用户测试环 境,和生产环境的自动部署功能
34
平台规划—单元测试
单元测试
• 测试用例
通过对当前系统的分析, 制定测试计划,编写相应 的测试用例和测试脚本, 运行测试,实现自动化测 试,在测试结束后生产测 试报告文档
质量监控平台
完成对代码的单元测 试,生成测试报告
•测试脚本
35
平台规划—单元测试
21
分析中心库
安全漏洞分析:
检测出项目中存在的安全漏洞 及风险
错误类型分析:
可分析出项目中的 各种错误类型及其 占比情况
分析中心库
可定制的代码分析:
支持用户定制代码分析
(保存系统核心数据,支 持各种分析)
错误修复数据分析
每次质量检测之后会分 析上次的错误的修复情 况
方法复杂度分析:
分析项目中的方法复 杂度并生成图表
12
增强项目的可见性
代码测试覆盖率 代码提交量 86% 95%
注意到 趋势
Product
有效的 决策
13
提升开发商能力、效率
通过质量检测平台对项目源代码的扫描,检测,可以实时发 现源代码中存在的错误和漏洞;提高开发商开发能力和效率
质量检测可以检测出不规范 的编码,通过该检测功能可 以提高开发人员的代码编 写规范
20
自动代码编译
• 自动代码编译通过编写项目的构 建脚本,实现自动代码编译,让 整个项目随时是可构建的,杜绝 风险的引入
• 质量监控平台会定时的执行项 目构建脚本,实现自动编译
项目名称 java NGBOSS
代码行数 1500 25000
构建 失败 成功
持续时间 31毫秒 109毫秒
构建成功的后 台输出