1. Bridge 模式(?):尽可能的脱耦
- 将抽象化和实现化脱耦
- 将继承关系转换为组合关系
2. 单键模式(singleton,确保在整个程序中只有一个类实例):
- 私有化构造函数(防止 new 直接构造多个实例)
- static 成员函数构造(在没有实例对象的情况下可以被执行)
- static 成员变量指针(指向唯一的类实例,属于整个类)
- 多线程竞争问题(信号量)
3. 观察者模式
- 主题:内部状态,观察者引用集合
- 观察者:自身状态,更新接口
- 当主题内部状态改变时,通过更新接口通知观察者
- 抽象主题、抽象观察者,使用抽象引用,不需要知道具体类型,通过抽象共有接口访问,针对抽象编程
4. 测试文档内容:
- 产品特点和主要模块,需要测试的功能点、侧重点
- 测试策略和记录:测试工具、测试用例、测试方法
- 测试资源配置
- 测试产品特性和可操作行为是否满足设计要求
- 只考虑功能,由实际输出和预期输出评测
- 有效性:完成任务的正确和完整程度
- 效率:完成任务正确与完整程度与时间的比率
- 满意度:主观满意和接受程度
- 健壮性测试:扩展的边界测试
- 最坏情况测试:多变量联合边界测试
- 特殊值测试:无标准
- 随机测试:随机生成
8. 电梯算法测试:
- 电梯运行方向:上、下
- 请求与电梯相对位置:前、后
- 请求方向:上、下
- 超载直达
- 其他:多部电梯配合、电梯空闲时停止地点
9. 白盒测试
- 条件覆盖、路径覆盖、语句覆盖、分支覆盖(判定覆盖)
- 代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖
10. 基本路径测试法:每个执行语句至少执行一次
- 画控制流图:判断节点,执行节点
- 计算圈复杂度:
- 区域的数量
- 边的数量 - 节点数量 + 2
- 判断结点数 + 1
- 找出独立路径,设计用例