软件测试、工程管理与质量保证
掌握测试的目的与测试阶段,会做逻辑覆盖和基本路径测试、等价类划分和边界值分析,会用功能点、COCOMO 和三点估算做规模、成本与进度估算,了解质量模型、质量保证活动和 CASE 环境。
本节导读
这一节讲软件工程大纲的后四个单元:第(五)单元软件测试(测试的概念与测试过程模型、白盒测试、黑盒测试);第(六)单元软件工程管理(管理活动,规模、成本和进度估算);第(七)单元软件质量与质量保证;第(八)单元 CASE 工具与环境。
测试这部分要动手计算和设计的内容很多:算环形复杂度、列基本路径、按等价类和边界值设计用例;估算部分会用到功能点和 COCOMO 公式。按常见资料的说法,这部分在单项选择、判断、简答里都会出现,概念要记准,公式要会代数。
软件测试的概念与测试过程
测试是为了发现错误而执行程序的过程;好的测试用例是很可能发现尚未发现的错误的用例。测试只能证明错误存在,不能证明错误不存在,穷举测试一般做不到,所以要精心设计用例。测试应尽早开始、由独立的人员进行,错误往往集中在少数模块中。
| 测试阶段 | 依据 | 主要内容 |
|---|---|---|
| 单元测试 | 详细设计 | 测试单个模块的接口、局部数据结构、路径、出错处理、边界条件 |
| 集成测试 | 概要设计 | 把模块组装起来测试接口;自顶向下用桩模块,自底向上用驱动模块 |
| 确认测试 | 需求规约 | 检查功能、性能等是否满足需求 |
| 系统测试 | 系统需求 | 与硬件、网络等一起测试,含性能、压力、安全等测试 |
| 验收测试 | 合同与需求 | 用户参与;α 测试在开发方场地进行,β 测试在用户的实际环境中进行、开发者一般不在场 |
V 模型把这些测试阶段与开发阶段一一对应:需求分析对验收测试,概要设计对集成测试,详细设计对单元测试。W 模型进一步强调测试与开发同步进行,需求和设计文档本身也要测试(评审)。修改程序后重新运行已有用例,检查有没有引入新错误,叫回归测试。
白盒测试
白盒测试按程序内部的逻辑结构设计用例。逻辑覆盖的常见标准:
| 覆盖标准 | 要求 |
|---|---|
| 语句覆盖 | 每条语句至少执行一次 |
| 判定覆盖(分支覆盖) | 每个判定的真、假分支至少各执行一次 |
| 条件覆盖 | 每个判定中每个条件的真、假值至少各取一次 |
| 判定/条件覆盖 | 同时满足判定覆盖和条件覆盖 |
| 条件组合覆盖 | 每个判定中各条件取值的所有组合至少出现一次 |
| 路径覆盖 | 覆盖程序中所有可能的路径 |
判定覆盖一定满足语句覆盖;条件覆盖不一定满足判定覆盖;条件组合覆盖一定满足判定/条件覆盖。
基本路径测试先画控制流图,再算环形复杂度,它等于独立路径的条数,也就是至少要设计的用例数。三种算法结果相同:V(G)=E−N+2(E 为边数,N 为节点数);V(G)=P+1(P 为二分支判定节点数);V(G) 等于控制流图把平面分成的区域数。
黑盒测试
黑盒测试只看规格说明,不看内部结构。等价类划分把输入分成有效等价类和无效等价类,每类取一个代表值:设计用例时,一个用例尽可能多地覆盖尚未覆盖的有效等价类,而每个用例只覆盖一个无效等价类,以免一个错误掩盖另一个。边界值分析在边界上及边界两侧取值,因为错误常出在边界上。n 个变量做一般边界值分析时,每次只让一个变量取最小值、略大于最小值、略小于最大值、最大值,其余取正常值,再加一个全部取正常值的用例,共 4n+1 个;健壮性测试再加上略小于最小值、略大于最大值两种取值,共 6n+1 个。此外还有判定表、因果图和错误推测法。
软件工程管理与估算
按 ISO/IEC 12207,管理过程包括启动和范围定义、规划、执行和控制、评审和评价、结束五项活动;配置管理、风险管理、进度跟踪也是管理的重要内容。
规模估算常用代码行(LOC)或功能点(FP)。功能点先按外部输入、外部输出、外部查询、内部逻辑文件、外部接口文件五类计数并加权,得到未调整功能点 UFC,再用 14 个技术复杂度因子(每个取 0~5)调整:FP=UFC×(0.65+0.01×∑Fi)。
成本估算常用 COCOMO。基本 COCOMO 的工作量 E=a⋅KLOCb(人月),开发时间 D=c⋅Ed(月):
| 项目类型 | a | b | c | d |
|---|---|---|---|---|
| 有机型(组织型) | 2.4 | 1.05 | 2.5 | 0.38 |
| 半独立型(半分离型) | 3.0 | 1.12 | 2.5 | 0.35 |
| 嵌入型 | 3.6 | 1.20 | 2.5 | 0.32 |
例如 32 KLOC 的有机型项目,E=2.4×321.05≈91.3 人月,D=2.5×91.30.38≈13.9 个月。进度估算常用甘特图、PERT 图和关键路径法,单项任务的工期可用三点估算 t=6O+4M+P(O 乐观、M 最可能、P 悲观)。
本节后面还有约 1967 字:报名学员看全文
每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。
题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。
学完练一练
按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。
本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。