【中级软件设计师】上午题12-软件工程(2)
1 系统测试
1.意义:系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试
2.目的:测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。
根据测试的概念和目的,在进行信息系统测试时应遵循以下基本原则。
(1)应尽早并不断地进行测试。
(2)测试工作应该避免由原开发软件的人或小组承担,
(3)在设计测试方案时,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。
(4)在设计测试用例时,不仅要设计有效、合理的输入条件,也要包含不合理、失效的输入条件。
(5)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。
(6)严格按照测试计划来进行,避免测试的随意性。
(7)妥善保存测试计划、测试用例,作为软件文档的组成部分,为维护提供方便。
(8)测试例子都是精心设计出来的,可以为重新测试或追加测试提供方便。
(9)系统测试阶段的测试目标来自于需求分析阶段。
1.3.4.5.8.9比较常考 6.7没怎么考过
1.1 单元测试
单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。单元测试侧重于模块中的内部处理逻辑和数据结构。如果选用机器测试,一般用白盒测试法。这类测试可以对多个模块同时进行。
1.2 集成测试
1.2.1 自顶向下
不需要编写驱动模块
1.2.2 自底向上
需要编写驱动模块,不需要编写桩模块
1.2.3 回归测试
每当加入一个新模块作为集成测试的一部分时,软件发生变更,建立了新的数据流路径,可能出现新的IO,以及调用新的控制逻辑。
这些变更可能会使原来可以正常工作的功能产生问题。
在集成测试策略的环境下,回归测试是重新执行已测试过的某些子集,以确保变更没有传播不期望的副作用。
在改正当前故障的同时可能会引入新的故障, 这时需要回归测试。
2 测试方法
在软件测试过程中,应该为定义软件测试模板,即将特定的测试方法和测试用例设计放在一系列的测试步骤中。
动态测试。动态测试是指通过运行程序发现错误。在对软件产品进行动态测试时可以采用黑盒测试法和白盒测试法。
2.1 黑盒测试
黑盒测试也称为功能测试,在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。进行黑盒测试主要是为了发现以下几类错误。
常见的黑盒测试技术有:等价类划分、边界值分析、错误推测和因果图。(首字母缩写:bcyd饱餐一顿)
等价类划分测试方法中,一个测试用例的不合理的输入越多就说明该用例不是一个好的测试用例。
2.1.1 McCabe度量法
McCabe 度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式为:V(G)=m-n+2,其中V(G)是有向图 G 中的环路个数,m 是 G 中的有向弧数,n是 G中的节点数。
m是边的个数/箭头数,n是节点数
V(G) = 边数-节点数+2
例子:
v(g)=10-7+2=5
2.2 白盒测试
使用白盒测试方法时,应根据 程序的内部逻辑 和 指定的覆盖标准