20162年度软件测试考试重点回顾

需积分: 0 0 下载量 89 浏览量 更新于2024-08-04 收藏 378KB DOCX 举报
"软件测试-考试回忆-20162" 本次考试主要涉及软件测试的基础知识,包括测试工具、测试类型、软件缺陷的原因、测试完成的标志、兼容性测试内容、条件组合覆盖、测试用例要素、代码审查流程、波及效应、边界值分析、Myers的软件测试目的、程序路径分析、正交实验设计以及自动化测试与手工测试的对比。以下是这些知识点的详细说明: 1. **驱动器/程序桩**:在测试中,用于模拟被子模块调用的程序通常被称为驱动器(Driver)或程序桩(Stubs)。驱动器是用于控制测试过程的高级模块,而程序桩则模拟被测模块的依赖,以隔离被测模块进行独立测试。 2. **测试类型**: - 压力测试:检查系统在超出正常工作负载下的表现。 - 强度测试:验证系统在极限条件下的稳定性。 - 容量测试:确定系统处理大量数据或用户的能力。 - 性能测试:评估系统在正常或预期工作负载下的响应时间和效率。 3. **软件缺陷主要原因**:需求说明不确定、设计多变、程序员水平不一、责任心不足,这些都可能导致软件缺陷。其中,需求不明确通常是主要原因,因为它会影响后续的设计和实现。 4. **软件测试完成的标志**:错误曲线降低到一定水平可以作为软件测试完成的一个标志,意味着发现的新错误数量趋于稳定,测试进入收尾阶段。 5. **兼容性测试**:未在各种PC机上测试运行的游戏缺乏兼容性测试,确保软件在不同的硬件和操作系统环境下都能正常运行。 6. **条件组合覆盖**:对于C++表达式`a&&b||c`,需要5个测试用例来实现条件组合覆盖,确保所有条件组合都执行至少一次。 7. **测试用例三要素**:输入、执行条件和期望输出是构成测试用例的三个基本部分。 8. **代码审查**:包括计划、概述、准备、审查会议、审查报告、返工和跟进等步骤。 9. **波及效应**:需求、设计、代码和测试用例的改变可能相互影响,这被称为波及效应。 10. **边界值分析**:在边界值分析中,对于1≤x≤10,边界值应取0、1、2、5、9、10、11。 11. **Myers的软件测试目的**:测试的目的是尽可能多地发现软件错误,而不是证明软件无错。 12. **程序路径分析**:du路径(数据流向下)关注数据的传递,dc路径(控制流向下)关注控制流的执行,两者区别在于关注点不同,分别追踪数据和控制流。 13. **正交实验设计**:在软件测试中,正交表用于设计有效的测试用例组合,以覆盖多个因素的不同水平。 14. **自动化测试与手工测试**: - 自动化测试优点:速度快、准确、可重复性强;缺点:成本高,维护和创建脚本复杂。 - 手工测试优点:灵活、适应性强,能捕捉意外行为;缺点:速度慢,容易疲劳,可能出现人为错误。 15. **控制流覆盖方法**: - 语句覆盖:简单但可能遗漏条件。 - 判定覆盖:避免了语句覆盖的不足,但忽略了条件细节。 - 条件覆盖:覆盖每个条件的真伪,但无法保证所有分支。 - 判定条件覆盖:全面,但可能导致冗余测试用例。 - 条件组合覆盖:最全面,但测试成本高。 以上就是考试中涉及的软件测试相关知识点,涵盖了测试的各个方面,要求考生对测试理论和实践有深入理解。