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后即时生效 

•如果质量不够好,我们希望尽快失败(以一种有意义的方式) 

•静态: 在发布之前 

•动态: 在发布之后

DevOps核心概念----代码质量

静态代码分析

静态代码分析概述

•静态代码分析工具 

•通过读取源代码:  

  –对于定义好的代码书写规则检查代码违规性 

  –基于代码提供统计数据 

  –代码行  

  –注释 (%)  

  –热点/ 质量  

  –插件通常有效

DevOps核心概念----代码质量

定制代码分析

为你的项目量身订做代码分析

•任何独立项目都有所不同 

•分析可以基于项目调整 

•代码分析可针对所有主要语言定制化

DevOps核心概念----代码质量

其他静态代码分析工具

DevOps核心概念----代码质量

Cucumber

示例

DevOps核心概念----代码质量

功能自动化测试– Selenium

通过Selenium自动化浏览器进行功能测试

•功能测试是确认应用和用户之间接口的交互,以及应用是否正常工作。 

•通常我们用grid来进行多线程测试。

DevOps核心概念----代码质量

Selenium Hub/Grid 界面

DevOps核心概念----代码质量

功能自动化测试– 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核心概念----代码质量的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出DevOps:SonarQube提升代码质量

具有代码质量的 Azure Devops 拉取请求修饰

深入浅出DevOps:SonarQube提升代码质量下

基于Sonar推动DevOps流程中的代码质量优化

敏捷过程中如何保证代码质量

Devops质量卡点