软件测试方法和技术-Ch.7验收测试Zhu.Kerry@gmail.comKerryZhuZhu.Kerry@gmail.com第六章回顾Zhu.Kerry@gmail.com①系统集成的模式和方法②功能测试③系统测试④压力测试、容量测试和性能测试⑤安全性、可靠性和容错性测试第七章验收测试Zhu.Kerry@gmail.com7.1验收测试的过程和主要内容7.2产品规格说明书的验证7.3用户界面和可用性测试7.4兼容性测试7.5可安装性和可恢复性测试7.6文档测试7.7验收测试报告和用户验收测试什么是验收测试验收测试(AcceptanceTest):在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试。Zhu.Kerry@gmail.com7.1验收测试的过程和主要内容前提:系统或软件产品已通过了系统测试的软件系统。测试内容:验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。Zhu.Kerry@gmail.com测试步骤制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。建立测试环境,设计测试用例,并经过评审。准备测试数据,执行测试用例,记录测试结果。分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。测试项目通过;测试项目没有通过,并且不存在变通方法,需要很大的修改;测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进;测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该测试项目没有说明清楚,应该修改测试计划。提交测试报告Zhu.Kerry@gmail.com验收标准和注意事项验收测试完成标准:完全执行了验收测试计划中的每个测试用例。在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。完成软件验收测试报告。注意事项:必须编写正式的、单独的验收测试报告验收测试必须在实际用户运行环境中进行由用户和测试部门共同执行。如公司自开发产品,应由测试人员,产品设计部门,市场部门等共同进行。Zhu.Kerry@gmail.com7.2产品规格说明书的验证产口规格说明书的审核从客户的角度和立场进行审核工作。检验套用标准的正确性,不要和行业规范相抵触。审查、研究同类产品。验证产品规格说明书的完整性、准确性、一致性、合理性等特性。产口规格说明书的验证已经实现的特性标识为通过。特性没有实现,报告bug并在报告中体现。特性基本实现,但与产品说明书内容不一致,报bug并在报告中体现。特性基本实现,但存在一些问题或错误。Zhu.Kerry@gmail.com什么是适用性(usability)?Zhu.Kerry@gmail.comEasytodiscoverEasytolearnEasytouseAvailabilityMicrosoft的适用性测试-180适用性测试工程师-25适用性测试实验室7.3用户界面和可用性测试用户界面的7个要素:符合标准和规范。直观性。一致性。灵活性。舒适性。正确性。实用性。易用性测试没有具体量化的指标,主观性较强。Zhu.Kerry@gmail.com符合标准和规范通常标准是已经确立的,多数用户已经熟悉并接受了这些标准和规范、或已经认同了这些信息所代表的意义。例:如果软件在某一个平台上运行,就需要把该平台的标准和规范作为产品规格说明书的补充内容,在建立测试案例时和产品规格说明书一样作为依据Zhu.Kerry@gmail.com直观性和一致性直观性:-首先了解所需的功能或期待的响应应该明显,并在预期的地方出现。-其次要考虑用户界面的组织和布局是否合理。一致性:-包括软件本身的一致性,以及软件与其他软件的一致性。Zhu.Kerry@gmail.com灵活性用户喜欢可以灵活选择的软件,软件可以选择不同的状态和方式,完成相应的功能。但灵活性也可能发展为复杂性,太多的状态和方式的选择增加的不仅仅是用户理解和掌握的困难程度。多种状态之间的转换,增加了编程的难度,更增加了软件测试人员的工作量。例:Zhu.Kerry@gmail.com舒适性、正确性、实用性舒适性:恰当的表现、合理的安排、必要的提示或更正能力等是要考虑的因素,包括容错处理和性能。正确性:正确性的问题一般都很明显,比较容易发现。实用性:实用性不是指的是软件本身是否实用,而仅仅指的是具体特性是否实用。大型软件的开发或周期较长经过几次反复的软件开发中容易产生一些没有实用性的功能。Zhu.Kerry@gmail.com舒适性例子Zhu.Kerry@gmail.com简单性•1-click•NextNextNext…Zhu.Kerry@gmail.com7.4兼容性测试软件兼容性测试是指验证软件之间是否正确地交互和共享信息。注意:从项目管理的角度出发,使平台清单在满足客户要求的前提下尽可能的小是十分重要的,否则将会给编码和测试带来巨大的工作量。兼容性包括:硬件兼容。软件之间兼容。数据之间兼容。Zhu.Kerry@gmail.com向前和向后兼容向后兼容是指可以使用软件的以前版本。向前兼容指的是可以使用软件的未来版本。Zhu.Kerry@gmail.comFigure9.1WordEditorFromCompanyURunningonOperatingSystemWWordEditorFromCompanyCRunningonOperatingSystemLSpreadsheetFromCompanyLRunningonOperatingSystemNFileImport/ExportNetworkImport/ExportFileLoad/SaveCut,Copy,PasteBackupZhu.Kerry@gmail.comBackward&forwardcompatibleData.docWord98runningonWin98Word2003runningonWindowsXPForwardCompatibilityBackwardCompatibilityXXXrunningonOS2005Word2000runningonWindows2KWordrunningonWinNTWord95/97runningonWin95/97Data.RTFData.txtToolsMustdoHadbetterdesignLoadolddataImportolddataExchangenewdataZhu.Kerry@gmail.comImpactoftestingMultipleversionsNewComputingPlatform2005PaintingandDrawingProgramsDatabaseWordProcessorsSpreadsheetProgramsGamesEducationalProgramsCompatibilitytestPopularity:Top100or1000basedonsalesdadaAge:3-yearoldType:breakintotypes:DB,Word,Graph,…ManufacturerCriteriatoChooseprogramsZhu.Kerry@gmail.com多版本的测试一个庞大而又艰巨的任务,需要对所有可能的软件组合等价分配,验证软件之间正确交互的最小有效集合。通常我们的做法是:将软件分类。例如:字处理,电子表格,数据库,图形处理,游戏等。从每种类型中选择部分测试软件。按软件的流行程度选择较流行的软件。按年份,选取一定年份内的程序和版本。Zhu.Kerry@gmail.com例:设计测试矩阵表每一个浏览器和版本支持的特性上都有细微的差别,在不同的操作系统上表现也有所不同。Zhu.Kerry@gmail.comPCUnix/MacWin98WinMEWinNTWin2000SolarisHP-UXOSIXOSXIE5√√IE5.5√√√IE6√√√NS4.7√√√√NS6.0√√…7.5可安装性和可恢复性测试可安装性测试:系统软件安装应用软件安装服务器的安装客户端的安装产品升级安装等等Zhu.Kerry@gmail.com可安装性测试安装测试注意事项:是否需要专业人员安装。安装说明书有无对安装环境做限制和要求。过程是否简单、易掌握。过程中是否有明显的、合理的提示信息。是否会出现不可预见或不可修复的错误。安装程序是否占用系统资源与原系统冲突,是否会影响原系统安全性。软件安装的完整性和灵活性。许可证号码与注册号码的验证。升级安装后原有程序是否可正常运行。卸载测试。Zhu.Kerry@gmail.com可恢复性测试恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误或重新启动系统。恢复测试首先要通过各种手段,让软件强制性地发生故障,然后验证系统是否能尽快恢复。对于自动恢复需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。Zhu.Kerry@gmail.com7.6文档测试软件文档已成为软件的一个重要组成部分,而且种类繁多,对文档的测试也变得必不可少。文档的种类。联机帮助文档或用户手册;指南和向导;安装、设置指南;示例及模板;错误提示信息;用于演示的图像和声音;授权/注册登记表及用户许可协议;软件的包装、广告宣传材料;等等。Zhu.Kerry@gmail.com怎样进行文档测试好的文档能达到提高易用性、提高可靠性、降低技术支持的费用的目的,从而提高了产品的整体质量。非代码的文档测试主要检查文档的正确性、完备性和可理解性。验证正确性验证完备性验证可理解性软件驱动的文档还得像程序一样运行起来测试。Zhu.Kerry@gmail.com7.7验收测试报告和用户验收测试α测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。经过α测试调整的软件产品称为β版本。紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。验收测试报告,也称为发布报告(ReleaseReport)Zhu.Kerry@gmail.comQ&AZhu.Kerry@gmail.com