杭杭州紫金港培训学校(紫金港专升本)
同等学力申硕计算机科学与技术学科综合考前辅导第九章 软件工程第 25 节 / 共 32 节约 30 分钟报名学员看全文

软件测试、工程管理与质量保证

掌握测试的目的与测试阶段,会做逻辑覆盖和基本路径测试、等价类划分和边界值分析,会用功能点、COCOMO 和三点估算做规模、成本与进度估算,了解质量模型、质量保证活动和 CASE 环境。

本节考点:白盒测试黑盒测试测试过程规模与成本估算软件质量模型CASE工具与环境

本节导读

这一节讲软件工程大纲的后四个单元:第(五)单元软件测试(测试的概念与测试过程模型、白盒测试、黑盒测试);第(六)单元软件工程管理(管理活动,规模、成本和进度估算);第(七)单元软件质量与质量保证;第(八)单元 CASE 工具与环境。

测试这部分要动手计算和设计的内容很多:算环形复杂度、列基本路径、按等价类和边界值设计用例;估算部分会用到功能点和 COCOMO 公式。按常见资料的说法,这部分在单项选择、判断、简答里都会出现,概念要记准,公式要会代数。

软件测试的概念与测试过程

测试是为了发现错误而执行程序的过程;好的测试用例是很可能发现尚未发现的错误的用例。测试只能证明错误存在,不能证明错误不存在,穷举测试一般做不到,所以要精心设计用例。测试应尽早开始、由独立的人员进行,错误往往集中在少数模块中。

测试阶段依据主要内容
单元测试详细设计测试单个模块的接口、局部数据结构、路径、出错处理、边界条件
集成测试概要设计把模块组装起来测试接口;自顶向下用桩模块,自底向上用驱动模块
确认测试需求规约检查功能、性能等是否满足需求
系统测试系统需求与硬件、网络等一起测试,含性能、压力、安全等测试
验收测试合同与需求用户参与;α 测试在开发方场地进行,β 测试在用户的实际环境中进行、开发者一般不在场

V 模型把这些测试阶段与开发阶段一一对应:需求分析对验收测试,概要设计对集成测试,详细设计对单元测试。W 模型进一步强调测试与开发同步进行,需求和设计文档本身也要测试(评审)。修改程序后重新运行已有用例,检查有没有引入新错误,叫回归测试。

白盒测试

白盒测试按程序内部的逻辑结构设计用例。逻辑覆盖的常见标准:

覆盖标准要求
语句覆盖每条语句至少执行一次
判定覆盖(分支覆盖)每个判定的真、假分支至少各执行一次
条件覆盖每个判定中每个条件的真、假值至少各取一次
判定/条件覆盖同时满足判定覆盖和条件覆盖
条件组合覆盖每个判定中各条件取值的所有组合至少出现一次
路径覆盖覆盖程序中所有可能的路径

判定覆盖一定满足语句覆盖;条件覆盖不一定满足判定覆盖;条件组合覆盖一定满足判定/条件覆盖。

基本路径测试先画控制流图,再算环形复杂度,它等于独立路径的条数,也就是至少要设计的用例数。三种算法结果相同:V(G)=E−N+2V(G) = E - N + 2V(G)=E−N+2(EEE 为边数,NNN 为节点数);V(G)=P+1V(G) = P + 1V(G)=P+1(PPP 为二分支判定节点数);V(G)V(G)V(G) 等于控制流图把平面分成的区域数。

黑盒测试

黑盒测试只看规格说明,不看内部结构。等价类划分把输入分成有效等价类和无效等价类,每类取一个代表值:设计用例时,一个用例尽可能多地覆盖尚未覆盖的有效等价类,而每个用例只覆盖一个无效等价类,以免一个错误掩盖另一个。边界值分析在边界上及边界两侧取值,因为错误常出在边界上。nnn 个变量做一般边界值分析时,每次只让一个变量取最小值、略大于最小值、略小于最大值、最大值,其余取正常值,再加一个全部取正常值的用例,共 4n+14n + 14n+1 个;健壮性测试再加上略小于最小值、略大于最大值两种取值,共 6n+16n + 16n+1 个。此外还有判定表、因果图和错误推测法。

软件工程管理与估算

按 ISO/IEC 12207,管理过程包括启动和范围定义、规划、执行和控制、评审和评价、结束五项活动;配置管理、风险管理、进度跟踪也是管理的重要内容。

规模估算常用代码行(LOC)或功能点(FP)。功能点先按外部输入、外部输出、外部查询、内部逻辑文件、外部接口文件五类计数并加权,得到未调整功能点 UFC,再用 14 个技术复杂度因子(每个取 0~5)调整:FP=UFC×(0.65+0.01×∑Fi)\text{FP} = \text{UFC} \times (0.65 + 0.01 \times \sum F_i)FP=UFC×(0.65+0.01×∑Fi​)。

成本估算常用 COCOMO。基本 COCOMO 的工作量 E=a⋅KLOCbE = a \cdot \text{KLOC}^{b}E=a⋅KLOCb(人月),开发时间 D=c⋅EdD = c \cdot E^{d}D=c⋅Ed(月):

项目类型aaabbbcccddd
有机型(组织型)2.41.052.50.38
半独立型(半分离型)3.01.122.50.35
嵌入型3.61.202.50.32

例如 32 KLOC 的有机型项目,E=2.4×321.05≈91.3E = 2.4 \times 32^{1.05} \approx 91.3E=2.4×321.05≈91.3 人月,D=2.5×91.30.38≈13.9D = 2.5 \times 91.3^{0.38} \approx 13.9D=2.5×91.30.38≈13.9 个月。进度估算常用甘特图、PERT 图和关键路径法,单项任务的工期可用三点估算 t=O+4M+P6t = \dfrac{O + 4M + P}{6}t=6O+4M+P​(OOO 乐观、MMM 最可能、PPP 悲观)。

本节后面还有约 1967 字:报名学员看全文

每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。

题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。

学完练一练

按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。

本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。

我要提问免费报名咨询