选择特殊符号
选择搜索类型
请输入搜索
测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
带保护功能的驱动器和驱动板,用户如要测试正常的静态(不加主电情况下)输出波形,需要注意以下几点:1、如果功率管IGBT或MOSFET已经连接在电路中了,则加上驱动电源和PWM输入信号,就可以在输出端用...
测试项目:1、额定输出电流下的输入电压适应范围;2、输出带负载能力需要的仪器:1、调压器2、交流电压表、直流电压表和直流电流表
在广联达新干线或者是G+里面都可以下载
XXX驱动测试报告(无设备)
XXX 驱动测试报告(无设备) 1 引言 1.1 测试目的 写明测试所要达到的目标,如:保证配置对话框属性与属性窗口中的属相对应; 寄存器类型和个数正确;等等 1.2 测试背景 1、测试所用版本: XXX 2、操作系统: XXX 3、测试时间: XXX----XXX 4、开发人员: XXX 5、测试人员: XXX 1.3 参考文档 序号 文档资料名称 路径或链接 1 XXX XXXXXXX 2 列出测试中所查看的相关文档资料,写出文档名称以及路径(路径需超链接) 2 测试概要 2.1 测试点 罗列出所有测试要点 2.2 测试工具 写出测试中所用到得测试通讯的辅助工具 2.3 测试数据 写出测试中所用到得测试数据 3 分析摘要 3.1 问题 测试中遇到的问题(不仅仅指 bug)以及解决情况 3.2 结论与建议 测试情况总括以及建议 测试数据的情况: bug数量以及 bug严重程度
LED灯驱动器噪声测试(声压级、声功率级)
LED灯驱动器的噪声试验 一、项目介绍 本项目要求选定合适的测试位置测试被测产品的 A 计权声压级。 二、试验相关说明 1、样品描述: 图一为被测产品 2、本次试验依据的基础方法标准为: ENERGY STAR Program Requirements Product Specification for Lamps :Noise 及测试公司要求的行业标准。 3、试验说明 3.1 气候条件 温度: 20℃±5℃ 湿度: 50%±20% 3.2 将测试产品放置在平台上通过胶布将其分别固定在距离麦克风 0cm,1cm, 5cm,10cm 处进行噪声测试。 3.3 待驱动器稳定工作后, 测试并记录各测点不同亮度、 不同负载条件下的 A 计 权平均声压级。 三、测试现场 图一、测量时麦克风距离 LED 驱动器为 0cm 图二、测量时麦克风距离 LED 驱动器为 1cm 图三、测量时麦克风距离
前言
第一部分 工程基础篇
第1章 机器学习软件工程方法 2
1.1 机器学习简述 2
1.1.1 机器学习与人工智能、深度学习等的关系 2
1.1.2 机器学习类别与范式 4
1.2 软件工程方法 13
1.2.1 机器学习中的软件工程 15
1.2.2 编码和测试 18
1.3 朴素贝叶斯测试驱动开发案例 21
1.3.1 开发准备 22
1.3.2 开发邮件分类器 24
1.4 本章小结 29
第2章 工程环境准备 30
2.1 Anaconda 31
2.1.1 安装Anaconda 31
2.1.2 使用conda管理环境 32
2.1.3 Jupyter Notebook 基础使用和示例 34
2.2 使用Pipenv定制Python环境 37
2.2.1 Pipenv简介 38
2.2.2 Pipenv基础使用和示例 39
2.3 Docker打包环境 41
2.3.1 Docker简述 42
2.3.2 Docker架构 43
2.3.3 Docker基础使用和示例 45
2.3.4 打包示例 46
2.4 标准化在数据科学项目中的意义 48
2.5 数据科学项目工程环境 49
2.5.1 开发镜像 50
2.5.2 项目工程模板 51
2.5.3 操作演示 54
2.6 本章小结 55
第3章 实验数据准备 56
3.1 常用数据分布 56
3.1.1 伯努利分布 58
3.1.2 二项分布 58
3.1.3 泊松分布 58
3.1.4 均匀分布 59
3.1.5 正态分布 59
3.1.6 指数分布 60
3.2 开源数据集 62
3.2.1 开源数据集介绍 62
3.2.2 scikit-learn中的数据集 63
3.3 scikit-learn数据集生成接口 66
3.3.1 常用接口 66
3.3.2 分类模型随机数据生成 67
3.3.3 回归模型随机数据生成 68
3.3.4 聚类模型随机数据生成 69
3.4 随机数生成简介 70
3.4.1 随机数生成的原理和概念 71
3.4.2 随机数生成示例 72
3.4.3 随机数应用场景介绍 72
3.5 本章小结 73
第二部分 机器学习基础篇
第4章 机器学习项目流程与核心概念 76
4.1 机器学习项目流程 76
4.1.1 如何定义Y 78
4.1.2 如何取样X 81
4.1.3 如何划分数据集 83
4.1.4 如何选择学习算法 84
4.1.5 数据分析和处理 85
4.1.6 特征工程 87
4.1.7 模型训练与调参 88
4.1.8 模型评估与报告 89
4.1.9 模型部署 91
4.1.10 模型监控 91
4.1.11 模型重训或重建 92
4.2 机器学习算法8个核心概念 92
4.2.1 损失函数和正则化 92
4.2.2 欠拟合与过拟合、偏差与方差 98
4.2.3 交叉验证 101
4.2.4 数据泄露 104
4.3 本章小结 106
第5章 数据分析与处理 107
5.1 变量的类型 107
5.2 常用分析方法 108
5.2.1 整体数据概览 109
5.2.2 单变量可视化分析 110
5.2.3 双变量可视化分析 113
5.2.4 多变量可视化分析 118
5.3 缺失值分析与处理 120
5.3.1 数据缺失的类型 120
5.3.2 查看缺失情况 120
5.3.3 缺失值处理方式 122
5.4 异常值分析与处理 126
5.4.1 查看异常情况 126
5.4.2 异常值处理 129
5.5 数据分析工具包开发实战 129
5.5.1 核心功能 129
5.5.2 使用示例 130
5.5.3 核心代码 131
5.6 本章小结 139
第三部分 特征篇
第6章 特征工程 142
6.1 特征工程简介 142
6.2 特征处理基础方法和实现 144
6.2.1 定量特征 146
6.2.2 序数特征 148
6.2.3 类别特征 149
6.2.4 WOE编码 153
6.2.5 日期特征 155
6.3 特征离散化方法和实现 156
6.3.1 等宽和等频离散法 158
6.3.2 信息熵分箱原理与实现 161
6.3.3 Best-KS分箱原理与实现 167
6.3.4 卡方分箱原理与实现 172
6.3.5 分箱效果 178
6.4 本章小结 178
第7章 基于Featuretools的自动特征衍生 180
7.1 特征衍生 180
7.2 Featuretools简介 181
7.2.1 安装 182
7.2.2 核心概念和接口介绍 182
7.3 Featuretools原理 186
7.3.1 特征综合抽象 187
7.3.2 深度特征综合算法 187
7.4 Featuretools实践案例 189
7.4.1 流程 189
7.4.2 捷信数据 189
7.4.3 构建实体和实体集 191
7.4.4 构建关系 193
7.4.5 特征基元 196
7.4.6 深度特征合成 197
7.5 本章小结 198
第8章 特征选择 199
8.1 特征选择概述 199
8.1.1 特征选择及其意义 200
8.1.2 业务层特征选择 200
8.1.3 技术层特征选择 201
8.2 特征选择流程与模式 204
8.2.1 数据质量和特征质量 204
8.2.2 串联和并联流程 205
8.2.3 特征选择结果评价 206
8.3 特征预测力指标 206
8.3.1 相关性指标 207
8.3.2 关联性指标 208
8.4 过滤法与实现 211
8.4.1 常用单指标过滤法 211
8.4.2 相关性与IV双指标过滤法 213
8.4.3 最小冗余最大相关 214
8.5 包裹法与实现 215
8.5.1 前向选择实现 217
8.5.2 后向选择实现 218
8.5.3 Stepwise实现 219
8.6 嵌入法与实现 222
8.6.1 基于随机森林的特征选择 222
8.6.2 基于正则的特征选择 223
8.7 特征选择工具包开发实战 224
8.8 本章小结 230
第四部分 模型篇
第9章 线性模型 232
9.1 普通线性回归模型 232
9.1.1 线性回归 233
9.1.2 线性回归的假设 236
9.1.3 线性模型如何解决非线性问题 236
9.2 广义线性模型 238
9.2.1 建模方法论 238
9.2.2 示例 240
9.3 正则化的回归 240
9.3.1 正则化原理 240
9.3.2 Lasso和Ridge回归 241
9.3.3 正则化效果演示 241
9.4 逻辑回归 247
9.4.1 模型原理 247
9.4.2 最大似然估计 249
9.4.3 LogisticRegression解析与示例 249
9.5 金融评分卡 252
9.5.1 评分卡简介 252
9.5.2 加性原理 253
9.5.3 评分刻度与实现 254
9.6 解决共线性 257
9.7 本章小结 257
第10章 树模型 259
10.1 树结构 259
10.2 决策树 260
10.3 决策树算法 261
10.3.1 熵和基尼指数 261
10.3.2 ID3算法 263
10.3.3 C4.5算法 266
10.3.4 CART 267
10.4 树的剪枝 269
10.4.1 预剪枝 269
10.4.2 后剪枝 269
10.5 特征处理 270
10.5.1 连续值处理 271
10.5.2 缺失值处理 271
10.6 决策树实现示例 272
10.7 本章小结 275
第11章 集成模型 276
11.1 模型的可变组件 276
11.1.1 数据集之行列采样 277
11.1.2 算法之同质和异质 277
11.2 层次化的集成方法 278
11.2.1 投票组合法 278
11.2.2 前向逐步叠加法 280
11.3 Bagging方法 281
11.3.1 Bootstrap和Aggregating 281
11.3.2 Bagging模型性能分析实验 282
11.3.3 Bagging偏差和方差解析 286
11.3.4 随机森林 289
11.4 Boosting方法 291
11.4.1 Boosting的原理与实现示例 291
11.4.2 Boosting建模解析示例 299
11.4.3 Boosting的集大成者:XGBoost 300
11.5 Stacking概述与实现示例 301
11.6 Super Learner与ML-Ensemble 304
11.6.1 Super Learner实现示例 305
11.6.2 ML-Ensemble集成库 307
11.7 本章小结 312
第12章 模型调参 313
12.1 模型调参概述 313
12.1.1 调参问题定义 313
12.1.2 超参数和作弊的随机种子 314
12.1.3 调参三要素 315
12.2 调参流程和方法 316
12.2.1 调参流程 316
12.2.2 超参选取策略和特定模型超参推荐 317
12.2.3 自动调参之元学习和代理模型 318
12.3 Model-Free方法 321
12.3.1 网格搜索 321
12.3.2 随机搜索 323
12.4 XGBoost自动调参工具开发实战 324
12.4.1 功能和易用性设计 324
12.4.2 使用示例 325
12.4.3 代码清单 326
12.5 贝叶斯方法 333
12.5.1 贝叶斯优化介绍 333
12.5.2 BayesianOptimization优化实例 334
12.6 部分开源调参项目简介 337
12.6.1 Ray-Tune 337
12.6.2 optuna 339
12.7 本章小结 341
第13章 模型性能评估 342
13.1 训练误差vs测试误差 342
13.2 模型评估常见的数据切割方法 343
13.2.1 留出法 343
13.2.2 交叉验证法 345
13.2.3 留一法 346
13.2.4 自助取样法 347
13.3 性能度量 348
13.3.1 分类任务 348
13.3.2 回归任务 357
13.4 本章小结 360
第14章 模型解释 361
14.1 模型解释概述 361
14.1.1 模型解释的意义 362
14.1.2 局部和全局解释 363
14.2 模型解释可视化方法 364
14.2.1 PDP 364
14.2.2 ICE 370
14.3 解释线性模型 371
14.4 解释树模型 372
14.4.1 树模型特征的重要性 373
14.4.2 决策路径 374
14.4.3 Treeinterpreter 375
14.5 模型无关解释方法 378
14.5.1 特征重要性方法 378
14.5.2 代理模型:LIME 380
14.5.3 基于博弈论的SHAP 383
14.6 本章小结 390
第15章 模型上线之模型即服务 391
15.1 模型上线方案 391
15.1.1 是否提供独立服务 392
15.1.2 是否提取模型细节 392
15.2 提取系数上线:回归模型和评分卡 393
15.3 自动规则提取上线:决策树示例 393
15.3.1 规则转化为Python代码 395
15.3.2 规则转化为C/Java等代码 396
15.3.3 规则转化为SQL代码 396
15.4 PMML和ONNX 398
15.4.1 PMML 398
15.4.2 ONNX 400
15.5 编译为共享库加速预测 401
15.5.1 Treelite原理 401
15.5.2 使用示例 402
15.5.3 部署方法 403
15.6 原生模型持久化 404
15.6.1 写接口 405
15.6.2 读接口 406
15.7 RESTful Web Services构建 406
15.7.1 快速构建API服务 407
15.7.2 自动化模型上线框架设计与实现 409
15.8 基于Docker大规模微服务上线架构 417
15.8.1 架构设计 417
15.8.2 定制镜像 418
15.8.3 编排可扩展服务示例 419
15.9 本章小结 420
第16章 模型稳定性监控 421
16.1 背景和监控方法 421
16.1.1 背景 421
16.1.2 监控方法 422
16.2 PSI和CSI 423
16.2.1 PSI 423
16.2.2 CSI 425
16.3 工程实现 425
16.3.1 功能简介 426
16.3.2 代码清单和示例 426
16.4 其他监控角度 429
16.5 监控异常处理方案 430
16.6 本章小结 430 2100433B
本书赞誉
译者序
序
前言
第0章 案例研究反思 / 1
0.1 管理层问题 / 1
0.2 技术因素 / 6
0.3 总结 / 12
第1章 敏捷团队的自动化测试之旅:第一年 / 13
1.1 本案例研究的背景 / 14
1.2 整个团队的承诺 / 14
1.3 建立自动化策略 / 15
1.4 利用验收测试驱动开发,使用FitNesse测试GUI / 18
1.5 使用增量方法 / 20
1.6 正确度量 / 20
1.7 庆祝成功 / 21
1.8 引入工程冲刺 / 22
1.9 团队成功 / 22
1.10 持续改进 / 24
1.11 总结 / 24
第2章 终极数据库自动化 / 25
2.1 本案例研究的背景 / 25
2.2 测试中的软件 / 26
2.3 自动化测试的目标 / 27
2.4 开发内部测试工具 / 28
2.5 结果 / 30
2.6 管理自动化测试 / 31
2.7 测试套件和类型 / 31
2.8 现状 / 33
2.9 在经过一段很艰难的时光后才得到的经验教训 / 33
2.10 如何使用自动化测试书中的建议 / 34
2.11 总结 / 36
2.12 致谢 / 36
第3章 移动到云端:TiP的演化——在线的持续回归测试 / 37
3.1 本案例研究的背景 / 38
3.2 将测试移到云端 / 39
3.3 如何实施TiP / 41
3.4 每月服务评审记分卡样例 / 43
3.5 Exchange TiP v2——将TiP迁移到Windows Azure云端 / 46
3.6 我们的心得 / 47
3.7 总结 / 49
3.8 致谢 / 50
第4章 Automator的自动化 / 51
4.1 本案例研究的背景:我的第一份工作 / 52
4.2 我的伟大构想 / 53
4.3 一个突破 / 54
4.4 总结 / 58
第5章 自动化人员自传:从主机到框架的自动化 / 60
5.1 本案例研究的背景 / 61
5.2 主机绿屏自动化测试项目 / 63
5.3 主机和基于脚本工具的差异 / 65
5.4 使用新的基于脚本的工具 / 66
5.5 IBM Maximo的自动化测试 / 70
5.6 总结 / 74
5.7 参考文献 / 74
第6章 项目1:失败。项目2:成功! / 76
6.1 本案例研究的背景 / 77
6.2 项目1:失败 / 77
6.3 项目2:成功 / 78
6.4 下一个时间段:真实地测试 / 85
6.5 总结 / 92
第7章 复杂政府系统的自动化测试 / 93
7.1 本案例研究的背景 / 93
7.2 自动化需求分析 / 94
7.3 我们的自动化测试解决方案——自动化测试和再测试 / 95
7.4 自动化测试解决方案的应用 / 101
7.5 总结 / 102
第8章 设备仿真框架 / 103
8.1 本案例研究的背景 / 103
8.2 设备仿真框架的诞生 / 104
8.3 构建DSF / 105
8.4 自动化目标 / 106
8.5 案例研究 / 107
8.6 没有银弹 / 110
8.7 总结 / 111
8.8 致谢 / 111
第9章 ESA项目中基于模型的测试用例生成 / 112
9.1 本案例研究的背景 / 113
9.2 基于模型的测试和测试用例生成 / 113
9.3 我们的应用:ESA多任务用户服务项目 / 116
9.4 学到的经验和教训 / 121
9.5 总结 / 125
9.6 参考文献 / 126
9.7 致谢 / 126
第10章 10年过去了,项目还在进行 / 127
10.1 本案例研究的背景:之前的故事 / 128
10.2 每月进行自动化测试的保险报价系统 / 128
10.3 接下来发生了什么 / 138
10.4 总结 / 138
第11章 凤凰在灰烬中重生 / 141
11.1 本案例研究的背景 / 141
11.2 凤凰的诞生 / 142
11.3 凤凰的死亡 / 144
11.4 凤凰的重生 / 145
11.5 凤凰的新生 / 148
11.6 总结 / 152
第12章 政府机构运作系统的自动化测试之旅 / 155
12.1 本案例研究的背景 / 156
12.2 该机构的自动化测试 / 156
12.3 2000~2008年 / 159
12.4 三次巧合 / 162
12.5 在测试团队中完善能力 / 165
12.6 未来的方向:继续旅程 / 166
12.7 总结 / 168
第13章 使用硬件接口的自动化可靠性测试 / 169
13.1 本案例的研究背景 / 170
13.2 采取措施的必要性 / 170
13.3 自动化测试启动(增量式方法) / 171
13.4 来自管理层的支持 / 172
13.5 测试框架的进一步开发 / 174
13.6 部署并改进报告形式 / 177
13.7 总结 / 178
第14章 Android应用的基于模型GUI测试 / 180
14.1 本案例研究的背景 / 181
14.2 使用TEMA工具集的MBT / 182
14.3 应用行为建模 / 187
14.4 测试用例的生成 / 190
14.5 连接和适配 / 191
14.6 结果 / 194
14.7 总结 / 194
14.8 致谢 / 195
14.9 参考文献 / 195
第15章 SAP业务流程的自动化测试 / 197
15.1 本案例研究的背景 / 198
15.2 标准和最佳实践 / 200
15.3 eCATT使用实例 / 203
15.4 总结 / 207
15.5 致谢 / 208
第16章 SAP实现的自动化测试 / 209
16.1 本案例研究的背景 / 210
16.2 项目概述 / 211
16.3 第1阶段:概念的证明 / 212
16.4 第2阶段:项目启动 / 217
16.5 总结 / 226
第17章 选择了错误的工具 / 228
17.1 本案例研究的背景 / 228
17.2 (可能)早已存在的自动化测试 / 230
17.3 必要的决策:新工具还是主要维护成本 / 231
17.4 继续推进eggPlant工具 / 233
17.5 我们在eggPlant项目之后还将做什么 / 239
17.6 总结 / 239
第18章 市场交易系统的自动化测试:十年经验和三个框架 / 242
18.1 本案例研究的背景 / 243
18.2 自动化测试框架 / 243
18.3 测试角色 / 245
18.4 抽象层 / 246
18.5 配置 / 248
18.6 成本和投资回报率 / 249
18.7 总结 / 251
第19章 自动化测试不仅仅是回归测试:发挥创造性思维 / 253
19.1 本案例研究的背景 / 254
19.2 任务自动化的两个故事 / 254
19.3 自动化测试用来支持手动探索式测试 / 258
19.4 自动化测试数据交互 / 260
19.5 自动化测试和监测 / 262
19.6 通过组合简单的工具模拟现实世界的负载 / 264
19.7 总结 / 265
19.8 参考文献 / 265
第20章 医疗设备软件需要优秀的自动化软件测试 / 267
20.1 本案例研究的背景 / 268
20.2 每个项目不同方法的比较 / 272
20.3 项目HAMLET / 274
20.4 项目PHOENIX / 275
20.5 项目DOITYOURSELF / 277
20.6 项目MINIWEB / 279
20.7 测试执行 / 280
20.8 结果报告 / 281
20.9 总结 / 283
第21章 通过后门(通过支持手动测试)进行自动化 / 287
21.1 本案例研究的背景 / 288
21.2 我们的技术解决方案 / 288
21.3 通过ISS测试站实现测试自动化 / 291
21.4 实现测试自动化 / 293
21.5 支持手动测试 / 296
21.6 新的手动测试过程 / 298
21.7 总结 / 302
21.8 参考文献 / 303
第22章 使用自动化测试为可移植性测试增值 / 305
22.1 本案例研究的背景 / 306
22.2 可移植性测试:喜欢它或者讨厌它 / 306
22.3 将软件组合起来作为解决方案 / 307
22.4 总结 / 312
22.5 致谢 / 312
第23章 保险公司中的自动化测试:感受我们测试的方法 / 313
23.1 本案例研究的背景 / 313
23.2 应用程序 / 314
23.3 目标 / 315
23.4 我们做的工作 / 315
23.5 教训 / 317
23.6 总结 / 318
第24章 使用测试猴子的冒险之旅 / 320
-24.1 本案例研究的背景 / 320
24.2 自动化回归测试的局限性 / 321
24.3 测试猴子 / 322
24.4 实现测试猴子 / 324
24.5 使用测试猴子 / 325
24.6 收益和局限性 / 328
24.7 总结 / 329
24.8 参考文献 / 329
第25章 在NATS对SYSTEM-OF-SYSTEMS的自动化测试 / 330
25.1 本案例研究的背景 / 331
25.2 测试执行工具的集成 / 333
25.3 工具的试点项目 / 333
25.4 系统使用中(In-Service)的测试模式 / 334
25.5 实现 / 334
25.6 典型的脚本模板 / 336
25.7 得到的教训 / 338
25.8 总结 / 339
第26章 对汽车电子系统进行自动化测试 / 340
26.1 本案例研究的背景 / 341
26.2 自动化项目的目标 / 342
26.3 自动化项目的简史 / 342
26.4 自动化项目的结果 / 344
26.5 总结 / 345
第27章 宏伟目标、改变和测试转型 / 346
27.1 本案例研究的背景 / 346
27.2 管理层的认可 / 347
27.3 构建自动化框架的故事 / 350
27.4 自动化测试框架的描述 / 352
27.5 测试环境 / 355
27.6 度量标准 / 356
27.7 总结 / 358
第28章 自动化探索测试:超越当前时代的例子 / 361
28.1 本案例研究的背景 / 362
28.2 什么是故障管理工具 / 362
28.3 测试故障管理系统中的事务 / 363
28.4 用编程的方法结构化测试用例 / 365
28.5 思考自动化测试的新方式 / 365
28.6 测试故障管理系统的工作流 / 366
28.7 运行中生成测试 / 371
28.8 项目的冲刺阶段 / 372
28.9 发布之后 / 373
28.10 总结 / 374
28.11 致谢 / 374
第29章 测试自动化的轶事 / 375
29.1 三个小故事 / 375
29.2 需要更多对自动化的理解 / 378
29.3 自动化测试的第一天 / 379
29.4 尝试开始实施自动化 / 384
29.5 与管理层作斗争 / 385
29.6 探索性测试自动化:数据库记录锁定 / 387
29.7 在嵌入式硬件-软件计算机环境中进行测试自动化所得到的教训 / 392
29.8 传染性的时钟 / 395
29.9 自动化系统的灵活性 / 397
29.10 使用过多工具(跨部门的支持不够)的故事 / 398
29.11 成功的案例却有着意料之外的结局 / 401
29.12 合作能够克服资源的限制 / 404
29.13 取得了大规模成功的自动化过程 / 405
29.14 测试自动化并不总是像看上去那样 / 409
附录A 工具 / 413
案例研究的作者简介 / 422
2100433B