您的位置:首页 > 职场人生

[原创] 程序员面试宝典:第十五章 设计模式与软件测试

2012-10-01 11:04 423 查看
1. Bridge 模式(?):尽可能的脱耦

将抽象化和实现化脱耦

将继承关系转换为组合关系

2. 单键模式(singleton,确保在整个程序中只有一个类实例):

私有化构造函数(防止 new 直接构造多个实例)

static 成员函数构造(在没有实例对象的情况下可以被执行)

static 成员变量指针(指向唯一的类实例,属于整个类)

多线程竞争问题(信号量)

3. 观察者模式

主题:内部状态,观察者引用集合

观察者:自身状态,更新接口

当主题内部状态改变时,通过更新接口通知观察者

抽象主题、抽象观察者,使用抽象引用,不需要知道具体类型,通过抽象共有接口访问,针对抽象编程

4. 测试文档内容:

产品特点和主要模块,需要测试的功能点、侧重点

测试策略和记录:测试工具、测试用例、测试方法

测试资源配置

5. 功能测试,行为测试,黑盒测试,数据驱动测试:

测试产品特性和可操作行为是否满足设计要求

只考虑功能,由实际输出和预期输出评测

6. 可用性测试:对用户体验的度量

有效性:完成任务的正确和完整程度

效率:完成任务正确与完整程度与时间的比率

满意度:主观满意和接受程度

7. 边界值测试:边界及两侧

健壮性测试:扩展的边界测试

最坏情况测试:多变量联合边界测试

特殊值测试:无标准

随机测试:随机生成

8. 电梯算法测试:

电梯运行方向:上、下

请求与电梯相对位置:前、后

请求方向:上、下

超载直达

其他:多部电梯配合、电梯空闲时停止地点

9. 白盒测试

条件覆盖、路径覆盖、语句覆盖、分支覆盖(判定覆盖)

代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖

10. 基本路径测试法:每个执行语句至少执行一次

画控制流图:判断节点,执行节点

计算圈复杂度:

区域的数量

边的数量 - 节点数量 + 2

判断结点数 + 1

找出独立路径,设计用例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: