第六章 软件测试(25分) 选择、填空、简答、应用题(测试策略) 1. 软件测试的定义:按照特定的规程发现软件错误的过程。 2. 软件测试、软件调试的区别。 1)测试从侧面证明程序员的“失败” 。 调试为证明程序员的正确。 2)测试从已知条件开始, 使用预先定义的程序且有预知结果,不可预见的仅是程序是否通过测试。调试以不可知的内部条件开始,除统计性调试外,结果不可预见。 3)测试有计划、要进行测试设计。调试受时间约束。 4)测试是一个发现错误、 改正错误、 重新调试的过程。 调试是一个推理过程。 5)测试执行有规程。 调试执行要求程序要进行必要推理。 6)测试由独立的组在不了解软件设计条件下完成。调试必须由了解详绅设计的程序员完成。 7)测试多数测试的执行和设计可由工具支持。调试要求程序员能利用的工具主要是调试器。 3. 软件测试是一个有程序的过程,包括测试设计、测试执行以及测试结果比较。 4. 测试过程模型分三类:环境模型、被测对象模型、错误模型。 5. 测试策略(应用题) ·路径测试:执行所有可能穿过程序控制流程的路径 ·语句覆盖:至少执行程序中所有语句一次 ·分支覆盖:至少将程序中的每一个分支执行一次 ·条件覆盖:指每个判定中的所有可能的条件取值,至少执行一次 ·条件组合覆盖:是指设计足够的测试用例,使每个判定中所有可能的条件取值组合至少执行一次 (语句覆盖≤分支覆盖≤条件组合覆盖≤……≤路径覆盖) 6. 事物流测试步骤 ·获取事务流程图 ·浏览、复审 ·用例设计 ·执行测试 7. 运用等价类划分技术进行测试的主要步骤 1)建立等价类表 2)为有效等价类设计测试用例 3)为无效等价类至少设计一个测试用例 8. 软件测试步骤 ·单元测试:主要检验软件设计最小单元-模块。该测试以详细设计文档为指导,测试模块内的重要控制路径。 ·集成测试:是软件组装的系统化技术,其目标是发现与接口有关的错误,将经过单元测试模块构成一个满足设计要求的软件结构。有渐增式测试和非渐增式测试两种方法。 ·有效性测试:目的是发现软件实现的功能与需求规格说明书不一致的错误。 ·系统测试:将软件溶于更大系统中时整个系统的有效性。 9. 黑盒测试和白盒测试都不能达到穷尽,但人工检测可以发现计算机没有检测到的错误。 10. 测试工具是指计算机辅助测试的有关工具。 11. 控制流程图与程序流程图的差异是:在控制流程图中不现实过程块的细节,而在程序流程图中着重于过程属性的描述。 12. 软件测试方法分为动态测试方法和静态测试方法(如人工检测)两大类。 13. 白盒测试是结构测试,依据程序的逻辑结构;黑盒测试是功能测试。 14. 测试设备:测试中,模块不是独立程序,须为每个模块单元测试开发驱动模块和承接模块。 15. 黑盒测试 1)等价类法:将程序的输入划分为有限个等价区段,使得从每个区段内抽取的代表性数据进行的测试等价于该区段内任何数据的测试。 2)边值分析法:根据 I/O 边界等价类上或紧靠边界的条件。 3)因果图法:通过从用自然语言书写的功能说明表中找出因—输入条件和果—输出结果,通过因果图将功能说明转换成一张判定表,然后为每种输出条件的组合设计测试用例。
|