《【精品】51cto下载-软件测试策略(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】51cto下载-软件测试策略(可编辑.ppt(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、51CTO下载-软件测试策略测试流程图测试流程图软件测试策略n n测试过程按测试过程按4个步骤进行,即个步骤进行,即单元测试单元测试、组装组装测试测试、确认测试确认测试和和系统测试系统测试。n n开始是开始是单元测试单元测试,集中对用源代码实现的每,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。是否正确地实现了规定的功能。软件测试策略软件测试策略n n组装测试组装测试把已测试过的模块组装起来,主要把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测对与设计相关的软件体系结构的构造进行测试。试。n n
2、确认测试确认测试则是要检查已实现的软件是否满足则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。软件配置是否完全、正确。n n系统测试系统测试把已经经过确认的软件纳入实际运把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行行环境中,与其它系统成份组合在一起进行测试。测试。软件测试策略软件测试策略单元测试单元测试 (Unit Testing)(Unit Testing)n n单元测试又称模块测试,单元测试又称模块测试,是针对软件设计是针对软件设计的最小单位的最小单位 程序模块程序模块,进行正确性检验
3、进行正确性检验的测试工作。其目的在于发现各模块内部的测试工作。其目的在于发现各模块内部可能存在的各种差错。可能存在的各种差错。n n单元测试需要单元测试需要从程序的内部结构出发设计从程序的内部结构出发设计测试用例。测试用例。多个模块可以平行地独立进行多个模块可以平行地独立进行单元测试。单元测试。(1)模块接口测试n在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括:n 调用本模块的输入参数是否正确;n 本模块调用子模块时输入给子模块的参数是否正确;n 全局量的定义在各模块中是否一致;n在做内外存交换时要考虑:n 文件属性是否正确;n OPEN与CLOSE语句是否正确;n 缓冲区容
4、量与记录长度是否匹配;n 在进行读写操作之前是否打开了文件;n 在结束文件处理时是否关闭了文件;n 正文书写输入错误,n IO错误是否检查并做了处理。(2)局部数据结构测试n不正确或不一致的数据类型说明n使用尚未赋值或尚未初始化的变量n错误的初始值或错误的缺省值n变量名拼写错或书写错n不一致的数据类型n全局数据对模块的影响(3)路径测试n选择适当的测试用例,对模块中重要的执行路径进行测试。n应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。n对基本执行路径和循环进行测试可以发现大量的路径错误。(4)错误处理测试n出错的描述是否难以理解n出错的描述是否能够对错误定位n
5、显示的错误与实际的错误是否相符n对错误条件的处理正确与否n在对错误进行处理之前,错误条件是否已经引起系统的干预等(5)边界测试n注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。n如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。2.单元测试的步骤n模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。n 驱动模块(driver)n 桩模块(stub)存根模块n如果一个模块要完成多种功能,可以将这个模块看成由几
6、个小程序组成。必须对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。n对支持某些标准规程的程序,更要着手进行互联测试。有人把这种情况特别称为模块测试,以区别单元测试。主要测试以下五个方面:主要测试以下五个方面:1、模块接口:、模块接口:内部检查:传输参数的数目、属性、单位、次内部检查:传输参数的数目、属性、单位、次序是否匹配;全程变量的定义是否一致;只做输序是否匹配;全程变量的定义是否一致;只做输入的变元有无被修改,等等。入的变元有无被修改,等等。外部检查:打开、结束、关闭文件的操作;文外部检查:打开、结束、关闭文件的操作;文件和属性;件和属性;IO错误处理;输出拼写,等等
7、。错误处理;输出拼写,等等。2、局部数据结构:、局部数据结构:数据说明数据说明(declaration);初始化与缺省值的设初始化与缺省值的设置;变量名拼写;数据类型的相容性;上置;变量名拼写;数据类型的相容性;上下溢下溢出及地址异常,等等。出及地址异常,等等。3、重要的执行通路:、重要的执行通路:由于穷尽测试不可能,故通常针对最常见的错误由于穷尽测试不可能,故通常针对最常见的错误设计测试方案。较常见的错误有:设计测试方案。较常见的错误有:n计算次序问题计算次序问题n不同类型混合运算(例:比较类型不同的量)不同类型混合运算(例:比较类型不同的量)n初值设置错误初值设置错误n精度问题(例:精度不
8、够导致两变量不可能相等,精度问题(例:精度不够导致两变量不可能相等,而程序中等待相等条件的出现)而程序中等待相等条件的出现)n表达式错误表达式错误n循环终止条件错误循环终止条件错误(例:次数差例:次数差1,或陷入死循环,或陷入死循环)4、出错处理通路:、出错处理通路:预见出现错误的条件,设置处理。较常见预见出现错误的条件,设置处理。较常见的问题有:的问题有:输出的错误信息难以理解,不能确定错误位置输出的错误信息难以理解,不能确定错误位置 描述的错误与实际错误不符描述的错误与实际错误不符 处理之前系统已经干预处理之前系统已经干预 处理不正确处理不正确1、代码审查、代码审查(code inspec
9、tion)Walk-through:例例如如 Lucent Technologies 的的测测试试策策略略,是是由由三三人人一一组组(包包括括 author,reader,和和recorder),逐行检查源代码。逐行检查源代码。Rehearsal:由人扮演由人扮演computer,模拟执行情况模拟执行情况优点优点:一次审查可发现多个错误,不必改一个测一个。一次审查可发现多个错误,不必改一个测一个。单元测试的主要手段单元测试的主要手段:2、制做测试软件:、制做测试软件:Stub(存根)和存根)和 Driver(驱动)驱动)软件的编写,属额外开支。模块高内聚可简化这软件的编写,属额外开支。模块高内
10、聚可简化这一过程。一过程。u代码审查通常在开发人员之间开展,用眼睛检查代码是代码审查通常在开发人员之间开展,用眼睛检查代码是否符合编程规范。为什么有了软件测试,还要代码审查?否符合编程规范。为什么有了软件测试,还要代码审查?u因为代码审查有一些独到的优点,可以弥补软件测试的因为代码审查有一些独到的优点,可以弥补软件测试的不足:不足:(1)软件测试不能发现代码风格不统一的问题,而代)软件测试不能发现代码风格不统一的问题,而代码审查则很容易做到;码审查则很容易做到;(2)有经验的人可以一目十行地审查代码,很快就能)有经验的人可以一目十行地审查代码,很快就能抓住一些抓住一些Bug(主要是常见的主要是
11、常见的Bug)。)。u开发小组在执行代码审查之前要制定开发小组在执行代码审查之前要制定“代码审查表代码审查表”,从编程规范中提取最重要的规则。从编程规范中提取最重要的规则。u为了提高代码审查效率,检查者不必给每一个检查项填为了提高代码审查效率,检查者不必给每一个检查项填写结论,凡是正确的就跳过去,仅仅记录缺陷就行了。写结论,凡是正确的就跳过去,仅仅记录缺陷就行了。组装测试(组装测试(Integrated TestingIntegrated Testing)n n组装测试组装测试(集成测试、联合测试)集成测试、联合测试)n n通常,在单元测试的基础上,需要将所有模通常,在单元测试的基础上,需要将
12、所有模块按照设计要求组装成为系统。如需要考虑块按照设计要求组装成为系统。如需要考虑以下的问题:以下的问题:一个模块的功能是否会对另一个模块的功一个模块的功能是否会对另一个模块的功能产生不利的影响能产生不利的影响各个子功能组合起来各个子功能组合起来,能否达到预期要求能否达到预期要求的父功能的父功能n n通常,把模块组装成为系统的方式有两种通常,把模块组装成为系统的方式有两种n n 一次性组装方式一次性组装方式(big bang)n n 增殖式组装方式增殖式组装方式组装测试(组装测试(Integrated TestingIntegrated Testing)增殖式组装方式增殖式组装方式n n这种组
13、装方式又称这种组装方式又称渐增式组装渐增式组装n n首先对一个个模块进行模块测试,然后将首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统这些模块逐步组装成较大的系统n n在组装的过程中边连接边测试,以发现连在组装的过程中边连接边测试,以发现连接过程中产生的问题接过程中产生的问题n n通过增殖逐步组装成为要求的软件系统。通过增殖逐步组装成为要求的软件系统。组装测试(组装测试(Integrated TestingIntegrated Testing)(1)自顶向下的增殖方式自顶向下的增殖方式(2)自底向上的增殖方式自底向上的增殖方式(3)混合增殖式测试混合增殖式测试组装测试(组装测
14、试(Integrated TestingIntegrated Testing)增殖式组装方式的种类增殖式组装方式的种类1.一次性组装方式(big bang)n它是一种非增殖式组装方式。也叫做整体拼装。n使用这种方式,首先对每个模块分别进行模块测试,然后再把所有模块组装在一起进行测试,最终得到要求的软件系统。2.增殖式组装方式n这种组装方式又称渐增式组装n首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统n在组装的过程中边连接边测试,以发现连接过程中产生的问题n通过增殖逐步组装成为要求的软件系统。(1)自顶向下的增殖方式自顶向下的增殖方式n这种组装方式将模块按系统程序结构,沿控制层
15、次自顶向下进行组装。n自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。n选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。(2)自底向上的增殖方式n这种组装的方式是从程序模块结构的最底层的模块开始组装和测试。n因为模块是自底向上进行组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。n自顶向下增殖的方式和自底向上增殖的方式各有优缺点。n一般来讲,一种方式的优点是另一种方式的缺点。(3)混合增殖式测试n n衍变的自顶向下的增殖测试n 首先对输入输出模
16、块和引入新算法模块进行测试;n 再自底向上组装成为功能相当完整且相对独立的子系统;n 然后由主模块开始自顶向下进行增殖测试。n n自底向上自顶向下的增殖测试n 首先对含读操作的子系统自底向上直至根结点模块进行组装和测试;n 然后对含写操作的子系统做自顶向下的组装与测试。n n回归测试n 这种方式采取自顶向下的方式测试被修改的模块及其子模块;n 然后将这一部分视为子系统,再自底向上测试。关键模块问题n在组装测试时,应当确定关键模块,对这些关键模块及早进行测试。n关键模块的特征:满足某些软件需求;在程序的模块结构中位于较高的层次(高层控制模块);较复杂、较易发生错误;有明确定义的性能要求。1、非渐
17、增式测试、非渐增式测试(Big-bang testing)Test A,B,C,DTestATestBTestCTestD两种方式的比较:两种方式的比较:Incremental testing 可以较早发现模块间的接口错误;可以较早发现模块间的接口错误;Big-bang testing 最后才组装,因此错误发现得晚。最后才组装,因此错误发现得晚。Big-bang testing 中发现错误后难以诊断定位;中发现错误后难以诊断定位;Incremental testing 中,出现的错误往往跟最新加入中,出现的错误往往跟最新加入的模块有关。的模块有关。Incremental testing 在不断
18、集成的过程中使模块不断在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底。在新的条件下受到新的检测,测试更彻底。Incremental testing 较较 Big-bang testing 费时。费时。Big-bang testing 可以同时并行测试所有模块,能充分可以同时并行测试所有模块,能充分利用人力。利用人力。2、渐增式测试、渐增式测试(Incremental testing)Top-down testing第第1步:测试顶端模块,用存根程序步:测试顶端模块,用存根程序(stub)代替直代替直接附属的下层模块接附属的下层模块 Stub:to simulate the a
19、ctivity of the component which is not yet tested.3、Incremental testing 的几种策略的几种策略MS1S2第第2步:根据深度优先或宽度优先的策略,每步:根据深度优先或宽度优先的策略,每次用一个实际模块代换一个次用一个实际模块代换一个stub。第第3步:在结合进一个模块的同时进行测试。步:在结合进一个模块的同时进行测试。MS1S2S3S4第第4步:回归测试步:回归测试(regression testing)全部或部全部或部分地重复以前做过的测试。分地重复以前做过的测试。Bottom-up testing第第1步:把低层模块组合成族
20、,每族实现一个子功能。步:把低层模块组合成族,每族实现一个子功能。第第2步:用驱动程序步:用驱动程序(Driver)协调测试数据的协调测试数据的IO,测试子测试子功能族。功能族。优点:在早期即对主要控制及关键的抉择进行检验。优点:在早期即对主要控制及关键的抉择进行检验。问题:问题:Stub只是对低层模块的模拟,测试时没有重要的只是对低层模块的模拟,测试时没有重要的数据自下往上流,许多重要的测试须推迟进行,数据自下往上流,许多重要的测试须推迟进行,而且在早期不能充分展开人力。而且在早期不能充分展开人力。Driver:to call a particular component and passe
21、s a test case to it.DM1M2第第3 3步:去掉步:去掉DriverDriver,自下而上把子功能族合自下而上把子功能族合成更大的子功能族。成更大的子功能族。MMMMMMMMMMMM注意:注意:两种策略的两种策略的优、缺点刚好互补,优、缺点刚好互补,但单用其中任一种但单用其中任一种都不实际,通常根都不实际,通常根据软件的特点将二据软件的特点将二者混用。者混用。确认测试(确认测试(Validation TestingValidation Testing)n n确认测试又称确认测试又称有效性测试有效性测试。任务是验证软件。任务是验证软件的功能和性能及其它特性是否与用户的要求的功
22、能和性能及其它特性是否与用户的要求一致。一致。n n对软件的功能和性能要求在软件需求规格说对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软明书中已经明确规定。它包含的信息就是软件确认测试的基础。件确认测试的基础。n n确认测试应交付的文档有:确认测试应交付的文档有:n n 确认测试分析报告确认测试分析报告n n 最终的用户手册和操作手册最终的用户手册和操作手册n n 项目开发总结报告。项目开发总结报告。任务:验收软件的有效性(功能和性能达标)。任务:验收软件的有效性(功能和性能达标)。手段:黑盒测试;用户参与;主要用实际数据进行手段:黑盒测试;用户参与;主要用实际数
23、据进行测试。测试。内容:按合同规定审查软件配置;内容:按合同规定审查软件配置;设计测试计划,使通过测试保证软件能满足设计测试计划,使通过测试保证软件能满足所有功能、性能要求;所有功能、性能要求;文档与程序一致,具有维护阶段所必须的细文档与程序一致,具有维护阶段所必须的细节;节;严格按用户手册操作,以检查手册的完整性严格按用户手册操作,以检查手册的完整性和正确性。和正确性。n n1.进行有效性测试(黑盒测试)进行有效性测试(黑盒测试)n n有效性测试是在模拟的环境有效性测试是在模拟的环境(可能就是开可能就是开发的环境发的环境)下,运用黑盒测试的方法,验下,运用黑盒测试的方法,验证被测软件是否满足
24、需求规格说明书列出证被测软件是否满足需求规格说明书列出的需求。的需求。n n首先制定测试计划,规定要做测试的种类。首先制定测试计划,规定要做测试的种类。还需要制定一组测试步骤,描述具体的测还需要制定一组测试步骤,描述具体的测试用例。试用例。n n通过实施预定的测试计划和测试步骤,确定通过实施预定的测试计划和测试步骤,确定n n 软件的特性是否与需求相符;软件的特性是否与需求相符;n n 所有的文档都是正确且便于使用;所有的文档都是正确且便于使用;n n 同时,对其它软件需求,例如可移植性、同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都兼容性、出错自动恢复、可维护性等
25、,也都要进行测试要进行测试n n在全部软件测试的测试用例运行完后,所有在全部软件测试的测试用例运行完后,所有的测试结果可以分为两类:的测试结果可以分为两类:n n 测试结果与预期的结果相符。这说明软测试结果与预期的结果相符。这说明软件的这部分功能或性能特征与需求规格说件的这部分功能或性能特征与需求规格说明书相符合,从而这部分程序被接受明书相符合,从而这部分程序被接受n n 测试结果与预期的结果不符。这说明软测试结果与预期的结果不符。这说明软件的这部分功能或性能特征与需求规格说件的这部分功能或性能特征与需求规格说明不一致,因此要为它提交一份问题报告。明不一致,因此要为它提交一份问题报告。n n2
26、.软件配置复查软件配置复查n n 软件配置复查的目的是保证软件配置复查的目的是保证n n 软件配置的所有成分都齐全;软件配置的所有成分都齐全;n n 各方面的质量都符合要求;各方面的质量都符合要求;n n 具有维护阶段所必需的细节;具有维护阶段所必需的细节;n n 而且已经编排好分类的目录。而且已经编排好分类的目录。n n应当严格遵守用户手册和操作手册中规定的应当严格遵守用户手册和操作手册中规定的使用步骤,以便检查这些文档资料的完整性使用步骤,以便检查这些文档资料的完整性和正确性。和正确性。验收测试(验收测试(Acceptance TestingAcceptance Testing)n n在通
27、过了系统的有效性测试就应开始系统在通过了系统的有效性测试就应开始系统的验收测试。的验收测试。n n验收测试是以用户为主的测试。软件开发验收测试是以用户为主的测试。软件开发人员和人员和QA(质量保证)人员也应参加。(质量保证)人员也应参加。n n由用户参加设计测试用例,使用生产中的由用户参加设计测试用例,使用生产中的实际数据进行测试。实际数据进行测试。验收测试(验收测试(Acceptance Testing)n在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。n确认测试应交付的文档有:n 确认测试分析报告n 最终的用户手册和操作手册n 项
28、目开发总结报告。系统测试(系统测试(System TestingSystem Testing)n系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。n系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。测试和测试n在软件交付使用之后,用户将如何实际使用程序,对于开发者来说是无法预测的。n测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。n测试的目的是评价软件产品的FL
29、URPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。n测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。n测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开发者。n测试时,开发者通常不在测试现场。因而,测试是在开发者无法控制的环境下进行的软件现场应用。n在测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告。n n测试主要衡量产品的FLURPS。着重于产品的支持性,包括文档、客户培训和支持产品生产能力。n只有当测试达到一定的可靠
30、程度时,才能开始测试。它处在整个测试的最后阶段。同时,产品的所有手册文本也应该在此阶段完全定稿。测试种类n软件测试是由一系列不同的测试组成。主要目的是对以计算机为基础的系统进行充分的测试。功能测试功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。n可靠性测试n如果系统需求说明书中有对可靠性的要求,则需进行可靠性测试。n 平均失效间隔时间 MTBF(Mean Time Between Failures)是否超过规定时限?因故障而停机的时间 MTTR(Mean Time To Repairs)在一年中应不超过多少时间。n强度测试n强度测试是要检查在系统运行环境不正
31、常乃至发生故障的情况下,系统可以运行到何种程度的测试。例如:n 把输入数据速率提高一个数量级,确定输入功能将如何响应。n 设计需要占用最大存储量或其它资源的测试用例进行测试。n 设计出在虚拟存储管理机制中引起“颠簸”的测试用例进行测试。n 设计出会对磁盘常驻内存的数据过度访问的测试用例进行测试。n强度测试的一个变种就是敏感性测试。在程序有效数据界限内一个小范围内的一组数据可能引起极端的或不平稳的错误处理出现,或者导致极度的性能下降的情况发生。此测试用以发现可能引起这种不稳定性或不正常处理的某些数据组合。性能测试性能测试是要检查系统是否满足在需求说明书中规定的性能。特别是对于实时系统或嵌入式系统
32、。性能测试常常需要与强度测试结合起来进行,并常常要求同时进行硬件和软件检测。n通常,对软件性能的检测表现在以下几个方面:响应时间、吞吐量、辅助存储区,例如缓冲区,工作区的大小等、处理精度,等等。恢复测试恢复测试是要证实在克服硬件故障(包括掉电、硬件或网络出错等)后,系统能否正常地继续进行工作,并不对系统造成任何损害n为此,可采用各种人工干预的手段,模拟硬件故障,故意造成软件出错。并由此检查:n 错误探测功能系统能否发现硬件失效与故障;n 能否切换或启动备用的硬件;n 在故障发生时能否保护正在运行的作业和系统状态;n 在系统恢复后能否从最后记录下来的无错误状态开始继续执行作业,等等。n 掉电测试
33、掉电测试:其目的是测试软件系统在发生电源中断时能否保护当时的状态且不毁坏数据,然后在电源恢复时从保留的断点处重新进行操作。启动停止测试这类测试的目的是验证在机器启动及关机阶段,软件系统正确处理的能力。这类测试包括n 反复启动软件系统反复启动软件系统(例如,操作系统自举、网络的启动、应用程序的调用等)n 在尽可能多的情况下关机在尽可能多的情况下关机。配置测试n这类测试是要检查计算机系统内各个设备或各种资源之间的相互联结和功能分配中的错误。n它主要包括以下几种:n n 配置命令测试配置命令测试:验证全部配置命令的可操作性(有效性);特别对最大配置和最小配置要进行测试。软件配置和硬件配置都要测试。n
34、 循环配置测试循环配置测试:证明对每个设备物理与逻辑的,逻辑与功能的每次循环置换配置都能正常工作。n 修复测试修复测试:检查每种配置状态及哪个设备是坏的。并用自动的或手工的方式进行配置状态间的转换。n n安全性测试安全性测试是要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。n力图破坏系统的保护机构以进入系统的主要方法有以下几种:n 正面攻击或从侧面、背面攻击系统中易受损坏的那些部分;n 以系统输入为突破口,利用输入的容错性进行正面攻击;n 申请和占用过多的资源压垮系统,以破坏安全措施,从而进入系统;n 故意使系统出错,利用系统恢复的过程,窃取用户口令及其它有用的信息;n
35、通过浏览残留在计算机各种资源中的垃圾(无用信息),以获取如口令,安全码,译码关键字等信息;n 浏览全局数据,期望从中找到进入系统的关键字;n 浏览那些逻辑上不存在,但物理上还存在的各种记录和资料等。可使用性测试n可使用性测试主要从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。n要保证在足够详细的程度下,用户界面便于用户界面便于使用使用;对输入量可容错对输入量可容错、响应时间和响应方响应时间和响应方式合理可行式合理可行、输出信息有意义输出信息有意义、正确并前后正确并前后一致一致;出错信息能够引导用户去解决问题出错信息能够引导用户去解决问题;软件文档全面软件文档全面、正
36、规正规、确切确切。可支持性测试这类测试是要验证系统的支持策略对于公司与用户方面是否切实可行。n它所采用的方法是n 试运行支持过程试运行支持过程(如对有错部分打补丁的过程,热线界面等);n 对其结果进行质量分析质量分析;n 评审诊断工具评审诊断工具;n 维护过程、内部维护文档维护过程、内部维护文档;n 修复一个错误所需平均最少时间修复一个错误所需平均最少时间。安装测试安装测试的目的不是找软件错误,而是找安装错误。n在安装软件系统时,会有多种选择。n 要分配和装入文件与程序库n 布置适用的硬件配置n 进行程序的联结。n而安装测试就是要找出在这些安装过程中出现的错误。n安装测试是在系统安装之后进行测
37、试。它要检验:n 用户选择的一套任选方案是否相容;n 系统的每一部分是否都齐全;n 所有文件是否都已产生并确有所需要的内容;n 硬件的配置是否合理,等等。过程测试n在一些大型的系统中,部分工作由软件自动完成,其它工作则需由各种人员,包括操作员,数据库管理员,终端用户等,按一定规程同计算机配合,靠人工来完成。n n指定由人工完成的过程指定由人工完成的过程也需经过仔细的检查也需经过仔细的检查,这就是所谓的过程测试。互连测试n互连测试是要验证两个或多个不同的系统之间的互连性。兼容性测试n这类测试主要想验证软件产品在不同版本之间的兼容性。有两类基本的兼容性测试:n 向下兼容n n 交错兼容容量测试n容
38、量测试是要检验系统的能力最高能达到什么程度。例如,n 对于编译程序,让它处理特别长的源程序n 对于操作系统,让它的作业队列“满员”;n 对于信息检索系统,让它使用频率达到最大。在使系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。文档测试这种测试是检查用户文档(如用户手册)的清晰性和精确性。n用户文档中所使用的例子必须在测试中一一试过,确保叙述正确无误。n 一条测试规律一条测试规律 一般情况下,在分析、设计、实现阶段的复一般情况下,在分析、设计、实现阶段的复审和测试工作能够发现和避免审和测试工作能够发现和避免80%80%的的BugBug,而系统而系统测试又能找出其余测试又能找出其余Bu
39、gBug中的中的80%80%,最后的,最后的5%5%的的BugBug可能只有在用户的大范围、长时间使用后才会曝可能只有在用户的大范围、长时间使用后才会曝露出来。因为测试只能够保证尽可能多地发现错露出来。因为测试只能够保证尽可能多地发现错误,无法保证能够发现所有的错误。误,无法保证能够发现所有的错误。测试策略测试策略测试的组织通常,测试内部的个体分为测试人员和支持人员(管理人员属于支持人员)。测试的工作实体(最小组织单位)是测试小组和支持小组,分别由小组长全权负责。小组长向测试主管负责。测试组织的方式与结构测试组织的方式与结构测试的组织一般地,测试小组根据测试项目或评测项目的需要临时组建,小组长
40、也是临时指定。与项目组的最大区别是生命周期短,一般是2周到4个月。在系统测试期间或系统评测期间,测试组长负责整个测试的计划、组织工作,对内完全负责组员的工作安排、工作检查和进度管理。测试组的其他成员由具有一定的分析、设计和测试经验的专业人员组成,人数根据具体情况可多可少,一般3人为宜。测试的组织支持小组按照内部相关条例负责测试的后勤保障和日常管理工作,机构设置一般相对比较稳定。主要负责文档管理、测试理论和技术应用、网络管理、数据备份、设备管理和维护、员工内部培训、日常事务管理和检查等。测试的组织测试工程师的素质测试工程师的素质 沟通能力沟通能力 技术概念和能力技术概念和能力 熟悉业务的能力熟悉
41、业务的能力 强的记忆力强的记忆力 耐心耐心 强的责任心强的责任心 洞察力洞察力工作运作机制工作运作机制n n测试的运作方式测试的运作方式测试的运作方式测试的运作方式-制度化并形成应用制度化并形成应用制度化并形成应用制度化并形成应用n n建立一套规范化的测试工作流程建立一套规范化的测试工作流程建立一套规范化的测试工作流程建立一套规范化的测试工作流程n n建立一套规范化的测试文档模板建立一套规范化的测试文档模板建立一套规范化的测试文档模板建立一套规范化的测试文档模板n n建立畅通的信息共享和沟通机制建立畅通的信息共享和沟通机制建立畅通的信息共享和沟通机制建立畅通的信息共享和沟通机制测试的组织测试的组织