zoukankan      html  css  js  c++  java
  • [原创] 程序员面试宝典:第十五章 设计模式与软件测试

    1. Bridge 模式(?):尽可能的脱耦

    • 抽象化和实现化脱耦
    • 继承关系转换为组合关系
    2. 单键模式(singleton,确保在整个程序中只有一个类实例):
    • 私有化构造函数(防止 new 直接构造多个实例)
    • static 成员函数构造(在没有实例对象的情况下可以被执行)
    • static 成员变量指针(指向唯一的类实例,属于整个类)
    • 多线程竞争问题(信号量)
    3. 观察者模式
    • 主题:内部状态,观察者引用集合
    • 观察者:自身状态,更新接口
    • 当主题内部状态改变时,通过更新接口通知观察者
    • 抽象主题、抽象观察者,使用抽象引用,不需要知道具体类型,通过抽象共有接口访问,针对抽象编程
    4. 测试文档内容:
    • 产品特点和主要模块,需要测试的功能点、侧重点
    • 测试策略和记录:测试工具、测试用例、测试方法
    • 测试资源配置
    5. 功能测试,行为测试,黑盒测试,数据驱动测试:
    • 测试产品特性和可操作行为是否满足设计要求
    • 只考虑功能,由实际输出和预期输出评测
    6. 可用性测试:对用户体验的度量
    • 有效性:完成任务的正确和完整程度
    • 效率:完成任务正确与完整程度与时间的比率
    • 满意度:主观满意和接受程度
    7. 边界值测试:边界及两侧
    • 健壮性测试:扩展的边界测试
    • 最坏情况测试:多变量联合边界测试
    • 特殊值测试:无标准
    • 随机测试:随机生成
    8. 电梯算法测试:
    • 电梯运行方向:上、下
    • 请求与电梯相对位置:前、后
    • 请求方向:上、下
    • 超载直达
    • 其他:多部电梯配合、电梯空闲时停止地点
    9. 白盒测试
    • 条件覆盖、路径覆盖、语句覆盖、分支覆盖(判定覆盖)
    • 代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖
    10. 基本路径测试法:每个执行语句至少执行一次
    • 画控制流图:判断节点,执行节点
    • 计算圈复杂度:
      • 区域的数量
      • 边的数量 - 节点数量 + 2
      • 判断结点数 + 1
      • 找出独立路径,设计用例
  • 相关阅读:
    【Ansible】 各种模块
    【Python】 linecache模块读取文件
    【Ansible】 基于SSH的远程管理工具
    【Python】 更棒的Excel操作模块xlwings
    【Python】 docker-py 用Python调用Docker接口
    【Docker】 Swarm简单介绍
    【Docker】 积累
    【Bootstrap】 一些提示信息插件
    配置 -- php运行报Call to undefined function curl_init()的解决办法
    windows下svn钩子实现每次提交更新至web目录
  • 原文地址:https://www.cnblogs.com/icemoon1987/p/2709576.html
Copyright © 2011-2022 走看看