1. 调试是为了证明程序员的正确。
  2. 调试的结果一般是不可预见的。
  3. 调试是不受时间约束的。
  4. 测试从一个侧面证明程序员的“失败”。
  5. 测试以已知条件开始。
  6. 静态软件评估技术:评审,代码检查(走查),静态分析(形式化证明)。
  7. 测试的首要目标是预防错误
  8. 集成测试的目标是为了发现与接口有关的错误
  9. 软件测试是一个有程序的过程,包括测试设计、测试执行、测试结果比较
  10. 软件评估分为静态评估动态评估
  11. 依据程序逻辑结构的测试技术白盒测试技术
    包括:路径测试技术。
  12. 黑盒测试技术又称功能测试技术,包括:事务处理流程技术,定义域测试技术,状态测试技术;等价划分类,边界值分析,因果图。
    黑盒测试定义:将被测软件看成黑盒子,只通过外部的输入和输出来发现软件中的错误。
  13. 测试度量:语句覆盖≤分支覆盖≤条件组合覆盖≤路径覆盖
  14. 条件覆盖:条件覆盖是白盒测试中的一种方法,其核心要求是设计测试用例,使得程序中每个判定表达式中的每个条件的所有可能结果(如真/假)至少被执行一次‌。
  15. 路径覆盖:路径覆盖是白盒测试中的一种方法,其核心要求是设计足够多的测试用例,确保程序的每条可能执行路径都至少被执行一次(若程序存在循环结构,则每个循环至少需经过一次)。
  16. 简述边界值分析在设计测试用例时可以遵循的原则:【难背】
    (1)如果某个输入条件规定了输入值的范围,则应选择正好等于边界值的数据,以及刚刚超过边界值的数据作为测试数据;(1分)
    (2)如果某个输入条件规定了值的个数,则可用最大个数、最小个数、比最大个数多1、比最小个数少1的数作为测试数据;(1分)
    (3)如果程序的规格说明中,输入域或输出域是有序集合,则选取集合的第一个元素、最后一个元素以及典型元素作为测试用例;(1分)
    (4)如果程序中使用了内部数据结构,则应当选择这个内容数据结构的边界上的值作为测试用例;(1分)
    (5)分析规格说明,找出其他可能的边界条件。(1分)
  17. 简述因果图方法生成测试用例的基本步骤:【难背】
    (1)通过对软件规格说明书的分析,找出一个模块的原因和结果,并给每个原因和结果赋予一个标识符;(1分)
    (2)分析原因与结果之间以及原因与原因之间对应的关系,并画出因果图;(1分)
    (3)在因果图上标识出一些特定的约束或限制条件;(1分)
    (4)把因果图转换成判定表;(1分)
    (5)为判定表的每一列设计测试用例。(1分)
  18. 简述边界值分析与等价类划分技术的区别:【难背】
    (1)边界值分析与等价类划分技术的区别在于:边界值分析着重边界的测试,应选取等于、刚刚大于或刚刚小于边界的值作为测试数据;(3分)
    (2)而等价类划分是选取等价类中的典型值或任意值作为测试数据。(2分)
  19. 软件测试技术可分为两大类:白盒测试技术黑盒测试技术
  20. 路径测试技术的基本要点:
    (1)采用控制流程图来表达被测试程序模型,揭示程序中的控制结构。(2分)
    (2)通过合理地选择一组穿过程序的路径,以达到某种测试度量。(2分)
  21. 白盒测试常用到的覆盖技术:语句覆盖,分支覆盖,条件覆盖,条件组合覆盖,路径覆盖。
  22. 在设计软件测试用例之前应建立环境模型被测对象模型错误模型
  23. 语句覆盖:至少执行程序中所有语句一次。
  24. 分支覆盖:至少将程序中的每个分支执行一次。
  25. 合理的测试序列:单元测试,集成测试,有效性测试,系统测试。
    单元测试:考虑模块的局部数据结构,首先测试数据流,必须为每个模块单元测试开发驱动模块和承接/桩模块。
    集成测试:发现与接口有关的错误,以主控模块作为测试驱动模块,主要缺点是需要设计承接模块,用于模块组合功能和软件结构检验的测试,每当组合一个模块要进行回归测试,可采用自顶向下自底向上两种集成方式递增组装软件。
    有效性测试:发现软件实现功能与需求规格说明书不一致。
  26. 软件测试是一个有程序的过程,包括测试设计测试执行测试结果比较
  27. 简述软件测试步骤中合理的软件测试序列及每个序列的关注点:
    (1)合理的测试序列:单元测试、集成测试、有效性测试和系统测试。
    (2)单元测试关注每个独立的模块。
    (3)集成测试关注模块的组装。
    (4)有效性测试关注检验是否符合用户所见的文档。
    (5)系统测试关注检验习题中所有元素之间的协作是否合适,整个系统的性能、功能是否达到。