DevOps核心概念----代码质量
Posted 孔明NewIT指南者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps核心概念----代码质量相关的知识,希望对你有一定的参考价值。
DevOps核心概念之代码质量
代码质量
为什么我们需要测试?
•软件的功能“达成目标”
•判断软件设计以及实现的好坏
•软件的标准可能是主观的
关键的测试考虑点:
•维护成本
•技术短板
•读代码的人会比写代码的人多得多
•风险(例如财务损失)
什么是测试?
定义
软件测试是进行产品或服务质量的测试,并把调查结果提供给利益相关方。
软件测试也可以提供:
•意见
•以独立的视角让客户接受并理解软件实施的风险。
测试技术包括但不限于以发现软件BUG (错误或其他瑕疵)为目的执行程序或应用的过程。
http://en.wikipedia.org/wiki/Software_testing
不同的测试阶段
测试种类:
•UT 单体测试
•ST 系统测试
•SIT 系统结合测试
•UAT 用户验收测试
•TT 技术测试
•OAT 运营商验收测试
•FAT 领域验收测试
质量检验关
使用代码质量进行流程控制
•质量检验关是用来确定你的项目是否通过一个条件组合。
•作为确认点用于判断项目代码的质量是否过关,可以继续开发和实施流程,还是代码质量需要提高。
质量检查关的种类:
•静态
•单体测试
•功能性
•非功能性
•Canary测试
在CI流程中质量检查关的应用
整个流程的特点
•在代码提交到SCM后即时生效
•如果质量不够好,我们希望尽快失败(以一种有意义的方式)
•静态: 在发布之前
•动态: 在发布之后
静态代码分析
静态代码分析概述
•静态代码分析工具
•通过读取源代码:
–对于定义好的代码书写规则检查代码违规性
–基于代码提供统计数据
–代码行
–注释 (%)
–热点/ 质量
–插件通常有效
定制代码分析
为你的项目量身订做代码分析
•任何独立项目都有所不同
•分析可以基于项目调整
•代码分析可针对所有主要语言定制化
其他静态代码分析工具
Cucumber
示例
功能自动化测试– Selenium
通过Selenium自动化浏览器进行功能测试
•功能测试是确认应用和用户之间接口的交互,以及应用是否正常工作。
•通常我们用grid来进行多线程测试。
Selenium Hub/Grid 界面
功能自动化测试– OWASP Zed Attack Proxy (ZAP)
通过Selenium进行安全集成测试
•用于发现漏洞的免费开源的安全工具.
•基于Common Vulnerabilities and Exposures (CVE) 数据库扫描 HTTP 请求/响应
–SQL 注入
–跨站点脚本攻击
–信息泄露(会话IDs等)
•通过拦截代理进行Selenium功能测试.
•生成 XML/html 漏洞报告.
安全测试- ZAP报告示例
可选择的产品
丰富的可选项
资料来源:https://newportal.cdc.accenture.com/sites/Initiative/New%20IT/Forms/AllItems.aspx?RootFolder=/sites/Initiative/New%20IT/New%20IT%20Introduction&FolderCTID=&View=%7b91572AEE-5DB0-40DE-B622-7F8994E206D8%7d
以上是关于DevOps核心概念----代码质量的主要内容,如果未能解决你的问题,请参考以下文章