软件项目开发流程

上传人:pu****.1 文档编号:568439700 上传时间:2024-07-24 格式:PPT 页数:52 大小:2.29MB
返回 下载 相关 举报
软件项目开发流程_第1页
第1页 / 共52页
软件项目开发流程_第2页
第2页 / 共52页
软件项目开发流程_第3页
第3页 / 共52页
软件项目开发流程_第4页
第4页 / 共52页
软件项目开发流程_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《软件项目开发流程》由会员分享,可在线阅读,更多相关《软件项目开发流程(52页珍藏版)》请在金锄头文库上搜索。

1、 沈阳职业技术学院计算机系沈阳职业技术学院计算机系 软件测试技术软件测试技术软件测试技术软件测试技术软件测试技术软件测试技术 主讲教师:冯书晶主讲教师:冯书晶珍惜时间,善待自己,善待他人!珍惜时间,善待自己,善待他人! “四个一四个一”训练训练v组织教学:组织教学:v校训:自强不息,开物成务!校训:自强不息,开物成务!v培养目标:培养目标: 计算机软件技术高技能人才!计算机软件技术高技能人才!v岗位能力要求:岗位能力要求: 精编程、善操作、懂设计、知流程!精编程、善操作、懂设计、知流程!一、黑盒测试策略与准则一、黑盒测试策略与准则二、边值分析二、边值分析三、等价类划分三、等价类划分四、因果图四

2、、因果图五、判定表驱动测试五、判定表驱动测试六、正交实验设计法六、正交实验设计法第第3 3章章 软件测试用例的设计方法软件测试用例的设计方法讲授内容:讲授内容:一、黑盒测试策略与准则一、黑盒测试策略与准则1、黑盒测试策略、黑盒测试策略v正常情况;正常情况;v非正常情况;非正常情况;v边界情况;边界情况;v非法情况;非法情况;v极端情况(强度测试);极端情况(强度测试);v性能测试;性能测试;v兼容性,用户友好性。兼容性,用户友好性。2 2、黑盒黑盒测试准则测试准则v何时结束?何时结束?v覆盖率?覆盖率?v测试方法的选择。测试方法的选择。二、边值分析二、边值分析 1 1、边值分析:、边值分析:

3、实践表明,在设计测试用例时,对边界实践表明,在设计测试用例时,对边界附近的处理必须给予足够的重视,为检验附近的处理必须给予足够的重视,为检验边界附近的处理专门设计测试用例,常常边界附近的处理专门设计测试用例,常常取得良好的测试效果。取得良好的测试效果。(1 1)如果输入条件规定了取值范围,或是规定了值)如果输入条件规定了取值范围,或是规定了值的个数,则应以该范围的边界内及刚刚超出范围的个数,则应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小个数及稍的边界外的值,或是分别对最大、最小个数及稍小于最小、稍大于最大个数作为测试用例。小于最小、稍大于最大个数作为测试用例。(2 2)针

4、对规格说明的每个输出条件使用上面的规则。)针对规格说明的每个输出条件使用上面的规则。(3 3)如果程序规格说明中提到的输入或输出域是个)如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等),就应注意有序的集合(如顺序文件、表格等),就应注意选取有序集的第一个和最后一个元素作为测试用选取有序集的第一个和最后一个元素作为测试用例。例。(4 4)分析规格说明,找出其他的可能边界条件。)分析规格说明,找出其他的可能边界条件。2、注意遵循以下几条原则:、注意遵循以下几条原则:思考:思考:跳棋中的边界值分析?跳棋中的边界值分析? 三、等价类划分三、等价类划分1 1、等价类划分、等价类划

5、分 是一种典型的黑盒测试方法,即用这一是一种典型的黑盒测试方法,即用这一方法设计测试用例完全不考虑程序的内部方法设计测试用例完全不考虑程序的内部结构,而是只根据对程序的要求和说明,结构,而是只根据对程序的要求和说明,即需求规格说明书。把说明中对输入的要即需求规格说明书。把说明中对输入的要求和输出的要求区别开来并加以分解。求和输出的要求区别开来并加以分解。2 2、选取等价类划分方法的原因:、选取等价类划分方法的原因:v由于穷举测试的办法数量太大,以至于无由于穷举测试的办法数量太大,以至于无法实际完成,自然促使我们要在大量的可法实际完成,自然促使我们要在大量的可能数据中选取其中的一部分作为测试用例

6、。能数据中选取其中的一部分作为测试用例。问题在于如何选取问题在于如何选取等价类划分。等价类划分。v等价类划分的办法是把程序的输入域划分等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。代表性数据当作测试用例。3 3、等价类划分方法简介、等价类划分方法简介v有效等价类有效等价类v指的是对程序的规格说明是有意义的、合理的输指的是对程序的规格说明是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。类可以是一个,也可以是多个。v无效等价类无效

7、等价类v指对程序的规格说明是不合理的或无意义的输入指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。类至少应有一个,也可能有多个。4 4、确定等价类的原则、确定等价类的原则(1 1)如果输入条件规定了取值范围或值的个数,则)如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。可确定一个有效等价类和两个无效等价类。v例如,程序的规格说明中提到的输入条件包括例如,程序的规格说明中提到的输入条件包括“项数可以从项数可以从1 1到到999999,”则可以取有效等价则可以取

8、有效等价类类“11项数项数999999”。无效等价类为。无效等价类为“项数项数1999999”。又如,程序规格说明中提到。又如,程序规格说明中提到“学生允许选修学生允许选修2 2至至4 4门课门课”,有效等价类可取,有效等价类可取“选课选课2 2至至4 4门门”,无效等价类为,无效等价类为“只选一门或未选只选一门或未选课课”及及“选课超过选课超过4 4门门”。(2 2)输入条件规定了输入值的集合,或是规定了)输入条件规定了输入值的集合,或是规定了“必须如何必须如何”的条件,则可确定一个有效等价类和的条件,则可确定一个有效等价类和一个无效等价类。一个无效等价类。v例如,某程序的规格说明中提到的输

9、入条件包括例如,某程序的规格说明中提到的输入条件包括“统计全国各省、市、自治区的人口统计全国各省、市、自治区的人口”,则,则应取应取“国内省、市、自治区国内省、市、自治区”为有效等价类,为有效等价类,“非国内省、市、自治区非国内省、市、自治区”为无效等价类。为无效等价类。(3 3)如果我们确知,已划分的等价类中各元素在程)如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一序中的处理方式是不同的,则应将此等价类进一步划分成更小的等价类。步划分成更小的等价类。5、等价类表格形式:、等价类表格形式:6、确定测试用例步骤、确定测试用例步骤:(1 1)为每个等价类规定一个

10、唯一的编号。)为每个等价类规定一个唯一的编号。(2 2)设计一个测试用例,使其尽可能多地覆盖尚未)设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖。有效等价类均被测试用例所覆盖。(3 3)设计一个新的测试用例,使其只覆盖一个无效)设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。等价类。重复这一步使所有无效等价类均被覆盖。思考:思考: 测试测试文本框输入情况时,存文本框输入情况时,存在哪些需要使用等价类划分测在哪些需要使用等价类划分测试方法的?试方法的?四、

11、因果图法四、因果图法 1、为何采用因果图、为何采用因果图:v等价类划分方法并没有考虑到输入情况的各种组等价类划分方法并没有考虑到输入情况的各种组合,也没考虑到各个输入情况之间的相互制约关合,也没考虑到各个输入情况之间的相互制约关系。系。v这样做尽管考虑到各个输入条件可能出错的多种这样做尽管考虑到各个输入条件可能出错的多种情况,但多个输入条件组合起来出错的情况却被情况,但多个输入条件组合起来出错的情况却被忽略了。忽略了。v采用因果图方法(采用因果图方法(Cause-Effect GraphingCause-Effect Graphing)能够)能够帮助我们按一定步骤地选择测试用例,同时还能帮助我

12、们按一定步骤地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问为我们指出,程序规格说明描述中存在着什么问题。题。(1 1)分析程序规格说明的描述中,那些是原因,那)分析程序规格说明的描述中,那些是原因,那些是结果。原因常常是输入条件或是输入条件的些是结果。原因常常是输入条件或是输入条件的等价类。而结果是输出条件。等价类。而结果是输出条件。(2 2)分析程序规格说明中的描述中语义的内容,并)分析程序规格说明中的描述中语义的内容,并讲其表示成连接各个原因与各个结果的讲其表示成连接各个原因与各个结果的“因果图因果图”。(3 3)由于语法或环境的限制,有些原因和结果的组)由于语法或环境

13、的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个特殊的符号标明约束条件。在因果图上使用若干个特殊的符号标明约束条件。(4 4)把因果图转换为判定表。)把因果图转换为判定表。(5 5)把判定表中每一列表示的情况写成测试用例。)把判定表中每一列表示的情况写成测试用例。2 2、测试用例选择步骤:、测试用例选择步骤:3 3、因果图法介绍:、因果图法介绍: 因果图的四种符号:因果图的四种符号:因果图的四种符号:因果图的四种符号:v说明:说明:vc i c i 表示原因,通常置于图的左部;表示原因,通常置于图的左部;e

14、i e i 表示结表示结果,通常在图的右部。果,通常在图的右部。c i c i 和和e i e i 均可取值均可取值0 0或或1 1,0 0表示某状态不出现,表示某状态不出现,1 1表示某状态出现。表示某状态出现。v在实际问题中,输入状态相互之间还可能存在某在实际问题中,输入状态相互之间还可能存在某些依赖关系,称之为些依赖关系,称之为“约束约束”。比如,某些输入。比如,某些输入条件本身不可能同时出现。输出状态之间也往往条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些存在约束。在因果图中,用特定的符号标明这些约束。约束。vE E约束(异):约束(异):a a和

15、和b b中至多有一个可能为中至多有一个可能为1 1,即,即a a和和b b不能同时为不能同时为1 1。vI I约束(或):约束(或):a a、b b和和c c中至少有一个必须是中至少有一个必须是1 1,即,即a a、b b和和c c不能同时为不能同时为0 0。vO O约束(唯一):约束(唯一): a a和和b b必须有且仅有一个为必须有且仅有一个为1 1。uR R约束(要求):约束(要求):a a是是1 1时,时,b b必须为必须为1 1,即不可能,即不可能a a是是1 1时时b b是是0 0。v输出条件有的约束只有输出条件有的约束只有M M约束(强制):若结果约束(强制):若结果a a是是1

16、 1时,则时,则b b的结果强制为的结果强制为0 0。4、小结、小结v在较为复杂的问题中,因果图这个方法是十分有在较为复杂的问题中,因果图这个方法是十分有效的,它能有力地帮助我们确定测试用例。当然,效的,它能有力地帮助我们确定测试用例。当然,如果哪个开发项目在设计阶段就采用了判定表,如果哪个开发项目在设计阶段就采用了判定表,也就不必再画因果图,而是可以直接利用判定表也就不必再画因果图,而是可以直接利用判定表设计测试用例了。设计测试用例了。思考:思考: 如何在测试象棋中的如何在测试象棋中的走马情况走马情况 时,体现因果时,体现因果测试法?测试法?五、判定表驱动测试五、判定表驱动测试1、判定表(判

17、定表(Decision Table)v在一些数据处理问题中,某些操作是否实施依赖在一些数据处理问题中,某些操作是否实施依赖多个逻辑条件的取值。也即在这些逻辑条件取值多个逻辑条件的取值。也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操的组合所构成的多种情况下,分别执行不同的操作。处理这类问题的一个非常有力的分析和表达作。处理这类问题的一个非常有力的分析和表达工具是判定表。工具是判定表。2、判定表(、判定表(Decision Table )驱动测试)驱动测试判定由四个部分组成:判定由四个部分组成:v条件茬(条件茬(Condition StubCondition Stub)v动作茬(

18、动作茬(Action StubAction Stub)v条件项(条件项(Condition EntryCondition Entry)v动作项(动作项(Action EntryAction Entry)3 3、判定表的化简、判定表的化简4 4、判定表的特点:、判定表的特点:v它能把复杂的问题按各种可能的情况一一列举出它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。来,简明而易于理解,也可避免遗漏。v它的不足之处在于,不能表达重复执行的动作,它的不足之处在于,不能表达重复执行的动作,例如循环结构。例如循环结构。5、判定表在功能测试中的应用:、判定表在功能测试中的应用:

19、v一些软件的功能需求可用判定表表达得非常清楚,一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常有在检验程序的功能时判定表也就成为一个非常有力的工具。力的工具。6、例如:、例如: 一软件的规格说明指出:一软件的规格说明指出:(1 1)当条件)当条件1 1和条件和条件2 2满足,并且条件满足,并且条件3 3和条件和条件4 4不满不满足,或者当条件足,或者当条件1 1、3 3和条件和条件4 4满足时,要执行操作满足时,要执行操作1 1。(2 2)在任何一个条件都不满足时,要执行操作)在任何一个条件都不满足时,要执行操作2 2。(3 3)当条件)当条件1 1不满足时

20、,而条件不满足时,而条件4 4被满足时,要执行被满足时,要执行操作操作3 3。7、适合使用判定表设计测试用例的条件:、适合使用判定表设计测试用例的条件: (1 1)规格说明以判定表形式给出,或是很容易转换)规格说明以判定表形式给出,或是很容易转换成判定表。成判定表。(2 2)条件的排列顺序不会也不应影响执行哪些操作。)条件的排列顺序不会也不应影响执行哪些操作。(3 3)规则的排列顺序不会也不应影响执行哪些操作。)规则的排列顺序不会也不应影响执行哪些操作。(4 4)每当某一规则的条件已经满足,并确定要执行)每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。的操作后,不必检验别的

21、规则。(5 5)如果某一规则得到满足要执行多个操作,这些)如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。操作的执行顺序无关紧要。六、正交实验设计法六、正交实验设计法1、为何采用正交实验设计法为何采用正交实验设计法:v利用因果图来设计测试用例时,作为输入条件的利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软原因与输出结果之间的因果关系,有时很难从软件需求规格说明书得出,而且即使是对于一般中件需求规格说明书得出,而且即使是对于一般中小规模的软件,画出的因果图也可能非常庞大,小规模的软件,画出的因果图也可能非常庞大,以至于据此因果图而得到的测试用

22、例数目将达到以至于据此因果图而得到的测试用例数目将达到惊人的程度,给软件测试工作带来在人工、机时、惊人的程度,给软件测试工作带来在人工、机时、费用上的沉重负担。费用上的沉重负担。v为了有效地、合理地减少测试的工时与费用,可为了有效地、合理地减少测试的工时与费用,可以利用在实际生产活动中行之有效的正交实验法,以利用在实际生产活动中行之有效的正交实验法,进行测试用例的设计。进行测试用例的设计。2、正交实验设计法正交实验设计法:v是从大量的实验点中挑选出适量的、有代表性的是从大量的实验点中挑选出适量的、有代表性的点,应用依据伽罗瓦理论导出的点,应用依据伽罗瓦理论导出的“正交表正交表”,合,合理地安排

23、实验的一种科学的实验设计方法。理地安排实验的一种科学的实验设计方法。v在正交实验设计方法中,通常把判断实验结果优在正交实验设计方法中,通常把判断实验结果优劣的标准叫做实验的指标,把有可能影响实验指劣的标准叫做实验的指标,把有可能影响实验指标的条件称为因子,而影响实验因子的,叫做因标的条件称为因子,而影响实验因子的,叫做因子的水平(或状态)。子的水平(或状态)。v软件功能测试,作为实验的一种,完全可以利用软件功能测试,作为实验的一种,完全可以利用正交实验设计法,来进行测试数据的选择,以提正交实验设计法,来进行测试数据的选择,以提高测试的效率。高测试的效率。3、如何使用正交实验设计法:如何使用正交

24、实验设计法:v首先要根据被测软件的规格说明书找出影响其功首先要根据被测软件的规格说明书找出影响其功能实现的操作对象和外部因素,把它们当作因子,能实现的操作对象和外部因素,把它们当作因子,而把各个因子的取值当作状态,构造出二元的因而把各个因子的取值当作状态,构造出二元的因素分析表。然后,利用正交表进行各因子的状态素分析表。然后,利用正交表进行各因子的状态的组合,构造有效的测试输入数据集,并由此建的组合,构造有效的测试输入数据集,并由此建立因果图。这样得出的测试用例集中,测试用例立因果图。这样得出的测试用例集中,测试用例的数目将大大减少。的数目将大大减少。4、提取功能说明,构造因子提取功能说明,构

25、造因子 状态表状态表v在实际测试时,用户所提供的被测软件的功能说在实际测试时,用户所提供的被测软件的功能说明,往往是非形式化的,很难满足构造因素分析明,往往是非形式化的,很难满足构造因素分析表的需要。因此需要对软件规格说明书的功能要表的需要。因此需要对软件规格说明书的功能要求进行划分,把整体的概要性的功能要求进行层求进行划分,把整体的概要性的功能要求进行层层分解与展开。分解成具体的,有相对独立性的层分解与展开。分解成具体的,有相对独立性的基本的功能要求,这样就可以把被测软件中所有基本的功能要求,这样就可以把被测软件中所有的因子都确定下来,并为确定各因子的权值提供的因子都确定下来,并为确定各因子

26、的权值提供参考的依据。参考的依据。v接下来,由用户会同测试人员根据软件规格说明接下来,由用户会同测试人员根据软件规格说明书,确定各个因子的取值,即因子的状态。由于书,确定各个因子的取值,即因子的状态。由于有些因子的取值范围较广,我们必须进行采样取有些因子的取值范围较广,我们必须进行采样取值,在各个不同的取值区间上取典型值与边界值,值,在各个不同的取值区间上取典型值与边界值,并重点选取某些具有特定意义的取值点。并重点选取某些具有特定意义的取值点。v确定因子与状态是设计测试用例的关键,因此需确定因子与状态是设计测试用例的关键,因此需要尽可能全面、准确地确定取值,以确保测试用要尽可能全面、准确地确定

27、取值,以确保测试用例的设计做到完整与有效。例的设计做到完整与有效。v因子与状态填入用二维表格形式表示的因子因子与状态填入用二维表格形式表示的因子状态表。状态表。5、加权筛选,生成因素分析表、加权筛选,生成因素分析表v对因子与状态的选择可按其重要程度分别加权。对因子与状态的选择可按其重要程度分别加权。具体来说,可根据各个因子及状态的作用大小,具体来说,可根据各个因子及状态的作用大小,出现频率的大小,在不同的子系统或模块中的重出现频率的大小,在不同的子系统或模块中的重要程度以及测试的需要,确定权值的大小。这样要程度以及测试的需要,确定权值的大小。这样在必要时,可删去一部分权值较小,也就是重要在必要

28、时,可删去一部分权值较小,也就是重要性较小的因子或状态,使最后生成的测试用例集性较小的因子或状态,使最后生成的测试用例集缩减到允许范围。缩减到允许范围。v在不同测试阶段对因子及状态的权值的输入、改在不同测试阶段对因子及状态的权值的输入、改变都会有不同的要求。例如,初次测试时,可以变都会有不同的要求。例如,初次测试时,可以根据被测软件规模大小,确定是否加权。若需要根据被测软件规模大小,确定是否加权。若需要加权,则由测试人员确定权值并输入之,若无需加权,则由测试人员确定权值并输入之,若无需加权,则应以加权,则应以0 0作为各因子及状态的权值。在进行作为各因子及状态的权值。在进行模块或子系统测试时,

29、有时需要修改部分因子或模块或子系统测试时,有时需要修改部分因子或状态的权值,有时必须修改所有因子及状态的权状态的权值,有时必须修改所有因子及状态的权值,有时可以借用上次测试的权值重复进行测试。值,有时可以借用上次测试的权值重复进行测试。因此,必须考虑各个测试阶段可能出现的各种情因此,必须考虑各个测试阶段可能出现的各种情况,分别进行处理。况,分别进行处理。6、利用正交实验设计法设计测试用例的特点:利用正交实验设计法设计测试用例的特点:1 1)节省测试工作时。)节省测试工作时。2 2)可控制生成的测试用例的数量。)可控制生成的测试用例的数量。3 3)测试用例具有一定的覆盖度。)测试用例具有一定的覆盖度。思考:思考: 测试过程中,应如何使测试过程中,应如何使用黑盒测试技术?用黑盒测试技术?课后总结:课后总结:掌握黑盒测试策略与准则掌握黑盒测试策略与准则掌握黑盒测试的五种方法掌握黑盒测试的五种方法 本次课重点:本次课重点:回顾与讨论回顾与讨论 Any Question ? 沈阳职业技术学院计算机系沈阳职业技术学院计算机系 软件测试技术软件测试技术

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号