[IT认证]第6章 集成测试与系统测试

上传人:M****1 文档编号:578475301 上传时间:2024-08-24 格式:PPT 页数:82 大小:1.39MB
返回 下载 相关 举报
[IT认证]第6章 集成测试与系统测试_第1页
第1页 / 共82页
[IT认证]第6章 集成测试与系统测试_第2页
第2页 / 共82页
[IT认证]第6章 集成测试与系统测试_第3页
第3页 / 共82页
[IT认证]第6章 集成测试与系统测试_第4页
第4页 / 共82页
[IT认证]第6章 集成测试与系统测试_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《[IT认证]第6章 集成测试与系统测试》由会员分享,可在线阅读,更多相关《[IT认证]第6章 集成测试与系统测试(82页珍藏版)》请在金锄头文库上搜索。

1、第第6章章 集成测试与系统测试集成测试与系统测试n6.1 系统集成的模式与方法系统集成的模式与方法n6.2 功能测试功能测试n6.3 回归测试回归测试n6.4 系统测试系统测试6.1 系统集成的模式与方法系统集成的模式与方法n n什么是集成测试什么是集成测试n n集成测试的目的与任务集成测试的目的与任务n n系统集成的模式与方法系统集成的模式与方法一、集成测试(组装测试)一、集成测试(组装测试) 将经过单元测试的模块按设计要求将经过单元测试的模块按设计要求组合起来再进行的测试。组合起来再进行的测试。二、目的二、目的 检查各模块间接口是否存在问题检查各模块间接口是否存在问题为什么总是集成不起来?

2、为什么总是集成不起来?三、集成测试的任务三、集成测试的任务(1 1)将各模块连接起来,检查模块相互调用时,数)将各模块连接起来,检查模块相互调用时,数)将各模块连接起来,检查模块相互调用时,数)将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失。据经过接口是否丢失。据经过接口是否丢失。据经过接口是否丢失。(2 2)将各个子功能组合起来,检查能否达到预期要)将各个子功能组合起来,检查能否达到预期要)将各个子功能组合起来,检查能否达到预期要)将各个子功能组合起来,检查能否达到预期要求的各项父功能。求的各项父功能。求的各项父功能。求的各项父功能。(3 3)一个模块的功能是否会对另一个模块的功

3、能产)一个模块的功能是否会对另一个模块的功能产)一个模块的功能是否会对另一个模块的功能产)一个模块的功能是否会对另一个模块的功能产生不利的影响。生不利的影响。生不利的影响。生不利的影响。(4 4)全局数据结构是否有问题,会不会被异常修改。)全局数据结构是否有问题,会不会被异常修改。)全局数据结构是否有问题,会不会被异常修改。)全局数据结构是否有问题,会不会被异常修改。(5 5)单个模块的误差积累起来,是否被放大,从而)单个模块的误差积累起来,是否被放大,从而)单个模块的误差积累起来,是否被放大,从而)单个模块的误差积累起来,是否被放大,从而达到不可接受的程度。达到不可接受的程度。达到不可接受的

4、程度。达到不可接受的程度。四、集成测试前的准备四、集成测试前的准备(1)人员安排)人员安排 有经验的测试人员和开发人员有经验的测试人员和开发人员(2)测试计划)测试计划 测测试试的的描描述述和和范范围围、测测试试的的预预期期目目标标、测测试环境、集成次序、测试用例设计生成、进度表试环境、集成次序、测试用例设计生成、进度表(3)测试内容)测试内容 单元接口、代码、界面单元接口、代码、界面(4)集成模式)集成模式 集成方式的选择集成方式的选择(5)测试方法)测试方法 黑盒为主,辅以白盒黑盒为主,辅以白盒五、集成测试的模式五、集成测试的模式 集成测试包括两种不同方法:集成测试包括两种不同方法:非增量

5、式非增量式集成集成和和增量式集成增量式集成。 1、非增量式集成(一次性集成)、非增量式集成(一次性集成):先分别:先分别测试每一个模块,再把所有模块按设计要求测试每一个模块,再把所有模块按设计要求一次性全部组装起来,然后进行测试,最终一次性全部组装起来,然后进行测试,最终得到要求的软件系统。得到要求的软件系统。非增量式集成非增量式集成 2、增量式集成、增量式集成 首先对一个个模块进行模块测试,然后首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统。在组装将这些模块逐步组装成较大的系统。在组装的过程中边连接边测试,以发现连接过程中的过程中边连接边测试,以发现连接过程中产生的问题。通

6、过增殖逐步组装成为要求的产生的问题。通过增殖逐步组装成为要求的软件系统。软件系统。3、增量式集成的两种方式、增量式集成的两种方式(1)自顶向下的增量方式)自顶向下的增量方式 自顶向下增量式测试表示逐步集成和自顶向下增量式测试表示逐步集成和逐步测试是按结构图自上而下进行的。即逐步测试是按结构图自上而下进行的。即模块集成的顺序是首先集成主控模块(主模块集成的顺序是首先集成主控模块(主程序),然后按照软件控制层次结构向下程序),然后按照软件控制层次结构向下进行集成。进行集成。 自顶向下集成方法自顶向下集成方法v自顶向下集成方式的步骤:自顶向下集成方式的步骤: 以以主主模模块块为为所所测测试试模模块块

7、兼兼驱驱动动模模块块,所所有有直直属属于于主主模模块块的的下下属属模模块块全全部部用用桩桩模模块块代代替替,对对主主模块进行测试。模块进行测试。 依依照照所所选选用用的的模模块块集集成成策策略略(深深度度优优先先和和广广度度优优先先),用用实实际际模模块块替替换换相相应应桩桩模模块块,再再用用桩桩模模块块代代替替它它们们的的直直接接下下属属模模块块,与与已已测测试试的的模模块块或子系统组装成新的子系统。或子系统组装成新的子系统。 进进行行回回归归测测试试,排排除除组组装装过过程程中中引引入入新新的的错错误的可能。误的可能。 判判断断是是否否所所有有的的模模块块都都组组装装到到系系统统中中?是是

8、则则结束测试,否则转到结束测试,否则转到去执行。去执行。 自顶向下增量式测试(广度优先策略)自顶向下增量式测试(广度优先策略) 自顶向下增量式测试(深度优先策略)自顶向下增量式测试(深度优先策略) 3、增量式集成的两种方式(续)、增量式集成的两种方式(续) (2)自底向上的增量方式)自底向上的增量方式 自底向上增量式测试是从最底层的模自底向上增量式测试是从最底层的模块开始,按结构图自下而上逐步进行集块开始,按结构图自下而上逐步进行集成和测试。成和测试。自底向上增量式测试自底向上增量式测试 v自底向上集成方式的步骤:自底向上集成方式的步骤: 由由驱驱动动模模块块控控制制最最底底层层模模块块的的并

9、并行行测测试试;也也可可以以把把最最底底层层模模块块组组合合成成实实现现某某一一特特定定软软件件功功能能的的簇簇,由由驱驱动动模模块块控控制制它它进进行行测测试。试。 用用实实际际模模块块代代替替驱驱动动模模块块,与与它它已已测测试的直属子模块组装成子系统。试的直属子模块组装成子系统。 为为子子系系统统配配备备驱驱动动模模块块,进进行行新新的的测测试。试。 判判断断是是否否已已组组装装到到达达主主模模块块。是是则则结结束测试,否则转到束测试,否则转到去执行。去执行。自顶向下集成方法自顶向下集成方法优点:不需要测试驱动程序,能够在测试阶段的早优点:不需要测试驱动程序,能够在测试阶段的早优点:不需

10、要测试驱动程序,能够在测试阶段的早优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,发现上层模块的接期实现并验证系统的主要功能,发现上层模块的接期实现并验证系统的主要功能,发现上层模块的接期实现并验证系统的主要功能,发现上层模块的接口错误。口错误。口错误。口错误。缺点:需要桩模块缺点:需要桩模块缺点:需要桩模块缺点:需要桩模块自底向上集成方法自底向上集成方法优点:不需要桩模块优点:不需要桩模块优点:不需要桩模块优点:不需要桩模块。缺点:程序一直未能作为一个实体存在,直到最后缺点:程序一直未能作为一个实体存在,直到最后缺点:程序一直未能作为一个实体存在,直到最后缺点:程序一

11、直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体。一个模块加上去后才形成一个实体。一个模块加上去后才形成一个实体。一个模块加上去后才形成一个实体。4、两种增量集成方式的比较、两种增量集成方式的比较非增量式集成非增量式集成优点:工作量较小、并行测试优点:工作量较小、并行测试缺点:发现模块接口错误晚且较难诊断;缺点:发现模块接口错误晚且较难诊断;增量式集成增量式集成优点:发现模块接口错误早且容易诊断;优点:发现模块接口错误早且容易诊断;测试更彻底;测试更彻底;缺点:工作量较大;缺点:工作量较大;5、非增量集成和增量集成方式的比较、非增量集成和增量集成方式的比较6、混合策略、混合策略混

12、合法:对软件结构中较上层,使用的是混合法:对软件结构中较上层,使用的是“自顶向自顶向下下”法;对软件结构中较下层,使用的是法;对软件结构中较下层,使用的是“自底向自底向上上”法,两者相结合法,两者相结合 7、大棒集成方法、大棒集成方法(Big-bang Integration)(Big-bang Integration)采用大棒集成方法采用大棒集成方法,先是对每一个子模块进行测试(单元测试先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试阶段),然后将所有模块一次性的全部集成起来进行集成测试 。因为所有的模块一次集成的,所以很难确定出错的真正位置、因为所

13、有的模块一次集成的,所以很难确定出错的真正位置、所在的模块、错误的原因。这种方法适合在规模较小的应用系所在的模块、错误的原因。这种方法适合在规模较小的应用系统中使用。统中使用。 8、三明治集成方法三明治集成方法采用三明治方法的优点是:它将自顶向下和自底向上的集成采用三明治方法的优点是:它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。采用这种方法的主要缺点是:成已经验证了底层模块的正确性。采用这种方法的主要缺点是: 在真正集成之前每一个独立的模块没有完全测试过。在真正集成之前

14、每一个独立的模块没有完全测试过。 9、改善的三明治集成方法、改善的三明治集成方法改进的三明治集成方法,不仅自两头向中间改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模块得到单独的测试,使集成,而且保证每个模块得到单独的测试,使测试进行得比较彻底测试进行得比较彻底 。几种集成方法性能的比较几种集成方法性能的比较 自底向上自底向上自底向上自底向上 自自自自顶顶向下向下向下向下 混合策略混合策略混合策略混合策略 大棒大棒大棒大棒 三明治三明治三明治三明治改改改改进进三明治三明治三明治三明治集成集成集成集成早早早早早早早早早早早早晚晚晚晚早早早早早早早早基本程序能基本程序能基本程序能基本程序

15、能工作工作工作工作时间时间晚晚晚晚早早早早早早早早晚晚晚晚早早早早早早早早需要需要需要需要驱动驱动程程程程序序序序是是是是否否否否是是是是是是是是是是是是是是是是需要需要需要需要桩桩程序程序程序程序否否否否是是是是是是是是是是是是是是是是是是是是工作并行性工作并行性工作并行性工作并行性中中中中低低低低中中中中高高高高中中中中高高高高特殊路径特殊路径特殊路径特殊路径测测试试容易容易容易容易难难容易容易容易容易容易容易容易容易中等中等中等中等容易容易容易容易计计划与控制划与控制划与控制划与控制容易容易容易容易难难难难容易容易容易容易难难难难6.2功能测试功能测试 功能测试属于功能测试属于黑盒测试黑

16、盒测试技术范畴,是系技术范畴,是系统测试中要进行的最基本的测试,它不用考统测试中要进行的最基本的测试,它不用考虑软件内部的具体实现过程。虑软件内部的具体实现过程。 主要是根据产品的需求规格说明书和测主要是根据产品的需求规格说明书和测试需求列表,验证产品是否符合产品的需求试需求列表,验证产品是否符合产品的需求规格。规格。 需求规格说明是功能测试的基本输入。需求规格说明是功能测试的基本输入。因此先对需求规格进行分析,明确功能测试因此先对需求规格进行分析,明确功能测试的重点。的重点。可按照如下步骤进行:可按照如下步骤进行: 为所有的功能需求(其中包括隐含的功能需为所有的功能需求(其中包括隐含的功能需

17、求)加以标识;求)加以标识; 为所有可能出现的功能异常进行分类分析并为所有可能出现的功能异常进行分类分析并加以标识;加以标识; 对前面表示的功能需求确定优先级。对前面表示的功能需求确定优先级。 对每个功能进行测试分析,分析其是否可测、对每个功能进行测试分析,分析其是否可测、采用何种测试方法、测试的入口条件、可能的输采用何种测试方法、测试的入口条件、可能的输入、预期输出等等。入、预期输出等等。 是否需要开发脚本或借助工具录制脚本。是否需要开发脚本或借助工具录制脚本。 确定要对哪些测试使用自动化测试,对哪些确定要对哪些测试使用自动化测试,对哪些测试使用手工测试。测试使用手工测试。功能测试的主要内容

18、:功能测试的主要内容: n n 程序安装、启动正常,有相应的提示框、错误提示等程序安装、启动正常,有相应的提示框、错误提示等n 每项功能符合实际要求每项功能符合实际要求n 系统的系统的界面界面清晰、美观清晰、美观n 菜单、按钮操作正常、灵活,能处理一些异常操作菜单、按钮操作正常、灵活,能处理一些异常操作n 能接受正确的数据输入,对异常数据的输入有提示、容错能接受正确的数据输入,对异常数据的输入有提示、容错处理等处理等n 数据数据的输出结果准确,格式清晰,可以保存和读取的输出结果准确,格式清晰,可以保存和读取n 功能逻辑清楚,符合使用者习惯功能逻辑清楚,符合使用者习惯n 系统的各种状态按照业务流

19、程而变化,并保持稳定系统的各种状态按照业务流程而变化,并保持稳定n 支持各种应用的环境支持各种应用的环境n 能配合多种硬件周边设备能配合多种硬件周边设备n 软件升级后,能继续支持旧版本的数据软件升级后,能继续支持旧版本的数据n 与外部应用系统的与外部应用系统的接口接口有效有效 功能测试的方法:功能测试的方法: n n等价类划分法等价类划分法n n边界值分析法边界值分析法n n错误推测法错误推测法n n因果图法因果图法n n组合分析法组合分析法6.3 回归测试回归测试(1)回归测试)回归测试 回归测试是指修改了旧代码后,重新进回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导

20、行测试以确认修改没有引入新的错误或导致其它代码产生错误。致其它代码产生错误。(2)回归测试的目的)回归测试的目的 n n 所做的修改达到了预定的目的,如错误得所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应到了改正,新功能得到了实现,能够适应新的运行环境等;新的运行环境等;n 不影响软件原有功能的正确性。不影响软件原有功能的正确性。(3)回归测试的方法)回归测试的方法n 再测试全部用例再测试全部用例 n 基于风险选择测试基于风险选择测试 n 基于操作剖面选择测试基于操作剖面选择测试 n 再测试修改的部分再测试修改的部分(4)回归测试的组织和实施)回归测试的组织和实施通过

21、代码相依分析,识别软件中被修改的部分;通过代码相依分析,识别软件中被修改的部分;通过代码相依分析,识别软件中被修改的部分;通过代码相依分析,识别软件中被修改的部分;从原有测试用例库中,排除不适用的测试用例,从原有测试用例库中,排除不适用的测试用例,从原有测试用例库中,排除不适用的测试用例,从原有测试用例库中,排除不适用的测试用例,建立新的测试用例基线库建立新的测试用例基线库建立新的测试用例基线库建立新的测试用例基线库T0T0;基于风险和操作剖面选择相结合,从新的测试用基于风险和操作剖面选择相结合,从新的测试用基于风险和操作剖面选择相结合,从新的测试用基于风险和操作剖面选择相结合,从新的测试用例

22、基线库中选择测试用例构造有效的套件,测试例基线库中选择测试用例构造有效的套件,测试例基线库中选择测试用例构造有效的套件,测试例基线库中选择测试用例构造有效的套件,测试被修改的软件被修改的软件被修改的软件被修改的软件若回归测试套件达不到所需的覆盖要求,必须补若回归测试套件达不到所需的覆盖要求,必须补若回归测试套件达不到所需的覆盖要求,必须补若回归测试套件达不到所需的覆盖要求,必须补充新的测试用例,则生成新的测试用例集充新的测试用例,则生成新的测试用例集充新的测试用例,则生成新的测试用例集充新的测试用例,则生成新的测试用例集T1T1;用用用用T1T1测试修改后的软件。测试修改后的软件。测试修改后的

23、软件。测试修改后的软件。6.4 系统系统测试测试 系统测试的系统测试的根本任务根本任务就是要证明被测系就是要证明被测系统的功能和结构的稳定性;还要有一些非功统的功能和结构的稳定性;还要有一些非功能测试:性能测试、压力测试、可靠性测试能测试:性能测试、压力测试、可靠性测试等等。等等。 最终目的最终目的是为了确保软件产品能够被用是为了确保软件产品能够被用户或操作者接受。测试的户或操作者接受。测试的主要目标主要目标不再是找不再是找出缺陷,而是证明其性能。出缺陷,而是证明其性能。 系统测试属于黑盒测试范畴,不再对软系统测试属于黑盒测试范畴,不再对软件的源代码进行分析和测试。件的源代码进行分析和测试。

24、一、什么是系统测试一、什么是系统测试 系统测试系统测试就是将已经集成好的软件系统,作就是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件、为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行(使用)环境下,对素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。计算机系统进行一系列的组装测试和确认测试。 系统测试的系统测试的目的目的在于通过与系统的需求定义在于通过与系统的需求定义比较,检查软件是否存在与系统定义不符合或与比较,检查软件是否存在与系统定

25、义不符合或与之矛盾的地方,以验证软件系统的功能和性能等之矛盾的地方,以验证软件系统的功能和性能等满足其规约所指定的要求。满足其规约所指定的要求。 二、系统测试的组织和分工二、系统测试的组织和分工 测试组组长:组织测试;测试组组长:组织测试; 测试分析员:负责设计和实现测试脚本和测试用例;测试分析员:负责设计和实现测试脚本和测试用例; 测试者:负责执行测试脚本中记录的测试用例。测试者:负责执行测试脚本中记录的测试用例。 同时可以邀请客户代表参与系统测试,可以与客同时可以邀请客户代表参与系统测试,可以与客户建立一个良好的平台,并且得到反馈信息。户建立一个良好的平台,并且得到反馈信息。 过程过程:搭

26、建好系统测试的软、硬件平台:搭建好系统测试的软、硬件平台制定软制定软件测试计划件测试计划( (与开发人员多多沟通与开发人员多多沟通) )系统测试系统测试提交提交系统测试的大量输出的拷贝文档系统测试的大量输出的拷贝文档( (包括测试结果记录表包括测试结果记录表格、系统测试日志和全面的系统测试总结报告格、系统测试日志和全面的系统测试总结报告) )。三、如何进行系统测试三、如何进行系统测试 系统测试过程要经历以下几个阶段:系统测试过程要经历以下几个阶段:1 1、计划阶段计划阶段:制定测试计划:制定测试计划 2 2、设计阶段设计阶段:对系统进行详细的测试分析,然后设计:对系统进行详细的测试分析,然后设

27、计一些典型的,满足测试需求的测试用例;同时给出一些典型的,满足测试需求的测试用例;同时给出系统测试的大致过程。系统测试的大致过程。3 3、实施阶段实施阶段:使用当前的软件版本进行测试脚本的录:使用当前的软件版本进行测试脚本的录制工作,确定软件的基线。制工作,确定软件的基线。 4 4、执行阶段执行阶段:根据系统测试计划和事先设计好的系统:根据系统测试计划和事先设计好的系统测试用例,以及一定测试规程进行测试脚本的回放。测试用例,以及一定测试规程进行测试脚本的回放。5 5、评估阶段评估阶段:进行评估,以确定系统测试是否通过。:进行评估,以确定系统测试是否通过。四、系统测试类型四、系统测试类型、方法、

28、方法安全性测试安全性测试容错性测试容错性测试配置测试配置测试兼容性测试兼容性测试可靠性测试可靠性测试功能测试功能测试用户界面测试用户界面测试回归测试回归测试性能测试性能测试负载测试负载测试1、用户界面测试、用户界面测试优秀优秀UI应具备的应具备的7要素:要素:(1)符合标准和规范)符合标准和规范(2)一致性)一致性(3)正确性)正确性(4)直观性)直观性(5)灵活性)灵活性(6)舒适性)舒适性(7)宽容性)宽容性(1)符合标准和规范)符合标准和规范 通常标准是已经确立的,多数用户已经熟悉通常标准是已经确立的,多数用户已经熟悉通常标准是已经确立的,多数用户已经熟悉通常标准是已经确立的,多数用户已

29、经熟悉并接受了这些标准和规范、或已经认同了这些信并接受了这些标准和规范、或已经认同了这些信并接受了这些标准和规范、或已经认同了这些信并接受了这些标准和规范、或已经认同了这些信息所代表的意义。息所代表的意义。息所代表的意义。息所代表的意义。 如果软件在某一个平台上运行,就需要把该平台如果软件在某一个平台上运行,就需要把该平台的标准和规范作为产品规格说明书的补充内容,在建的标准和规范作为产品规格说明书的补充内容,在建立测试案例时和产品规格说明书一样作为依据立测试案例时和产品规格说明书一样作为依据 。(2)一致性)一致性与用户的现实世界的一致性与用户的现实世界的一致性与用户常用或习惯的软件产品的一致

30、性与用户常用或习惯的软件产品的一致性不同用户界面之间的一致性不同用户界面之间的一致性 (3)直观性)直观性 首先了解所需的功能或期待的响应应该明显,并首先了解所需的功能或期待的响应应该明显,并在预期的地方出现。在预期的地方出现。其次要考虑用户界面的组织和布局是否合理。其次要考虑用户界面的组织和布局是否合理。(4)灵活性)灵活性 不同用户所使用的功能和数据存在差异,不同用户所使用的功能和数据存在差异,这种差异应反映到界面,即要为不同用户提这种差异应反映到界面,即要为不同用户提供合适的个性化界面或选择的灵活性。供合适的个性化界面或选择的灵活性。 (5)舒适性)舒适性尽可能降低用户操作的复杂性,尽量

31、减少尽可能降低用户操作的复杂性,尽量减少结构层次及用户操作量结构层次及用户操作量用户界面的外观、风格与用户的工作性质用户界面的外观、风格与用户的工作性质和环境协调和环境协调错误处理错误处理 (6)正确性)正确性 测试是否做了该做的事。测试是否做了该做的事。 (7)宽容性)宽容性 对用户错误操作的宽容。对用户错误操作的宽容。 用户界面测试标准用户界面测试标准(1)保证用户界面运作的一致性)保证用户界面运作的一致性(2)界面上的布局)界面上的布局(3)颜色使用要恰当)颜色使用要恰当(4)字体使用要适当(英文)字体使用要适当(英文New Times Roman,中文一般采用宋体),中文一般采用宋体)

32、(5)适当的信息和标签措词)适当的信息和标签措词Windows检查单编编编编号号号号测试项测试项测试项测试项1 1窗口的长度和宽度接近黄金比例窗口的长度和宽度接近黄金比例窗口的长度和宽度接近黄金比例窗口的长度和宽度接近黄金比例2 2窗口上的按钮布局与界面相协调,不要过于密集或空旷窗口上的按钮布局与界面相协调,不要过于密集或空旷窗口上的按钮布局与界面相协调,不要过于密集或空旷窗口上的按钮布局与界面相协调,不要过于密集或空旷3 3界面上的字体一般为宋体,字号一般为界面上的字体一般为宋体,字号一般为界面上的字体一般为宋体,字号一般为界面上的字体一般为宋体,字号一般为8-128-12号号号号4 4颜色

33、搭配合理,不使用大红大绿颜色搭配合理,不使用大红大绿颜色搭配合理,不使用大红大绿颜色搭配合理,不使用大红大绿5 5菜单深度不超过菜单深度不超过菜单深度不超过菜单深度不超过3 3级,快捷键没有重复级,快捷键没有重复级,快捷键没有重复级,快捷键没有重复6 6无无无无错别字,无中英文混合使用错别字,无中英文混合使用错别字,无中英文混合使用错别字,无中英文混合使用7 7字体样式统一,无全角、半角混合使用字体样式统一,无全角、半角混合使用字体样式统一,无全角、半角混合使用字体样式统一,无全角、半角混合使用8 8测试窗体在常用分辨率下的使用情况测试窗体在常用分辨率下的使用情况测试窗体在常用分辨率下的使用情

34、况测试窗体在常用分辨率下的使用情况9 9状态栏上要实时显示操作后窗体发生的变化状态栏上要实时显示操作后窗体发生的变化状态栏上要实时显示操作后窗体发生的变化状态栏上要实时显示操作后窗体发生的变化2、性能测试、性能测试(1)性能测试)性能测试 通过测试,确认系统在预定的负载等通过测试,确认系统在预定的负载等级上的系统性能是否满足性能需求或达到级上的系统性能是否满足性能需求或达到性能指标。性能指标。(2)性能测试的类型)性能测试的类型验证测试验证测试基准测试基准测试规划测试规划测试2、性能测试、性能测试 性能测试性能测试(Performance test)通过测试通过测试以确定系统运行时的性能表现,

35、如得到运以确定系统运行时的性能表现,如得到运行速度、响应时间、占有系统资源等方面行速度、响应时间、占有系统资源等方面的系统数据。的系统数据。 2、性能测试、性能测试(1 1)性能测试的目的和需求)性能测试的目的和需求)性能测试的目的和需求)性能测试的目的和需求目的:目的:目的:目的: 为了验证系统是否达到用户提出的性能指标,同为了验证系统是否达到用户提出的性能指标,同为了验证系统是否达到用户提出的性能指标,同为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的时发现系统中存在的性能瓶颈,起到优化系统的时发现系统中存在的性能瓶颈,起到优化系统的时发现系统中存在的性

36、能瓶颈,起到优化系统的目的目的目的目的。性能测试需求:性能测试需求:性能测试需求:性能测试需求:用户对各项指标提出的明确需求;如果用户没有用户对各项指标提出的明确需求;如果用户没有用户对各项指标提出的明确需求;如果用户没有用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的提出性能指标则根据用户需求、测试设计人员的提出性能指标则根据用户需求、测试设计人员的提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求经验来设计各项测试指标。(需求经验来设计各项测试指标。(需求经验来设计各项测试指标。(需求+ + + +经验)经验)经验)经验)主要的性能

37、指标:主要的性能指标:主要的性能指标:主要的性能指标:服务器的各项指标(服务器的各项指标(服务器的各项指标(服务器的各项指标(CPUCPUCPUCPU、内存占用率等)、后台、内存占用率等)、后台、内存占用率等)、后台、内存占用率等)、后台数据库的各项指标、网络流量、响应时间数据库的各项指标、网络流量、响应时间数据库的各项指标、网络流量、响应时间数据库的各项指标、网络流量、响应时间2、性能测试、性能测试(2 2)性能测试方法)性能测试方法)性能测试方法)性能测试方法负载模拟:负载模拟:负载模拟:负载模拟: 并发用户并发用户并发用户并发用户 + + + + 思考时间思考时间思考时间思考时间 + +

38、 + + 每次请求的数据量每次请求的数据量每次请求的数据量每次请求的数据量+ + + + 负负负负载模式载模式载模式载模式。性能测试步骤:性能测试步骤:性能测试步骤:性能测试步骤:确定性能测试需求确定性能测试需求确定性能测试需求确定性能测试需求根据测试需求,选择测试工具和开发相应的测试根据测试需求,选择测试工具和开发相应的测试根据测试需求,选择测试工具和开发相应的测试根据测试需求,选择测试工具和开发相应的测试脚本脚本脚本脚本建立性能测试负载模型,就是确定并发虚拟用户建立性能测试负载模型,就是确定并发虚拟用户建立性能测试负载模型,就是确定并发虚拟用户建立性能测试负载模型,就是确定并发虚拟用户的数

39、量、每次请求的数据量、思考时间、加载方的数量、每次请求的数据量、思考时间、加载方的数量、每次请求的数据量、思考时间、加载方的数量、每次请求的数据量、思考时间、加载方式和持续加载的时间等式和持续加载的时间等式和持续加载的时间等式和持续加载的时间等执行性能测试执行性能测试执行性能测试执行性能测试结果分析,并提交性能测试报告结果分析,并提交性能测试报告结果分析,并提交性能测试报告结果分析,并提交性能测试报告2、性能测试、性能测试(3 3)性能测试的要点)性能测试的要点)性能测试的要点)性能测试的要点n n测试环境应尽量与产品运行环境保持一致,应测试环境应尽量与产品运行环境保持一致,应测试环境应尽量与

40、产品运行环境保持一致,应测试环境应尽量与产品运行环境保持一致,应单独运行尽量避免与其他软件同时使用。单独运行尽量避免与其他软件同时使用。单独运行尽量避免与其他软件同时使用。单独运行尽量避免与其他软件同时使用。n n性能测试一般使用测试工具和测试人员编制测性能测试一般使用测试工具和测试人员编制测性能测试一般使用测试工具和测试人员编制测性能测试一般使用测试工具和测试人员编制测试脚本来完成。试脚本来完成。试脚本来完成。试脚本来完成。n n性能测试的重点在于前期数据的设计与后期数性能测试的重点在于前期数据的设计与后期数性能测试的重点在于前期数据的设计与后期数性能测试的重点在于前期数据的设计与后期数据的

41、分析。据的分析。据的分析。据的分析。n n性能测试的用例主要涉及到整个系统架构的问性能测试的用例主要涉及到整个系统架构的问性能测试的用例主要涉及到整个系统架构的问性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不大,题,所以测试用例一旦生成,改动一般不大,题,所以测试用例一旦生成,改动一般不大,题,所以测试用例一旦生成,改动一般不大,所以做性能测试的重复使用率一般比较高。所以做性能测试的重复使用率一般比较高。所以做性能测试的重复使用率一般比较高。所以做性能测试的重复使用率一般比较高。2、性能测试、性能测试(4)性能测试的方法和技巧)性能测试的方法和技巧两种负载类型两种

42、负载类型两种负载类型两种负载类型“ “flatflatflatflat” ”测试测试测试测试ramp-upramp-upramp-upramp-up测试测试测试测试对于企业级的系统,性能测试的方法主要有:对于企业级的系统,性能测试的方法主要有:对于企业级的系统,性能测试的方法主要有:对于企业级的系统,性能测试的方法主要有:基准测试基准测试基准测试基准测试性能规划测试性能规划测试性能规划测试性能规划测试渗入测试渗入测试渗入测试渗入测试峰谷测试峰谷测试峰谷测试峰谷测试2、性能测试、性能测试两种负载类型两种负载类型两种负载类型两种负载类型 “ “Flat”Flat”测试测试测试测试: : 对于一次给

43、定的测试,应该取响对于一次给定的测试,应该取响对于一次给定的测试,应该取响对于一次给定的测试,应该取响应时间和吞吐量的平均值。精确地获得这些值的应时间和吞吐量的平均值。精确地获得这些值的应时间和吞吐量的平均值。精确地获得这些值的应时间和吞吐量的平均值。精确地获得这些值的唯一方法是唯一方法是唯一方法是唯一方法是一次一次一次一次加载所有的用户,然后在预定的加载所有的用户,然后在预定的加载所有的用户,然后在预定的加载所有的用户,然后在预定的时间段内持续运行。时间段内持续运行。时间段内持续运行。时间段内持续运行。2、性能测试、性能测试两种负载类型两种负载类型两种负载类型两种负载类型 Ramp-upRa

44、mp-upRamp-upRamp-up测试测试测试测试: : : : 用户是交错上升的(每几秒增加一些新用户是交错上升的(每几秒增加一些新用户是交错上升的(每几秒增加一些新用户是交错上升的(每几秒增加一些新用户)。用户)。用户)。用户)。ramp-upramp-upramp-upramp-up测试不能产生精确和可重现的平均值,测试不能产生精确和可重现的平均值,测试不能产生精确和可重现的平均值,测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在这是因为由于用户的增加是每次一部分,系统的负载在这是因为由于用户的增加是每次一部分,系统的负载在这是因为由于用户的增加是每

45、次一部分,系统的负载在不断地变化。其优点是,可以看出随着系统负载的改变不断地变化。其优点是,可以看出随着系统负载的改变不断地变化。其优点是,可以看出随着系统负载的改变不断地变化。其优点是,可以看出随着系统负载的改变,测量值是如何改变的,测量值是如何改变的,测量值是如何改变的,测量值是如何改变的据此选择要运行的据此选择要运行的据此选择要运行的据此选择要运行的flatflatflatflat测试的测试的测试的测试的范围。范围。范围。范围。2、性能测试、性能测试基准测试基准测试(1)n n同时与服务器通信的连接(或虚拟用户)的数同时与服务器通信的连接(或虚拟用户)的数同时与服务器通信的连接(或虚拟用

46、户)的数同时与服务器通信的连接(或虚拟用户)的数目,目,目,目,n n每个虚拟用户请求之间间隔时间的长短。每个虚拟用户请求之间间隔时间的长短。每个虚拟用户请求之间间隔时间的长短。每个虚拟用户请求之间间隔时间的长短。 随着服务器上负载的增加,吞吐量会不断攀升,随着服务器上负载的增加,吞吐量会不断攀升,直到到达一个点直到到达一个点, , 并在这个点上稳定下来并在这个点上稳定下来 基准测试的关键是要获得一致的、可再现的结果。基准测试的关键是要获得一致的、可再现的结果。假定测试的两个指标是服务器的响应时间和吞吐量,假定测试的两个指标是服务器的响应时间和吞吐量,会受到负载的影响。而负载又受两个因素影响:

47、会受到负载的影响。而负载又受两个因素影响: 与服务器通信的用户越多,负载就越大。同样,与服务器通信的用户越多,负载就越大。同样,请求之间间隔时间越短,负载也越大。这两个因素的请求之间间隔时间越短,负载也越大。这两个因素的不同组合会产生不同的服务器负载等级不同组合会产生不同的服务器负载等级. .2、性能测试、性能测试基准测试基准测试(2) 在某一点上,执行队列开始增长,因为服务器上在某一点上,执行队列开始增长,因为服务器上在某一点上,执行队列开始增长,因为服务器上在某一点上,执行队列开始增长,因为服务器上所有的线程都已投入使用,传入的请求不再被立即处所有的线程都已投入使用,传入的请求不再被立即处

48、所有的线程都已投入使用,传入的请求不再被立即处所有的线程都已投入使用,传入的请求不再被立即处理,而是放入队列中,当线程空闲时再处理。理,而是放入队列中,当线程空闲时再处理。理,而是放入队列中,当线程空闲时再处理。理,而是放入队列中,当线程空闲时再处理。 当系统达到饱和点,服务器吞吐量保持稳定后,当系统达到饱和点,服务器吞吐量保持稳定后,就达到了给定条件下的系统上限。但是,随着服务就达到了给定条件下的系统上限。但是,随着服务器负载的继续增长,响应时间也随之延长,虽然吞器负载的继续增长,响应时间也随之延长,虽然吞吐量保持稳定。吐量保持稳定。队列产生队列产生响应时间响应时间资源使用资源使用2、性能测

49、试、性能测试基准测试基准测试(3) 将系统置于相同的高负载下,将请求之间将系统置于相同的高负载下,将请求之间间隔时间设为零。这样服务器会立即超载,并间隔时间设为零。这样服务器会立即超载,并开始构建执行队列。如果请求(虚拟用户)数开始构建执行队列。如果请求(虚拟用户)数保持一致,基准测试的结果会非常精确保持一致,基准测试的结果会非常精确 flatflat运行是获得基准测试数据的理想模式运行是获得基准测试数据的理想模式两个事务的响应时间曲线两个事务的响应时间曲线2、性能测试、性能测试性能规划测试性能规划测试性能规划测试性能规划测试 性能规划测试的目标是找出在特定的环境性能规划测试的目标是找出在特定

50、的环境下,给定应用程序的性能可以达到何种程度。下,给定应用程序的性能可以达到何种程度。例如,如果要以例如,如果要以5 5秒或更少的响应时间支持秒或更少的响应时间支持8,0008,000个当前用户,需要多少个服务器?个当前用户,需要多少个服务器?要确定系统的容量,需要考虑几个因素要确定系统的容量,需要考虑几个因素: :n用户中有多少是并发与服务器通信的。用户中有多少是并发与服务器通信的。n每个用户的请求间时间间隔是多少。每个用户的请求间时间间隔是多少。2、性能测试、性能测试性能规划测试性能规划测试性能规划测试性能规划测试(2)(2)(2)(2)n如何加载用户以模拟负载状态?如何加载用户以模拟负载

51、状态? 最好的方法是模拟高峰时间用户与服务器通信最好的方法是模拟高峰时间用户与服务器通信的状况。的状况。 如果用户负载状态是在一段时间内逐步达到的如果用户负载状态是在一段时间内逐步达到的, ,选择选择ramp-upramp-up测试,每隔几秒增加测试,每隔几秒增加x x个用户个用户; ; 如果所有用户是在一个非常短的时间内同时与如果所有用户是在一个非常短的时间内同时与系统通信,就应该使用系统通信,就应该使用flatflat测试,将所有的用户同测试,将所有的用户同时加载到服务器时加载到服务器. .n什么是确定容量的最好方法?什么是确定容量的最好方法? 结合两种负载类型的优点,并运行一系列的测结合

52、两种负载类型的优点,并运行一系列的测试试; ;如:首先使用如:首先使用ramp-upramp-up测试确定系统支持的用户测试确定系统支持的用户范围范围 该范围内不同的并发用户负载进行一系列的该范围内不同的并发用户负载进行一系列的flatflat测试,更精确地确定系统的容量。测试,更精确地确定系统的容量。2、性能测试、性能测试渗入测试渗入测试渗入测试渗入测试 渗入测试是一种比较简单的性能测试。渗入测渗入测试是一种比较简单的性能测试。渗入测试所需时间较长,它使用固定数目的并发用户测试试所需时间较长,它使用固定数目的并发用户测试系统的总体健壮性。这些测试将会通过内存泄漏、系统的总体健壮性。这些测试将

53、会通过内存泄漏、增加的垃圾收集增加的垃圾收集(GC)(GC)或系统的其他问题,显示因长或系统的其他问题,显示因长时间运行而出现的任何性能降低。时间运行而出现的任何性能降低。 建议运行两次测试建议运行两次测试一次使用较低的用户负一次使用较低的用户负载(要在系统容量之下,以便不会出现执行队列),载(要在系统容量之下,以便不会出现执行队列),一次使用较高的负载(以便出现积极的执行队列)。一次使用较高的负载(以便出现积极的执行队列)。2、性能测试、性能测试峰谷测试峰谷测试峰谷测试峰谷测试 兼有容量规划兼有容量规划ramp-upramp-up测试和渗入测试的特征测试和渗入测试的特征, ,目标是确定从高负

54、载(例如系统高峰时间的负载)目标是确定从高负载(例如系统高峰时间的负载)恢复、转为几乎空闲、然后再攀升到高负载、再降恢复、转为几乎空闲、然后再攀升到高负载、再降低的能力。低的能力。3、负载测试、负载测试(1)负载测试)负载测试 也称压力测试、强度测试。也称压力测试、强度测试。 负载测试通过模拟实际应用的软硬件环负载测试通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,逐渐加载境及用户使用过程的系统负荷,逐渐加载或一次性加载,长时间或超大负荷地运行或一次性加载,长时间或超大负荷地运行软件,以测试系统的稳定性,并试图找出软件,以测试系统的稳定性,并试图找出系统性能的瓶颈和异常的地方。系统性能的

55、瓶颈和异常的地方。(2)负载测试总是迫使系统在异常的资源)负载测试总是迫使系统在异常的资源配置下运行。配置下运行。 例如例如例如例如: :当中断的正常频率为每秒当中断的正常频率为每秒当中断的正常频率为每秒当中断的正常频率为每秒1212次时,运行每次时,运行每次时,运行每次时,运行每秒产生秒产生秒产生秒产生1010个中断的测试用例;个中断的测试用例;个中断的测试用例;个中断的测试用例;定量地增长数据输入量,检查对数据处理定量地增长数据输入量,检查对数据处理定量地增长数据输入量,检查对数据处理定量地增长数据输入量,检查对数据处理的反应能力;的反应能力;的反应能力;的反应能力;运行需要最大存储空间(

56、或其他资源)的运行需要最大存储空间(或其他资源)的运行需要最大存储空间(或其他资源)的运行需要最大存储空间(或其他资源)的测试用例;测试用例;测试用例;测试用例;运行可能导致虚拟机崩溃或对磁盘进行大运行可能导致虚拟机崩溃或对磁盘进行大运行可能导致虚拟机崩溃或对磁盘进行大运行可能导致虚拟机崩溃或对磁盘进行大数据量存取操作的测试用例。数据量存取操作的测试用例。数据量存取操作的测试用例。数据量存取操作的测试用例。(3)负载测试中加压的方法)负载测试中加压的方法 1 1) 增加并发用户数增加并发用户数增加并发用户数增加并发用户数2 2)增加每秒请求处理的事务数)增加每秒请求处理的事务数)增加每秒请求处

57、理的事务数)增加每秒请求处理的事务数3 3)增加中断次数)增加中断次数)增加中断次数)增加中断次数4、安全测试、安全测试 安全测试检查系统对非法侵入的防范能安全测试检查系统对非法侵入的防范能安全测试检查系统对非法侵入的防范能安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,力。安全测试期间,测试人员假扮非法入侵者,力。安全测试期间,测试人员假扮非法入侵者,力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。采用各种办法试图突破防线。采用各种办法试图突破防线。采用各种办法试图突破防线。任务任务 想方设法截取或破译口令想方设法截取或破译口令想方设法截取或破

58、译口令想方设法截取或破译口令; 专门开发软件来破坏系统的保护机制专门开发软件来破坏系统的保护机制专门开发软件来破坏系统的保护机制专门开发软件来破坏系统的保护机制; 故意导致系统失败,企图趁恢复之机非故意导致系统失败,企图趁恢复之机非故意导致系统失败,企图趁恢复之机非故意导致系统失败,企图趁恢复之机非法进入法进入法进入法进入; 试图通过浏览非保密数据,推导所需信试图通过浏览非保密数据,推导所需信试图通过浏览非保密数据,推导所需信试图通过浏览非保密数据,推导所需信息等等息等等息等等息等等。5、恢复性测试、恢复性测试n n目的:恢复测试主要检查系统的容错能力目的:恢复测试主要检查系统的容错能力目的:

59、恢复测试主要检查系统的容错能力目的:恢复测试主要检查系统的容错能力 n n恢复测试中需要检查以下各项:恢复测试中需要检查以下各项:恢复测试中需要检查以下各项:恢复测试中需要检查以下各项: (1 1)错误探测功能)错误探测功能)错误探测功能)错误探测功能(2 2)能否切换或启动备用的硬件;)能否切换或启动备用的硬件;)能否切换或启动备用的硬件;)能否切换或启动备用的硬件; (3 3)在故障发生时能否保护正在运行的作业和系)在故障发生时能否保护正在运行的作业和系)在故障发生时能否保护正在运行的作业和系)在故障发生时能否保护正在运行的作业和系统状态;统状态;统状态;统状态; (4 4)在系统恢复后能

60、否从最后记录下来的无错误)在系统恢复后能否从最后记录下来的无错误)在系统恢复后能否从最后记录下来的无错误)在系统恢复后能否从最后记录下来的无错误状态开始继续执行作业,等等。状态开始继续执行作业,等等。状态开始继续执行作业,等等。状态开始继续执行作业,等等。 (5 5)掉电测试:)掉电测试:)掉电测试:)掉电测试:6、配置测试、配置测试n n目标:在不同的硬件配置下,检查系统是否发目标:在不同的硬件配置下,检查系统是否发目标:在不同的硬件配置下,检查系统是否发目标:在不同的硬件配置下,检查系统是否发生功能或者性能上的问题生功能或者性能上的问题生功能或者性能上的问题生功能或者性能上的问题n n方法

61、:一般需要建立测试实验室方法:一般需要建立测试实验室方法:一般需要建立测试实验室方法:一般需要建立测试实验室7、兼容性测试、兼容性测试n n目标:检验被测试应用对其他应用或者系目标:检验被测试应用对其他应用或者系统的兼容性。统的兼容性。n n常见的兼容性问题:常见的兼容性问题:(1 1)软件产品在不同的软件环境下都能够按要求)软件产品在不同的软件环境下都能够按要求)软件产品在不同的软件环境下都能够按要求)软件产品在不同的软件环境下都能够按要求正常运行吗?正常运行吗?正常运行吗?正常运行吗?(2 2)是否能够成功地实现数据的交换和共享?)是否能够成功地实现数据的交换和共享?)是否能够成功地实现数

62、据的交换和共享?)是否能够成功地实现数据的交换和共享? (3 3)一个软件产品的新版本是否能够识别和处理)一个软件产品的新版本是否能够识别和处理)一个软件产品的新版本是否能够识别和处理)一个软件产品的新版本是否能够识别和处理它的老版本产生的数据或文档?它的老版本产生的数据或文档?它的老版本产生的数据或文档?它的老版本产生的数据或文档?(4 4)一个系统软件的新版本出来后,老版本上的)一个系统软件的新版本出来后,老版本上的)一个系统软件的新版本出来后,老版本上的)一个系统软件的新版本出来后,老版本上的应用都能够在新版本上正常运行吗?应用都能够在新版本上正常运行吗?应用都能够在新版本上正常运行吗?

63、应用都能够在新版本上正常运行吗? (5 5)一个软件产品是否符合指定的标准和规范?)一个软件产品是否符合指定的标准和规范?)一个软件产品是否符合指定的标准和规范?)一个软件产品是否符合指定的标准和规范?例如:例如: 假设用户使用不同的假设用户使用不同的Windows版本,包版本,包括括98/98 SE/XP/2000/Me;并使用;并使用Office的不的不同版本,包括同版本,包括97/2000/2003/XP。经过分析。经过分析用户不在用户不在Windows 98/98 SE/Me上使用上使用OfficeXP/2003,只在只在WindowsXP上使用上使用OfficeXP。请构造测试矩阵。

64、请构造测试矩阵。8、安装、安装/卸载测试卸载测试n n应考虑在下列不同测试条件下执行应考虑在下列不同测试条件下执行应考虑在下列不同测试条件下执行应考虑在下列不同测试条件下执行(1 1)软件产品标明的最低配置)软件产品标明的最低配置)软件产品标明的最低配置)软件产品标明的最低配置(2 2)“ “干净干净干净干净” ”的操作系统的操作系统的操作系统的操作系统(3 3)“ “脏脏脏脏” ”的操作系统的操作系统的操作系统的操作系统(4 4)在不同的操作系统)在不同的操作系统)在不同的操作系统)在不同的操作系统(5 5)升级安装)升级安装)升级安装)升级安装(6 6)减少可用磁盘空间)减少可用磁盘空间)

65、减少可用磁盘空间)减少可用磁盘空间(7 7)中途取消)中途取消)中途取消)中途取消(8 8)改变默认的安装路径)改变默认的安装路径)改变默认的安装路径)改变默认的安装路径9、可靠性测试、可靠性测试 通常使用以下几个指标来度量系统的可靠通常使用以下几个指标来度量系统的可靠通常使用以下几个指标来度量系统的可靠通常使用以下几个指标来度量系统的可靠性:性:性:性:平均失效等待时间平均失效等待时间平均失效等待时间平均失效等待时间 (MTTFMTTF,Mean Time Mean Time To FailureTo Failure) 平均失效间隔时间(平均失效间隔时间(平均失效间隔时间(平均失效间隔时间(

66、MTBFMTBF,Mean Time Mean Time Between FailureBetween Failure) 因故障而停机的时间在一年中应不超过多少因故障而停机的时间在一年中应不超过多少因故障而停机的时间在一年中应不超过多少因故障而停机的时间在一年中应不超过多少时间。时间。时间。时间。 软件可靠性软件可靠性软件可靠性软件可靠性是产品在规定的条件下和规定是产品在规定的条件下和规定是产品在规定的条件下和规定是产品在规定的条件下和规定的时间内完成规定功能的能力的时间内完成规定功能的能力的时间内完成规定功能的能力的时间内完成规定功能的能力, ,它的概率度量称为它的概率度量称为它的概率度量称

67、为它的概率度量称为可靠度可靠度可靠度可靠度. .软件可靠性模型软件可靠性模型1 1、平均失效等待时间(、平均失效等待时间(、平均失效等待时间(、平均失效等待时间(MTTFMTTF)的估算)的估算)的估算)的估算假设(假设(假设(假设(1 1)单位长度中的错误总数)单位长度中的错误总数)单位长度中的错误总数)单位长度中的错误总数 近似为常数;近似为常数;近似为常数;近似为常数;(2 2)错误检出率正比于程序中残留错误数,而)错误检出率正比于程序中残留错误数,而)错误检出率正比于程序中残留错误数,而)错误检出率正比于程序中残留错误数,而MTTFMTTF与程序中残留错误数成反比;(与程序中残留错误数

68、成反比;(与程序中残留错误数成反比;(与程序中残留错误数成反比;(3 3)错误不可)错误不可)错误不可)错误不可能完全检出,但一经检出立即得到改正。能完全检出,但一经检出立即得到改正。能完全检出,但一经检出立即得到改正。能完全检出,但一经检出立即得到改正。软件可靠性模型软件可靠性模型1 1、平均失效等待时间(、平均失效等待时间(MTTF)的估算)的估算设设设设 t t:程序的测试时间:程序的测试时间:程序的测试时间:程序的测试时间 E ET T:测试前的错误总数测试前的错误总数测试前的错误总数测试前的错误总数 E Ec c(t (t) ):在时间:在时间:在时间:在时间(0,t)(0,t)期间

69、纠正的错误数期间纠正的错误数 E Er r(t (t) ):在时间:在时间:在时间:在时间t t时的遗留错误数时的遗留错误数 I IT T:程序的长度或指令的总数程序的长度或指令的总数程序的长度或指令的总数程序的长度或指令的总数 则则则则 E Er r(t (t)= E)= ET T - - E Ec c(t (t) ) 用用用用 I IT除以上述等式两边,除以上述等式两边,得到错误的规格化值得到错误的规格化值假设假设 N=程序中原来残留的错误数;程序中原来残留的错误数; S=新植入程序的错误数;新植入程序的错误数; n=测试中发现的原有错误数;测试中发现的原有错误数; s=测试中发现的植入错

70、误数测试中发现的植入错误数 假设测试中对这两类错误具有同样的发现假设测试中对这两类错误具有同样的发现能力,则有能力,则有2、错误植入模型、错误植入模型 随机地把程序中一部分原有的错误加上标随机地把程序中一部分原有的错误加上标随机地把程序中一部分原有的错误加上标随机地把程序中一部分原有的错误加上标记,然后根据测试过程中发现的有标记错误和无标记,然后根据测试过程中发现的有标记错误和无标记,然后根据测试过程中发现的有标记错误和无标记,然后根据测试过程中发现的有标记错误和无标记错误的比例,估算程序中错误的总数。记错误的比例,估算程序中错误的总数。记错误的比例,估算程序中错误的总数。记错误的比例,估算程

71、序中错误的总数。3、Hyman分别测试法分别测试法 怎样随机地给一部分错误加标记:怎样随机地给一部分错误加标记: 具体做法:具体做法: 在测试过程的早期阶段,由测试员甲和测试在测试过程的早期阶段,由测试员甲和测试在测试过程的早期阶段,由测试员甲和测试在测试过程的早期阶段,由测试员甲和测试员乙分别测试同一个程序的两个副本,由另一名员乙分别测试同一个程序的两个副本,由另一名员乙分别测试同一个程序的两个副本,由另一名员乙分别测试同一个程序的两个副本,由另一名分析员分析他们的测试结果。用分析员分析他们的测试结果。用分析员分析他们的测试结果。用分析员分析他们的测试结果。用 表示测试时间,表示测试时间,表

72、示测试时间,表示测试时间,假设假设假设假设 =0 =0 时错误总数为时错误总数为时错误总数为时错误总数为B B0 0; =1 1时测试员甲发现的错误数为时测试员甲发现的错误数为时测试员甲发现的错误数为时测试员甲发现的错误数为B B1 1; =1 1时测试员乙发现的错误数为时测试员乙发现的错误数为时测试员乙发现的错误数为时测试员乙发现的错误数为B B2 2; =1 1时两个测试员发现的相同错误数为时两个测试员发现的相同错误数为时两个测试员发现的相同错误数为时两个测试员发现的相同错误数为b bc c。 如果认为测试员甲发现的错误是有标记如果认为测试员甲发现的错误是有标记的,即程序中有标记的错误总数

73、为的,即程序中有标记的错误总数为B1 1,则测,则测试员乙发现的试员乙发现的B2 2个错误中有个错误中有bc c个是有标记的。个是有标记的。假定测试员乙发现有标记错误和发现无标假定测试员乙发现有标记错误和发现无标记错误的概率相同,则可以估计出测试前记错误的概率相同,则可以估计出测试前程序中的错误总数为:程序中的错误总数为:10、疲劳测试、疲劳测试n n目标:在一段时间内目标:在一段时间内目标:在一段时间内目标:在一段时间内( (经验上一般是连续经验上一般是连续经验上一般是连续经验上一般是连续7272小时小时小时小时) )保持系统功能的频繁使用,检查系统保持系统功能的频繁使用,检查系统保持系统功

74、能的频繁使用,检查系统保持系统功能的频繁使用,检查系统是否发生功能或者性能上的问题是否发生功能或者性能上的问题是否发生功能或者性能上的问题是否发生功能或者性能上的问题n n方法:人为设置不同功能的连续重复操作方法:人为设置不同功能的连续重复操作方法:人为设置不同功能的连续重复操作方法:人为设置不同功能的连续重复操作n n工具:一般需要使用工具工具:一般需要使用工具工具:一般需要使用工具工具:一般需要使用工具习习 题题1 1、系统集成测试常见的模式有哪几种?各自优缺点是、系统集成测试常见的模式有哪几种?各自优缺点是、系统集成测试常见的模式有哪几种?各自优缺点是、系统集成测试常见的模式有哪几种?各

75、自优缺点是什么?什么?什么?什么?2 2、集成测试与单元测试的区别与联系是什么?、集成测试与单元测试的区别与联系是什么?、集成测试与单元测试的区别与联系是什么?、集成测试与单元测试的区别与联系是什么?3 3 3 3、系统测试的主要类型有哪些?、系统测试的主要类型有哪些?、系统测试的主要类型有哪些?、系统测试的主要类型有哪些?4 4 4 4、系统测试使用的主要技术是黑盒测试技术还是白盒、系统测试使用的主要技术是黑盒测试技术还是白盒、系统测试使用的主要技术是黑盒测试技术还是白盒、系统测试使用的主要技术是黑盒测试技术还是白盒测试技术?测试技术?测试技术?测试技术?5 5 5 5、使用手工测试能够进行

76、系统的性能测试分析吗?、使用手工测试能够进行系统的性能测试分析吗?、使用手工测试能够进行系统的性能测试分析吗?、使用手工测试能够进行系统的性能测试分析吗?6 6 6 6、在做系统测试之前还需要和用户进行沟通吗?、在做系统测试之前还需要和用户进行沟通吗?、在做系统测试之前还需要和用户进行沟通吗?、在做系统测试之前还需要和用户进行沟通吗?7 7 7 7、你认为系统测试和集成测试有哪些区别?、你认为系统测试和集成测试有哪些区别?、你认为系统测试和集成测试有哪些区别?、你认为系统测试和集成测试有哪些区别?8 8 8 8、对一个包含有对一个包含有对一个包含有对一个包含有1000010000条机器指令的程

77、序进行一个条机器指令的程序进行一个条机器指令的程序进行一个条机器指令的程序进行一个月测试后,总共改正了月测试后,总共改正了月测试后,总共改正了月测试后,总共改正了1515个错误,此时个错误,此时个错误,此时个错误,此时MTTF=10hMTTF=10h;经过两个月的测试后,总共改正了;经过两个月的测试后,总共改正了;经过两个月的测试后,总共改正了;经过两个月的测试后,总共改正了2525个错误,此时个错误,此时个错误,此时个错误,此时MTTF=15hMTTF=15h,要求:估计程序中,要求:估计程序中,要求:估计程序中,要求:估计程序中固有的错误总数。固有的错误总数。固有的错误总数。固有的错误总数。

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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