当前位置: 首页>編程日記>正文

DevOps ACA 软件代码与质量管理(六)

DevOps ACA 软件代码与质量管理(六)

文章目录

    • 软件代码与质量管理
      • 1.版本控制
      • 2.代码规约
      • 3.单元基础测试

软件代码与质量管理

1.版本控制

1. 版本控制-定义

  • 在软件工程学里,版本控制是指追踪和控制软件变更的实践;

  • 版本控制系统是用来辅助进行版本控制的工具;

  • 版本控制系统的发展历史
    – cvS
    – Subversion/ClearCase
    – git/hg/tfs

在这里插入图片描述

2. 为什么需要版本控制系统

  • 记录谁在什么时间做了什么
  • 多人团队协作
    – 同步
    – 并行
  • 发布管理
  • Commit Message提供额外的信息,解释变更原因
  • Bug 调试 回滚

3. 分支策略

  1. 主干开发,分支发布
  • 管理简单
  • 主干问题会阻塞开发进程

  1. 分支开发,主干发布
  • 开发分支可以提供可靠的代码隔离
  • 主干问题会阻塞开发进程

  1. 分支开发,分支发布
  • 开发分支可以提供可靠的代码隔离
  • 主干的问题不回阻塞发布
  • 集成时间点可能延后

在这里插入图片描述

2.代码规约

1. 编程规约构成
在这里插入图片描述
2. 编程规约的范例

  1. 不允许美元符号、下划线出现在变量中。下划线和美元符号有特殊意义 .
  2. 不允许用拼音和英文的混合,或者是中文。所有的变量都应该使用标准的英文,英文单词不会出现歧义。
  3. 使用匈牙利命名法
    在这里插入图片描述
    在这里插入图片描述

3. 代码规约扫描工具 -P3C
在这里插入图片描述

3.单元基础测试

1.什么是单元测试

单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

例如,你可能把一个很大的值放入一个有序list中去,然后确认该值出现在list的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。

执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致。

2. 规模代价平方定律
定位并修复一个BUG所需的代价正比于目标代码规模的平方
例如 :
20行的代码在开发阶段发现bug,定位+修复时间可能只需要10分钟
200行的代码在别人调用时发现问题,定位+修复时间可能就需要1个小时,代码评审又需要1个小时

3.单元测试框架

在这里插入图片描述

4. 单元测试 -Mock测试工具

在这里插入图片描述

5. AIR原则
在这里插入图片描述
6. BCDE原则

在这里插入图片描述

7. 单元测试中的坏味道

  1. 测试场景过于集中
    针对某一个单元,要注重简单
  2. 测试依赖运行环境
    导致不稳定
  3. 测试缺少断言
    人眼观察是否成功或者失败,导致效率降低
  4. 用例间存在依赖
    需要独立,不能让用例之间存在依赖

错误实例:
在这里插入图片描述


https://www.fengoutiyan.com/post/15090.html

相关文章:

  • dea solver使用方法
  • 质量管理 学科代码
  • 7种质量管理工具
  • 质量管理认识
  • 质量管理手段有哪些
  • odoo 质量管理
  • 质量管理基本流程
  • 质量管理的定义
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機