测试用例设计方法

测试用例设计方法

1 等价类划分

1.1 理论知识

等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。

等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。

等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类:

划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.

无效等价类:与有效等价类的定义恰巧相反.

设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:

下面给出六条确定等价类的原则:

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.

3)原则:

设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件 有效等价类 无效等价类

... ... ... ... ... ...

然后从划分出的等价类中按以下三个原则设计测试用例:

① 为每一个等价类规定一个唯一的编号.

② 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直

到所有的有效等价类都被覆盖为止.

③ 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所

有的无效等价类都被覆盖为止.

之所以这么做,是因为程序中对于某一个错误输入的检查,往往会屏蔽对于其他错误输入的检查。因此,必须针对每一个无效等价类分别设计测试用例

1.2 实例

1、保险费率计算

人 人 保 险 公 司 承 担 人 寿 保 险 已 有 多 年 历 史 , 该 公 司 保 费 计 算 方 式 为 投 保 额 *

保 险 率 , 保 险 率 又 依 点 数 不 同 而 有 别 , 10 点 以 上 费 率 为 0.6 % , 10 点 以 下 费 率 为 0.1 % :

输入数据说明

一、分 析 输 入 数 据 型 式 。 年 龄 : 一 或 两 位 数 字 。

性 别 : 以 英 文 「 Male 」 、 Female 」、「 M 」 、 「 F 」 表 示 。 婚 姻 : 「 已 婚 」 、 「 未 婚 」 。 扶 养 人 数 : 空 白 或 一 位 数 字 。 保 险 费 率 : 10 点 以 上 , 10 点 以 下 。 二、 划 分 输 入 数 据

三、 设 计 输 入 数 据 。

四、 根据以上分析设计测试用例:

2 边界值分析法

2.1 理论知识

边界值分析方法是对等价类划分方法的补充,也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。

(1)边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.

3)根据规格说明的每个输出条件,使用前面的原则1). 4)根据规格说明的每个输出条件,应用前面的原则2).

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.

6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例. 7)分析规格说明,找出其它可能的边界条件.

2.2 实例

找零钱最佳组合

假 设 商 店 货 品 价 格 (R) 皆 不 大 于 100 元 ( 且 为 整 数 ) , 若 顾 客 付 款 在 100 元 内 (P) , 求 找 给 顾 客 之 最 少 货币 个(张) 数 ? ( 货 币 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 种 ) 一、 分 析 输 入 的 情 形 。 R > 100 0 100 R

二、 分 析 输 出 情 形 。

N50 = 1 N50 = 0 4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >= 1 N1 = 0

三、 分 析 规 格 中 每 一 决 策 点 之 情 形 , 以 RR1, RR2, RR3 表 示 计 算 要 找 50, 10, 5 元 货 币 数 时 之 剩 余 金 额 。 R > 100 R 100 P

RR1 >= 50 RR2 >= 10 RR3 >= 5

四、 由 上 述 之 输 入 / 输 出 条 件 组 合 出 可 能 的 情 形 。 1、R > 100 2、R

3、0 100 4、0

5、0

0

五、 为 满 足 以 上 之 各 种 情 形 , 测 试 资 料 设 计 如 下 : 1. 货品价格 = 101 2. 货品价格 = 0 3.货品价格 = -1

4. 货品价格 = 100, 付款金额 = 101 5. 货品价格 = 100, 付款金额 = 99 6. 货品价格 = 50, 付款金额 = 100 RR=50 7. 货品价格 = 51, 付款金额 = 100 RR=49 8. 货品价格 = 90, 付款金额 = 100 RR=10 9. 货品价格 = 91, 付款金额 = 100 RR=9 10. 货品价格 = 95, 付款金额 = 100 RR=5 11. 货品价格 = 96, 付款金额 = 100 RR=4 12. 货品价格 = 99, 付款金额 = 100 RR=1 13. 货品价格 = 100, 付款金额 = 100 RR=0

3 错误推测法

1、定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 2、错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他

们选择测试用例。

1) 例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

2) 例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:

I. 程序是否把空格作为回答

II. 在回答记录中混有标准答案记录

III. 除了标题记录外,还有一些的记录最后一个字符即不是2也不是3 IV. 有两个学生的学号相同 V. 试题数是负数。

3) 再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

I. 输入的线性表为空表; II. 表中只含有一个元素;

III. 输入表中所有元素已排好序; IV. 输入表已按逆序排好;

V. 输入表中部分或全部元素相同。

4 因果图方法

4.1 理论知识

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).

因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 利用因果图生成测试用例的基本步骤:

(1) 分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.

(2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.

(3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.

(4) 把因果图转换为判定表.

(5) 把判定表的每一列拿出来作为依据,设计测试用例.

从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.

前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.

判定表通常由四个部分组成.

条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.

动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束. 条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.

规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.

判定表的建立步骤:(根据软件规格说明)

① 确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则. ② 列出所有的条件桩和动作桩. ③ ③填入条件项.

④ ④填入动作项.等到初始判定表. ⑤ ⑤简化.合并相似规则(相同动作).

B. Beizer 指出了适合使用判定表设计测试用例的条件: ①规格说明以判定表形式给出,或很容易转换成判定表. ②条件的排列顺序不会也不影响执行哪些操作. ③规则的排列顺序不会也不影响执行哪些操作.

④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则. ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.

4.2 符号

4.3 实例

4.3.1 实例一

某软件规格说明中包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

分开原因和结果

原因:1----第一列字符是A; 2----第一列字符是B;

3----第二列字符是一数字。 结果:21----修改文件; 22----给出信息L; 23----给出信息M。

4.3.2 实例二

此例子是讲解利用因果图设计测试用例的一个小例子。以中国象棋中走马的测试用例设计为例学习因果图的使用方法。

一、分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)

1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

二、根据分析明确原因和结果 原因:

1、 落点在棋盘上;

2、 落点与起点构成日字; 3、 落点处不是自己方棋子;

4、 落点方向的邻近交叉点有棋子; 5、 落点处无棋子;

6、 落点处为对方棋子(非老将); 7、 落点处为对方老将。 结果:

21、不移动棋子; 22、移动棋子;

23、移动棋子,并除去对方棋子;

24、移动棋子,并提示战胜对方,结束游戏。

添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表

考虑结果不能同时发生,所以对其施加唯一约束O。原因5、6、7不能同时发生,所以对其施加异约束E.

可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工作量。

四、根据判定表写测试用例表(略)

5

路径覆盖

熟悉测试理论的人都知道,路径覆盖是白盒测试中一种很重要的方法,广泛应用于单元测试。那么基于路径覆盖的分析方法是不是只能应用于单元测试呢,能不能将其推而广之呢。一般而言,在单元测试中,路径就是指函数代码的某个分支,而实际上如果我们将软件系统的某个流程也看成路径的话,我们将可以尝试着用路径分析的方法来设计测试用例。采用路径分析的方法设计测试用例有两点好处:一是降低了测试用例设计的难度,只要搞清了各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验;二是在测试时间较紧的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍。下面就具体的介绍一下如何用路径分析的方法编写测试用例。

首先是将系统运行过程中所涉及到的各种流程图表化,可以先从最基本的流程入手,将流程抽象成为不同功能的顺序执行。在最基本流程的基础上再去考虑次要或者异常的流程,这样将各种流程逐渐细化,这样既可以逐渐加深对流程的理解,还可以将各个看似孤立的流程关联起来。完成所有流程的图表化后就完成了所有路径的设定。

找出了所有的路径,下面的工作就是给每条路径设定优先级,这样在测试时就可以先测优先级高的,再测优先级低的,在时间紧迫的情况下甚至可以考虑忽略一些低优先级的路径。优先级根据两个原则来选取:一是路径使用的频率,使用越频繁的优先级越高;二是路径的重要程度,如果失败对系统影响越大的优先级越高。将根据两个原则所分别得到的优先级相加就得到了整个路径的优先级。根据优先级的排序就可以更有针对性的进行测试。

为每条路径设定好优先级后,接下来的工作就是为每条路径选取测试数据,构造测试用例。一条路径可以对应多个测试用例,在选取测试数据时,可以充分利用边界值选取等方法,通过表格将各种测试数据的输入输出对应起来,这样就完成了测试用例的设计。

对于测试人员而言,测试用例的设计是一件非常困难的工作,而同时测试用例的设计好坏又直接关系到整个系统的设计质量。本文介绍了一种更理论化的设计方法来尽量简化这种工作,将一般应用于单元测试的路径分析方法推广到集成测试、系统测试等后续测试过程中,希望能给大家一点启示。

6 功能图

功能图方法是一种黑盒、白盒混合用例设计方法,是功能图FD形式化地表示程序的功能说明,并机器地生成功能图的测试用例。功能图模型由状态迁移图和逻

辑功能模型构成。

状态迁移图用于表示输入数据序列以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。

逻辑功能模型用于表示在状态输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。测试用例则由测试中的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。

(1)功能图:功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述。一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或是因果图表示的逻辑功能。例如,一个简化的自动出纳ATM机的功能图。

(2)测试用例生成方法:从功能图生成测试用例,得到的测试用例数是可以接受的。问题的关键是如何从状态迁移图中选取测试用例。若用节点代替状态,用弧线代替迁移,则状态迁移图就可转化成一个程序的控制流程图形式。问题就转化为程序的路径测试问题了。

(3)测试用例生成规则: 为了把状态迁移的测试用例与逻辑模型的测试用例相组合起来,从功能图生成生成实用的测试用例,需定义下面的规则。在一个结构化的迁移(SST)中,定义三种形式的循环:顺序、选择和重复。但分辨一个状态迁移中的所有循环是有困难的。

(4)从功能图生成测试用例的过程。

A、生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。 B、测试路径生成:利用上面的规则(3种)生成从初始状态到最后状态的测试路径。 C、测试用例合成: 合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。

D、测试用例的合成算法:采用合成构造树。

7 正交试验设计法

7.1 理论知识

1、什么是因素(Factor在一项试验中,凡欲考察的变量称为因素(变量)2、什么是水平(位级Level在试验范围内,因素被考察的值称为水平(变量的取值)3、什么是正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了均匀分散,齐整可比的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法

4、正交表的构成 正交表的构成

行数(Runs):正交表中的行的个数,即试验的次数 因素数(Factors):正交表中列的个数。

水平数:任何单个因素能够取得的值的最大个数。

正交表中的包含的值为从最大个数。正交表中的包含的值为从0到数 到数“水平 水平数-1”或从 或从1到“水平数 水平数”。

正交表的表示形式: L行数 (水平数因素数) 正交表的正交性

整齐可比性

在同一张正交表中,每个因素的每个水平出现次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件进行。

均衡分散性

在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性,容易得到好的试验条件。

三、用正交表设计测试用例 用正交表设计测试用例的步骤

1 有哪些因素(变量)

2 每个因素有哪几个水平(变量的取值) 3 选择一个合适的正交表 4 把变量的值映射到表中

5 把每一行的各因素水平的组合做为一个测试用例 6 加上你认为可疑且没有在表中出现的组

如何选择正交表

考虑因素(变量)的个数

考虑因素水平(变量的取值)的个数 考虑正交表的行数 取行数最少的一个

设计测试用例时的三种情况

1 因素数(变量)、水平数(变量值)相符 2 因素数不相同 3 水平数不相同

因素数、水平数相符 因素数、水平数相符

水平数(变量的取值)相同、因素数(变量)刚好符合正交表。

7.2 实例

一、对某人进行查询

1、假设查询某个人时有三个查询条件:根据“姓名”进行查询根据“身份证号码”查询根据“手机号码”查询

考虑查询条件要么不填写,要么填写,此时可用正交表进行设计

2、因素数和水平数 有三个因素:

姓名、身份证号、手机号码 每个因素有两个水平 姓名:填、不填 身份证号:填、不填 手机号码:填、不填

3、选择正交表 表中的因素数>=3

表中至少有三个因素的水平数>=2 行数取最少的一个结果:

4、变量映射

姓名:0....填写,1....不填写 身份证号:0....填写,1....不填写 手机号码:0....填写,1....不填写

5、用L4(23) 设计的测试用例 测试用例如下:

1:填写姓名、填写身份证号、填写手机号 2:填写姓名、不填身份证号、不填手机号 3:不填姓名、填写身份证号、不填手机号 4:不填姓名、不填身份证号、填写手机号 增补测试用例

5:不填姓名、不填身份证号、不填手机号 测试用例减少数:5

6、因素数不相同

水平数(变量的取值)相同但在正交表中找不到相同的因素数(变量)(取因素数 (取因素数 最接近但略大的实际值的表)

8 场景设计方法

8.1 理论知识:

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。

8.2 实例

1. 例子描述

下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。

表3-8 场景设计

3.用例设计

对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

表3-9 测试用例表

4.数据设计 一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。

表3-10 测试用例表

取行数最少的一

测试用例设计方法

1 等价类划分

1.1 理论知识

等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。

等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。

等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类:

划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.

无效等价类:与有效等价类的定义恰巧相反.

设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:

下面给出六条确定等价类的原则:

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.

3)原则:

设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件 有效等价类 无效等价类

... ... ... ... ... ...

然后从划分出的等价类中按以下三个原则设计测试用例:

① 为每一个等价类规定一个唯一的编号.

② 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直

到所有的有效等价类都被覆盖为止.

③ 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所

有的无效等价类都被覆盖为止.

之所以这么做,是因为程序中对于某一个错误输入的检查,往往会屏蔽对于其他错误输入的检查。因此,必须针对每一个无效等价类分别设计测试用例

1.2 实例

1、保险费率计算

人 人 保 险 公 司 承 担 人 寿 保 险 已 有 多 年 历 史 , 该 公 司 保 费 计 算 方 式 为 投 保 额 *

保 险 率 , 保 险 率 又 依 点 数 不 同 而 有 别 , 10 点 以 上 费 率 为 0.6 % , 10 点 以 下 费 率 为 0.1 % :

输入数据说明

一、分 析 输 入 数 据 型 式 。 年 龄 : 一 或 两 位 数 字 。

性 别 : 以 英 文 「 Male 」 、 Female 」、「 M 」 、 「 F 」 表 示 。 婚 姻 : 「 已 婚 」 、 「 未 婚 」 。 扶 养 人 数 : 空 白 或 一 位 数 字 。 保 险 费 率 : 10 点 以 上 , 10 点 以 下 。 二、 划 分 输 入 数 据

三、 设 计 输 入 数 据 。

四、 根据以上分析设计测试用例:

2 边界值分析法

2.1 理论知识

边界值分析方法是对等价类划分方法的补充,也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。

(1)边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.

3)根据规格说明的每个输出条件,使用前面的原则1). 4)根据规格说明的每个输出条件,应用前面的原则2).

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.

6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例. 7)分析规格说明,找出其它可能的边界条件.

2.2 实例

找零钱最佳组合

假 设 商 店 货 品 价 格 (R) 皆 不 大 于 100 元 ( 且 为 整 数 ) , 若 顾 客 付 款 在 100 元 内 (P) , 求 找 给 顾 客 之 最 少 货币 个(张) 数 ? ( 货 币 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 种 ) 一、 分 析 输 入 的 情 形 。 R > 100 0 100 R

二、 分 析 输 出 情 形 。

N50 = 1 N50 = 0 4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >= 1 N1 = 0

三、 分 析 规 格 中 每 一 决 策 点 之 情 形 , 以 RR1, RR2, RR3 表 示 计 算 要 找 50, 10, 5 元 货 币 数 时 之 剩 余 金 额 。 R > 100 R 100 P

RR1 >= 50 RR2 >= 10 RR3 >= 5

四、 由 上 述 之 输 入 / 输 出 条 件 组 合 出 可 能 的 情 形 。 1、R > 100 2、R

3、0 100 4、0

5、0

0

五、 为 满 足 以 上 之 各 种 情 形 , 测 试 资 料 设 计 如 下 : 1. 货品价格 = 101 2. 货品价格 = 0 3.货品价格 = -1

4. 货品价格 = 100, 付款金额 = 101 5. 货品价格 = 100, 付款金额 = 99 6. 货品价格 = 50, 付款金额 = 100 RR=50 7. 货品价格 = 51, 付款金额 = 100 RR=49 8. 货品价格 = 90, 付款金额 = 100 RR=10 9. 货品价格 = 91, 付款金额 = 100 RR=9 10. 货品价格 = 95, 付款金额 = 100 RR=5 11. 货品价格 = 96, 付款金额 = 100 RR=4 12. 货品价格 = 99, 付款金额 = 100 RR=1 13. 货品价格 = 100, 付款金额 = 100 RR=0

3 错误推测法

1、定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 2、错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他

们选择测试用例。

1) 例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

2) 例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:

I. 程序是否把空格作为回答

II. 在回答记录中混有标准答案记录

III. 除了标题记录外,还有一些的记录最后一个字符即不是2也不是3 IV. 有两个学生的学号相同 V. 试题数是负数。

3) 再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

I. 输入的线性表为空表; II. 表中只含有一个元素;

III. 输入表中所有元素已排好序; IV. 输入表已按逆序排好;

V. 输入表中部分或全部元素相同。

4 因果图方法

4.1 理论知识

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).

因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 利用因果图生成测试用例的基本步骤:

(1) 分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.

(2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.

(3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.

(4) 把因果图转换为判定表.

(5) 把判定表的每一列拿出来作为依据,设计测试用例.

从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.

前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.

判定表通常由四个部分组成.

条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.

动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束. 条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.

规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.

判定表的建立步骤:(根据软件规格说明)

① 确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则. ② 列出所有的条件桩和动作桩. ③ ③填入条件项.

④ ④填入动作项.等到初始判定表. ⑤ ⑤简化.合并相似规则(相同动作).

B. Beizer 指出了适合使用判定表设计测试用例的条件: ①规格说明以判定表形式给出,或很容易转换成判定表. ②条件的排列顺序不会也不影响执行哪些操作. ③规则的排列顺序不会也不影响执行哪些操作.

④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则. ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.

4.2 符号

4.3 实例

4.3.1 实例一

某软件规格说明中包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

分开原因和结果

原因:1----第一列字符是A; 2----第一列字符是B;

3----第二列字符是一数字。 结果:21----修改文件; 22----给出信息L; 23----给出信息M。

4.3.2 实例二

此例子是讲解利用因果图设计测试用例的一个小例子。以中国象棋中走马的测试用例设计为例学习因果图的使用方法。

一、分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)

1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

二、根据分析明确原因和结果 原因:

1、 落点在棋盘上;

2、 落点与起点构成日字; 3、 落点处不是自己方棋子;

4、 落点方向的邻近交叉点有棋子; 5、 落点处无棋子;

6、 落点处为对方棋子(非老将); 7、 落点处为对方老将。 结果:

21、不移动棋子; 22、移动棋子;

23、移动棋子,并除去对方棋子;

24、移动棋子,并提示战胜对方,结束游戏。

添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表

考虑结果不能同时发生,所以对其施加唯一约束O。原因5、6、7不能同时发生,所以对其施加异约束E.

可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工作量。

四、根据判定表写测试用例表(略)

5

路径覆盖

熟悉测试理论的人都知道,路径覆盖是白盒测试中一种很重要的方法,广泛应用于单元测试。那么基于路径覆盖的分析方法是不是只能应用于单元测试呢,能不能将其推而广之呢。一般而言,在单元测试中,路径就是指函数代码的某个分支,而实际上如果我们将软件系统的某个流程也看成路径的话,我们将可以尝试着用路径分析的方法来设计测试用例。采用路径分析的方法设计测试用例有两点好处:一是降低了测试用例设计的难度,只要搞清了各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验;二是在测试时间较紧的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍。下面就具体的介绍一下如何用路径分析的方法编写测试用例。

首先是将系统运行过程中所涉及到的各种流程图表化,可以先从最基本的流程入手,将流程抽象成为不同功能的顺序执行。在最基本流程的基础上再去考虑次要或者异常的流程,这样将各种流程逐渐细化,这样既可以逐渐加深对流程的理解,还可以将各个看似孤立的流程关联起来。完成所有流程的图表化后就完成了所有路径的设定。

找出了所有的路径,下面的工作就是给每条路径设定优先级,这样在测试时就可以先测优先级高的,再测优先级低的,在时间紧迫的情况下甚至可以考虑忽略一些低优先级的路径。优先级根据两个原则来选取:一是路径使用的频率,使用越频繁的优先级越高;二是路径的重要程度,如果失败对系统影响越大的优先级越高。将根据两个原则所分别得到的优先级相加就得到了整个路径的优先级。根据优先级的排序就可以更有针对性的进行测试。

为每条路径设定好优先级后,接下来的工作就是为每条路径选取测试数据,构造测试用例。一条路径可以对应多个测试用例,在选取测试数据时,可以充分利用边界值选取等方法,通过表格将各种测试数据的输入输出对应起来,这样就完成了测试用例的设计。

对于测试人员而言,测试用例的设计是一件非常困难的工作,而同时测试用例的设计好坏又直接关系到整个系统的设计质量。本文介绍了一种更理论化的设计方法来尽量简化这种工作,将一般应用于单元测试的路径分析方法推广到集成测试、系统测试等后续测试过程中,希望能给大家一点启示。

6 功能图

功能图方法是一种黑盒、白盒混合用例设计方法,是功能图FD形式化地表示程序的功能说明,并机器地生成功能图的测试用例。功能图模型由状态迁移图和逻

辑功能模型构成。

状态迁移图用于表示输入数据序列以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。

逻辑功能模型用于表示在状态输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。测试用例则由测试中的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。

(1)功能图:功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述。一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或是因果图表示的逻辑功能。例如,一个简化的自动出纳ATM机的功能图。

(2)测试用例生成方法:从功能图生成测试用例,得到的测试用例数是可以接受的。问题的关键是如何从状态迁移图中选取测试用例。若用节点代替状态,用弧线代替迁移,则状态迁移图就可转化成一个程序的控制流程图形式。问题就转化为程序的路径测试问题了。

(3)测试用例生成规则: 为了把状态迁移的测试用例与逻辑模型的测试用例相组合起来,从功能图生成生成实用的测试用例,需定义下面的规则。在一个结构化的迁移(SST)中,定义三种形式的循环:顺序、选择和重复。但分辨一个状态迁移中的所有循环是有困难的。

(4)从功能图生成测试用例的过程。

A、生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。 B、测试路径生成:利用上面的规则(3种)生成从初始状态到最后状态的测试路径。 C、测试用例合成: 合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。

D、测试用例的合成算法:采用合成构造树。

7 正交试验设计法

7.1 理论知识

1、什么是因素(Factor在一项试验中,凡欲考察的变量称为因素(变量)2、什么是水平(位级Level在试验范围内,因素被考察的值称为水平(变量的取值)3、什么是正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了均匀分散,齐整可比的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法

4、正交表的构成 正交表的构成

行数(Runs):正交表中的行的个数,即试验的次数 因素数(Factors):正交表中列的个数。

水平数:任何单个因素能够取得的值的最大个数。

正交表中的包含的值为从最大个数。正交表中的包含的值为从0到数 到数“水平 水平数-1”或从 或从1到“水平数 水平数”。

正交表的表示形式: L行数 (水平数因素数) 正交表的正交性

整齐可比性

在同一张正交表中,每个因素的每个水平出现次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件进行。

均衡分散性

在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性,容易得到好的试验条件。

三、用正交表设计测试用例 用正交表设计测试用例的步骤

1 有哪些因素(变量)

2 每个因素有哪几个水平(变量的取值) 3 选择一个合适的正交表 4 把变量的值映射到表中

5 把每一行的各因素水平的组合做为一个测试用例 6 加上你认为可疑且没有在表中出现的组

如何选择正交表

考虑因素(变量)的个数

考虑因素水平(变量的取值)的个数 考虑正交表的行数 取行数最少的一个

设计测试用例时的三种情况

1 因素数(变量)、水平数(变量值)相符 2 因素数不相同 3 水平数不相同

因素数、水平数相符 因素数、水平数相符

水平数(变量的取值)相同、因素数(变量)刚好符合正交表。

7.2 实例

一、对某人进行查询

1、假设查询某个人时有三个查询条件:根据“姓名”进行查询根据“身份证号码”查询根据“手机号码”查询

考虑查询条件要么不填写,要么填写,此时可用正交表进行设计

2、因素数和水平数 有三个因素:

姓名、身份证号、手机号码 每个因素有两个水平 姓名:填、不填 身份证号:填、不填 手机号码:填、不填

3、选择正交表 表中的因素数>=3

表中至少有三个因素的水平数>=2 行数取最少的一个结果:

4、变量映射

姓名:0....填写,1....不填写 身份证号:0....填写,1....不填写 手机号码:0....填写,1....不填写

5、用L4(23) 设计的测试用例 测试用例如下:

1:填写姓名、填写身份证号、填写手机号 2:填写姓名、不填身份证号、不填手机号 3:不填姓名、填写身份证号、不填手机号 4:不填姓名、不填身份证号、填写手机号 增补测试用例

5:不填姓名、不填身份证号、不填手机号 测试用例减少数:5

6、因素数不相同

水平数(变量的取值)相同但在正交表中找不到相同的因素数(变量)(取因素数 (取因素数 最接近但略大的实际值的表)

8 场景设计方法

8.1 理论知识:

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。

8.2 实例

1. 例子描述

下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。

表3-8 场景设计

3.用例设计

对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

表3-9 测试用例表

4.数据设计 一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。

表3-10 测试用例表

取行数最少的一


相关内容

  • 软件测试需求分析与系统测试用例设计
  • 软件测试需求分析与系统测试用例设计 上海博为峰软件技术有限公司 2007年11月24日 目录 第一章:软件需求评审............................................................................................. ...

  • 2013软件评测师考试大纲
  • 2013全国计算机软考软件评测师考试大纲 一.考试说明 1. 考试要求 (1)熟悉计算机基础知识; (2)熟悉操作系统.数据库.中间件.程序设计语言基础知识; (3)熟悉计算机网络基础知识; (4)熟悉软件工程知识,理解软件开发方法及过程; (5)熟悉软件质量及软件质量管理基础知识; (6)熟悉软件 ...

  • 软件测试与质量保证简答题
  • 简答题 1.什么是软件测试? 答:软件测试是为了发现错误而执行程序的过程.或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程. 2.软件测试的目的? 答:测试的目的是想以最少的人力. ...

  • 软件工程基础知识点整理免费版
  • 软件工程基础知识点整理 一. 软件工程基本概念: 1. 软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序.数据以及相关文档的完整集合. (1)程序是软件开发人员根据用户需求开发的.用程序设计语言描述的.适合计算机执行的指令(语句)序列. (2)数据是使程序能够正常操作信息的数据结构. ( ...

  • 应用系统测试类论文模板
  • 西安电子科技大学软件学院 软件工程硕士学位论文 写作模板 (1.0版) 应 用 系 统 测 试 类 西安电子科技大学软件学院 宋胜利 2013年04月 代学分类U D `密编 题(中.英文) 作者姓 工程领提 交 论文日 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学分和优良的科学道德,本人 ...

  • 计算机四级考试内容
  • 计算机四级 新版计算机四级考试大纲 四级数据库工程师 考核数据库应用系统分析及规划.数据库设计及实现.数据库存储技术.并发控制技术.数据库管理与维护.数据库技术的发展和新技术.获得该证书表明考生掌握数据库系统的基本理论和技术,能够使用SQL 语言实现数据库的建立.维护和管理,具备利用工具软件开发基本 ...

  • XX项目系统测试方案模板
  • 慧谷-博为峰软件测试工作室 产品名称: 文档编号 产品版本 密级 共10页 XX系统测试方案 拟制: 日期:审核: 日期:批准: 日期:yyyy/mm/dd yyyy/mm/dd yyyy/mm/dd 修订记录 目 录 1概述 .................................... ...

  • [软件工程]教学大纲
  • 软件工程 一. 说明 (一) 课程性质 <软件工程>课程是计算机科学与技术专业必修的一门专业课程.为了摆脱软件危机的困扰,一门研究软件开发与维护的普遍原理和技术的工程学科--软件工程学从60年代末期开始迅速发展起来了,现在它已经成为计算机科学技术的一个重要分支,一个异常活跃的研究领域.严 ...

  • 学校选课系统面向对象分析与设计
  • 学校选课系统面向对象分析与设计 王晓辉1谭晓华2 (1山东大学管理学院,山东 济南250100) 济南 250014) (2山东财政学院计算机信息工程学院,山东 [摘要]本文以学校选课系统为例,对如何利用umI'L吾言进行对象建模.如何利用面向对象语言实现对象模型等问题进行了初步探讨.[关键词]面向 ...

  • 软件测试各过程的意义
  • 软件测试过程 海辉软件应用测试部门在长期的行业测试经验中,在软件测试过程模型方面总结出了如下图所示的改进W模型: 软件测试改进W模型 相对于传统V模型,W模型更科学,由一个开发的"V"和一个与之并行的测试"V"组成,体现了"尽早地和不断地进行软件测试 ...