一 章节知识架构图
二 软件测试
2.1 静态测试
指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行监测。静态测试包括对文档的静态测试和对代码的静态测试。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查、代码审查和代码走查。 在静态测试中,主要是对程序代码进行静态分析,包括控制流分析、数据流分析、接口分析和表达式分析。
2.2 动态测试
2.2.1 白盒测试
白盒测试也称为结构测试,主要用于软件单元测试阶段。包括控制流测试(各类覆盖测试)、数据流测试、程序变异测试。
2.2.1.1 语句覆盖
语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。
2.2.1.2 判定(分支)覆盖
判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能得结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程序仍然不高。
2.2.1.3 条件覆盖
条件覆盖是指不仅每个语句至少执行一次,而且判定式中的每个条件都取得各种可能得结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。判定覆盖只关心判定表达式的值(真/假),而条件覆盖涉及到判定表达式的每个条件的值(真/假)
2.2.1.4 路径覆盖
路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。
真题示例 - 2.1
下图是用白盒测试方法进行测试,图中有()条路径。采用 McCabe 度量计算该程序图的环路复杂性为()。
A. 3 B. 4 C. 5 D. 6
A. 3 B. 4 C. 5 D. 6
真题示例 - 2.2
系统交付用户使用了一段时间后发现,系统的某个功能响应非常慢。修改了某模块的一个算法,使其运行速度得到了提升。则该行为属于()维护。
A. 改正性 B. 适应性 C. 改善型 D. 预防性
2.2.2 黑盒测试
黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试阶段。黑盒测试根据 SRS 所规定的功能来设计测试用例,一般包括功能分解、等价类划分、边界值分析、判定表、因果图、状态图、随机测试、错误推测和正交实验法等。
真题答案
题号 | 答案 |
---|---|
2.1 | B、B |
2.2 | C |
感谢您的耐心阅读!来选个表情,或者留个评论吧!