期末复习(ADT,Testing 测试,Git 基本工作原理及指令)

ADT
ADT及其四种操作
抽象类型:强调"作用于数据上的操作",程序员和client无需关心数据如何具体存储,只需设计/使用操作即可。
ADT由操作定义,与其内部实现无关。
可变数据类型:提供了可改变其内部数据值的操作;
不可变数据类型:其操作不改变内部值,而构造新的对象。(没有mutators)

ADT操作分类:
Creators 构造器:
不利用该类型对象产生一个新的对象
可能实现为构造函数或静态函数(factory method)

Producers 生产器:
用已有该类型对象产生新对象
如string.concat()(连接两个字符串,产生一个新的字符串)

Observers 观察器
如list.size()返回int(不同于原类型)

Mutators 变值器(改变对象属性的方法)
通常范围void,如果返回void,则必然意味着它改变了某些对象的内部状态

Testing 测试
探测是否存在错误。
测试的等级:单元测试、集成测试、系统测试、验收测试,回归测试。

白盒测试:对程序内部代码结构的测试。
黑盒测试:对程序外部表现出来的行为的测试。

测试优先编程:先写spec,再写符合spec的测试用例,写代码、执行测试、发现问题并修改、再测试直到通过。

Code coverage 代码覆盖度: 测试效果/测试难度:路径覆盖(所有可能的分支、路径)>分支覆盖>语句覆盖

期末复习(ADT,Testing 测试,Git 基本工作原理及指令)_第1张图片

你可能感兴趣的:(期末复习(ADT,Testing 测试,Git 基本工作原理及指令))