Skip to the content.

系统测试|系统运行维护

软件测试方法

静态测试:不运行程序的测试(桌前检查,代码审查,代码走查)

动态测试

黑盒测试:不关注代码层,只关注业务功能

白盒测试:关注代码逻辑,覆盖代码逻辑的测试用例

测试阶段

单元测试:模块化测试

集成测试:多个模块联系在一起测试

系统测试:整体性的测试,偏向功能,健壮性,稳定性

确认测试:验证软件功能,性能和其他特性是否与用户需求一致

(内部确认,alpha测试:开发环境,beta测试:正式环境,验收测试)偏向验收

题外话:回归测试意思是修改后功能是否正常,是否影响其他功能

测试策略

自底向上:从底层模块开始,逐步模块合并达到整体性测试

自顶向下:先做系统化的测试,再去关注底层模块

三明治:以上二者相结合

黑盒测试用例分类

等价类划分:按照数据特性分类,同一类的测一种,重复步骤,覆盖所有的有效等价类

边界值划分:每一类的边界值作为测试用例

错误推测:凭经验推测

因果图:由结果反推原因

白盒测试用例分类

语句覆盖SC:所有代码语句都走一遍(覆盖层级低,因为条件语句有两面性,所以走不完所有的条件判断)

判定覆盖DC:条件的真假分支都要覆盖

条件覆盖CC : 判定是指()里面最终是true , 条件覆盖是()内每一个关系判定都要覆盖

条件判定组合覆盖CDC:同时满足判定覆盖和条件覆盖

路径覆盖:语句运行路线的各种可能

软件度量

软件外部属性:面向管理者和用户的属性,类似于性能指标

软件内部属性:面向软件本身,如可靠性

McCabe 度量法

假设有向图有向边数为m

节点数是n

环路复杂度等于 m-n+2

image-20210512154003495

image-20210512154030484

运行和维护

衡量遗留系统价值是两个维度,技术水平,业务价值

image-20210512154505895

淘汰:直接不要

集成:代码不换,集成业务

继承:继承业务,更换代码

改造:修改一下

系统转换

直接转换:直接老系统被新系统取代

并行转换:新老系统并行工作一段时间

分段转移:分期分批逐步转换

系统维护

时间和成本是最多的

可维护性

维护人员理解,改正,改动和改进的难易程度

可维护性指标

易分析性

易改变性

稳定性 :实际上是低耦合的考究

易测试性

维护行的依从性

系统维护类型

硬件

软件

正确性维护,适应性维护,完善性维护,预防性维护(都是字面意思)

数据