forked from lisahust/notebook1_web
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path12_0软件测试相关知识.html
520 lines (246 loc) · 42 KB
/
12_0软件测试相关知识.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
<!DOCTYPE HTML>
<html lang="" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>12软件测试相关知识 · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-search-pro/search.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-chapter-fold/chapter-fold.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-anchor-navigation-ex/style/plugin.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-splitter/splitter.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-code/plugin.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-page-treeview/style.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="13_0系统设计与分析方法.html" />
<link rel="prev" href="11_0嵌入式系统设计.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li class="chapter " data-level="1.1" data-path="./">
<a href="./">
Introduction
</a>
</li>
<li class="chapter " data-level="1.2" data-path="1_0计算机基础.html">
<a href="1_0计算机基础.html">
1计算机基础
</a>
</li>
<li class="chapter " data-level="1.3" data-path="2_0信息系统基础知识.html">
<a href="2_0信息系统基础知识.html">
2信息系统基础知识
</a>
</li>
<li class="chapter " data-level="1.4" data-path="3_0系统开发方法.html">
<a href="3_0系统开发方法.html">
3系统开发方法
</a>
</li>
<li class="chapter " data-level="1.5" data-path="4_0项目开发管理.html">
<a href="4_0项目开发管理.html">
4项目开发管理
</a>
</li>
<li class="chapter " data-level="1.6" data-path="5_0软件架构设计.html">
<a href="5_0软件架构设计.html">
5软件架构设计
</a>
</li>
<li class="chapter " data-level="1.7" data-path="6_0面向对象系统建模.html">
<a href="6_0面向对象系统建模.html">
6面向对象系统建模
</a>
</li>
<li class="chapter " data-level="1.8" data-path="7_0设计模式.html">
<a href="7_0设计模式.html">
7设计模式
</a>
</li>
<li class="chapter " data-level="1.9" data-path="8_0信息安全技术.html">
<a href="8_0信息安全技术.html">
8信息安全技术
</a>
</li>
<li class="chapter " data-level="1.10" data-path="9_0知识产权保护.html">
<a href="9_0知识产权保护.html">
9知识产权保护
</a>
</li>
<li class="chapter " data-level="1.11" data-path="10_0系统开发方法.html">
<a href="10_0系统开发方法.html">
10系统开发方法
</a>
</li>
<li class="chapter " data-level="1.12" data-path="11_0嵌入式系统设计.html">
<a href="11_0嵌入式系统设计.html">
11嵌入式系统设计
</a>
</li>
<li class="chapter active" data-level="1.13" data-path="12_0软件测试相关知识.html">
<a href="12_0软件测试相关知识.html">
12软件测试相关知识
</a>
</li>
<li class="chapter " data-level="1.14" data-path="13_0系统设计与分析方法.html">
<a href="13_0系统设计与分析方法.html">
13系统设计与分析方法
</a>
</li>
<li class="chapter " data-level="1.15" data-path="14_0专业英语.html">
<a href="14_0专业英语.html">
14专业英语
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href="." >12软件测试相关知识</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<div id="anchor-navigation-ex-navbar"><i class="fa fa-navicon"></i><ul><li><span class="title-icon "></span><a href="#软件测试相关知识"><b>1. </b>软件测试相关知识</a></li><ul><li><span class="title-icon "></span><a href="#16软件测试的基础知识:"><b>1.1. </b>[16]软件测试的基础知识:</a></li><li><span class="title-icon "></span><a href="#软件项目范围管理方面的基础知识:"><b>1.2. </b>软件项目范围管理方面的基础知识:</a></li></ul></ul></div><a href="#软件测试相关知识" id="anchorNavigationExGoTop"><i class="fa fa-arrow-up"></i></a><div class="treeview__container"><ul>
<li><div><a href="#软件测试相关知识">软件测试相关知识</a><i class="level__parent level__item level__parent--opened" state="opened" onclick="var curState = this.getAttribute('state');var nextState = curState === 'opened' ? 'hidden' : 'opened';this.setAttribute('state', nextState);this.className = this.className.split(curState).join(nextState);var list = this.parentNode.nextElementSibling;if (nextState === 'hidden') { list.style.display = 'none';} else { list.style.display = 'block';}"></i></div>
<ul>
<li><div><a href="#16软件测试的基础知识:">[16]软件测试的基础知识:</a><i></i></div></li>
<li><div><a href="#软件项目范围管理方面的基础知识:">软件项目范围管理方面的基础知识:</a><i class="level__parent level__item level__parent--opened" state="opened" onclick="var curState = this.getAttribute('state');var nextState = curState === 'opened' ? 'hidden' : 'opened';this.setAttribute('state', nextState);this.className = this.className.split(curState).join(nextState);var list = this.parentNode.nextElementSibling;if (nextState === 'hidden') { list.style.display = 'none';} else { list.style.display = 'block';}"></i></div>
<ul>
<li>
<ul>
<li>[{15]遗留系统的处理方法:](#15遗留系统的处理方法:)</li>
<li><div><a href="#14、12静态测试:">[14、12]静态测试:</a><i></i></div></li>
<li><div><a href="#14单元测试:">[14]单元测试:</a><i></i></div></li>
<li><div><a href="#12ansi/ieee-1471-2000标准:">[12]ANSI/IEEE 1471-2000标准:</a><i></i></div></li>
<li><div><a href="#11软件维护:">[11]软件维护:</a><i></i></div></li>
</ul></li>
</ul></li>
</ul></li>
</ul>
</div>
<h1 id="软件测试相关知识"><a name="软件测试相关知识" class="anchor-navigation-ex-anchor" href="#软件测试相关知识"><i class="fa fa-link" aria-hidden="true"></i></a>1. 软件测试相关知识</h1>
<p>[toc]</p>
<h2 id="16软件测试的基础知识:"><a name="16软件测试的基础知识:" class="anchor-navigation-ex-anchor" href="#16软件测试的基础知识:"><i class="fa fa-link" aria-hidden="true"></i></a>1.1. [16]软件测试的基础知识:</h2>
<p>软件集成测试也称为组装测试、联合测试(对于子系统而言,则称为部件测试)。它将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。从<strong>组装策略</strong>而言,可以分为<strong>一次性组装测试和增量式组装</strong>(包括自项向下、自底向上及混合式)两种。<strong>集成测试计划</strong>通常是在软件<strong>概要设计阶段</strong>完成的,集成测试一般采用黑盒测试方法。</p>
<p>根据国家标准GB/T 15532-2008,软件测试可分为单元测试、集成测试、配置项测试、系统测试、验收测试和回归测试等类别。</p>
<ul>
<li><strong>单元测试</strong>也称为模块测试,测试的对象是可独立编译或汇编的程序模块、软件构件或面向对象软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、性能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。单元测试的技术依据是<strong>软件详细设计说明书</strong>。</li>
<li><strong>集成测试</strong>的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。集成测试的技术依据是<strong>软件概要设计文档</strong>。</li>
<li>系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同。</li>
</ul>
<p>常见的系统测试主要有恢复测试、安全性测试、压力测试、性能测试、可靠性测试、可用性测试、可维护性测试和安装测试。不包括路径测试。</p>
<ul>
<li><strong>配置项测试</strong>的对象是软件配置项,配置项测试的目的是检验软件配置项与软件需求规格说明的一致性。</li>
<li><strong>确认测试</strong>主要验证软件的功能、性能和其他特性是否与用户需求一致。验收测试是指针对软件需求规格说明,在交付前以用户为主进行的测试。</li>
<li><strong>回归测试</strong>的目的是测试软件变更之后,变更部分的正确性和对变更需求的复合型,以及软件原有的、正确的功能、性能和其他规定的要求的不损害性。</li>
<li>测试一个模块时,可能需要为该模块编写一个驱动模块和若干个桩模块。驱动模块用来调用被测模块,它接收测试者提供的测试数据,并把这些数据传送给被测模块,然后从被测模块接收测试结果,并以某种可见的方式将测试结果返回给测试人员;桩模块用来模拟被测模块所调用的子模块,它接受被测模块的调用,检验调用参数,并以尽可能简单的操作模拟被调用的子程序模块功能,把结果送回被测模块。顶层模块测试时不需要驱动模块,底层模块测试时不要桩模块。</li>
</ul>
<h2 id="软件项目范围管理方面的基础知识:"><a name="软件项目范围管理方面的基础知识:" class="anchor-navigation-ex-anchor" href="#软件项目范围管理方面的基础知识:"><i class="fa fa-link" aria-hidden="true"></i></a>1.2. 软件项目范围管理方面的基础知识:</h2>
<p>​ 项目范围是为了达到项目目标,为了交付具有某种特制的产品和服务,项目所规定要做的。在信息系统项目中,产品范围是指信息系统产品或者服务所应该包含的功能,项目范围是指为了能够交付信息系统项目所必须做的工作。产品范围是项目范围的基础,产品的范围定义是信息系统要求的度量,而项目范围的定义是生产项目计划的基础。产品范围描述是项目范围说明书的重要组成部分。</p>
<h4 id="15遗留系统的处理方法:"><a name="15遗留系统的处理方法:" class="anchor-navigation-ex-anchor" href="#15遗留系统的处理方法:"><i class="fa fa-link" aria-hidden="true"></i></a><strong>{15]遗留系统的处理方法:</strong></h4>
<p>​ ①淘汰策略。第四象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。</p>
<p>​ ②继承策略。第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。</p>
<p>​ ③改造策略。第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有强大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。</p>
<p>​ ④集成策略。第三象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。</p>
<h4 id="14、12静态测试:"><a name="14、12静态测试:" class="anchor-navigation-ex-anchor" href="#14、12静态测试:"><i class="fa fa-link" aria-hidden="true"></i></a><strong>[14、12]静态测试:</strong></h4>
<p>​ 静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。</p>
<p>​ 静态测试工具可用于对软件需求、结构设计、详细设计和代码进行评审、走查和审查。</p>
<p>​ 静态测试工具可对软件的复杂度分析、数据流分析、控制流分析和接口分析提供支持。</p>
<p>​ 静态测试包括对文档的静态测试和对代码的静态测试。对代码的静态测试包括控制流分析、数据流分析、接口分析和表达式分析。</p>
<p>​ ①控制流分析。控制流分析是指使用控制流程图检查被测程序控制结构的过程。例如,可检查被测程序是否存在没有使用的语句或子程序、是否调用并不存在的子程序,以及是否存在无法达到的语句等。</p>
<p>​ ②<strong>数据流分析</strong>。数据流分析是指使用控制流程图分析数据各种异常情况的过程,包括数据初始化、赋值或引用过程中的异常。例如,引用未定义的变量、对以前未使用的变量再次赋值等程序差错或异常情况。</p>
<p>​ ③接口分析。接口分析主要包括模块之间接口的一致性分析、模块与外部数据库及其他软件配置项之间的一致性分析、子程序和函数之间的接口一致性分析等。例如可以检查函数形参与实现的数量、顺序、类型和使用的一致性。</p>
<p>​ ④表达式分析。表达式分析用于检查程序代码中的表达式错误。例如,括号不配对、数组引用越界、除数为零,以及浮点数变量比较时的误差等错误。</p>
<p><strong>[12]动态测试:</strong></p>
<p>动态测试需要运行被测试系统,并设置探针,向代码生成的可执行文件中插入检测代码,可用于<strong>软件的覆盖分析和性能分析</strong>,也可用于软件的模拟、建模、仿真测试和变异测试等。</p>
<h4 id="14单元测试:"><a name="14单元测试:" class="anchor-navigation-ex-anchor" href="#14单元测试:"><i class="fa fa-link" aria-hidden="true"></i></a><strong>[14]单元测试:</strong></h4>
<p> 单元测试策略主要包括自顶向下的单元测试、自底向上的单元测试、孤立测试和综合测试策略。</p>
<p>​ ①<strong>自顶向下的单元测试</strong>先测试上层模块,再测试下层模块。测试下层模块时由于它的上层模块己测试过,所以不必另外编写<strong>驱动模块</strong>。</p>
<p>​ ②<strong>自底向上的单元测试</strong>。自底向上的单元测试先测试下层模块,再测试上层模块。测试上层模块由于它的下层模块已经测试过,所以不必另外编写<strong>桩模块</strong>。</p>
<p>​ ③孤立测试不需要考虑每个模块与其他模块之间的关系,逐一完成所有模块的测试。由于各模块之间不存在依赖性,单元测试可以并行进行,但因为需要为每个模块单独设计驱动模块和桩模块,增加了额外的测试成本。</p>
<p>​ ④综合测试。上述三种单元测试策略各有利弊,实际测试时可以根据软件特点和进度安排情况,将几种测试方法混合使用</p>
<h4 id="12ansi/ieee-1471-2000标准:"><a name="12ansi/ieee-1471-2000标准:" class="anchor-navigation-ex-anchor" href="#12ansi/ieee-1471-2000标准:"><i class="fa fa-link" aria-hidden="true"></i></a><strong>[12]ANSI/IEEE 1471-2000标准:</strong></h4>
<p>在该标准中,<strong>视图</strong>上这一概念主要用于描述软件架构模型。在此基础上,通常采用 <strong>视角</strong> 描述某个利益相关人(Stakeholder)所关注架构模型的某一方面。<strong>架构</strong> 则是对所有利益相关人关注点的响应和回答。</p>
<h4 id="11软件维护:"><a name="11软件维护:" class="anchor-navigation-ex-anchor" href="#11软件维护:"><i class="fa fa-link" aria-hidden="true"></i></a><strong>[11]软件维护:</strong></h4>
<p> ①正确性(改正性)维护。改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。</p>
<p> ②适应性维护。在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。</p>
<p> ③完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。</p>
<p> ④预防性维护。这是指为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。</p>
<footer class="page-footer"><span class="copyright">lisahust all right reserved,powered by Gitbook</span><span class="footer-modification">该文件最后修改时间:
2021-01-13 10:55:50
</span></footer>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="11_0嵌入式系统设计.html" class="navigation navigation-prev " aria-label="Previous page: 11嵌入式系统设计">
<i class="fa fa-angle-left"></i>
</a>
<a href="13_0系统设计与分析方法.html" class="navigation navigation-next " aria-label="Next page: 13系统设计与分析方法">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"12软件测试相关知识","level":"1.13","depth":1,"next":{"title":"13系统设计与分析方法","level":"1.14","depth":1,"path":"13_0系统设计与分析方法.md","ref":"13_0系统设计与分析方法.md","articles":[]},"previous":{"title":"11嵌入式系统设计","level":"1.12","depth":1,"path":"11_0嵌入式系统设计.md","ref":"11_0嵌入式系统设计.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["-lunr","-search","search-pro","chapter-fold","expandable-chapters","anchor-navigation-ex","splitter","code","page-treeview","github","todo","tbfed-pagefooter"],"pluginsConfig":{"tbfed-pagefooter":{"copyright":"lisahust","modify_label":"该文件最后修改时间:","modify_format":"YYYY-MM-DD HH:mm:ss"},"page-treeview":{"collapsed":false,"copyright":"Copyright © aleen42","minHeaderCount":"1","minHeaderDeep":"1"},"chapter-fold":{},"github":{"url":"https://github.com/lisahust"},"todo":{},"splitter":{},"search-pro":{},"code":{"copyButtons":true},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"anchor-navigation-ex":{"associatedWithSummary":true,"float":{"floatIcon":"fa fa-navicon","level1Icon":"","level2Icon":"","level3Icon":"","showLevelIcon":false},"mode":"float","multipleH1":true,"pageTop":{"level1Icon":"","level2Icon":"","level3Icon":"","showLevelIcon":false},"printLog":false,"showGoTop":true,"showLevel":true},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"expandable-chapters":{}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"12_0软件测试相关知识.md","mtime":"2021-01-13T02:55:50.376Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2021-01-13T03:01:35.435Z"},"basePath":".","book":{"language":""}});
});
</script>
</div>
<script src="gitbook/gitbook.js"></script>
<script src="gitbook/theme.js"></script>
<script src="gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
<script src="gitbook/gitbook-plugin-search-pro/search.js"></script>
<script src="gitbook/gitbook-plugin-chapter-fold/chapter-fold.js"></script>
<script src="gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js"></script>
<script src="gitbook/gitbook-plugin-splitter/splitter.js"></script>
<script src="gitbook/gitbook-plugin-code/plugin.js"></script>
<script src="gitbook/gitbook-plugin-github/plugin.js"></script>
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>