您好,欢迎访问三七文档
©万江平2006软件工程,第七章1第七章软件测试由安博测试空间技术中心提供©万江平2006软件工程,第七章2内容软件测试的目的和原则软件测试的对象测试与软件开发各阶段的关系电子商务测试软件测试过程©万江平2006软件工程,第七章3软件测试知识域主题的本体结构测试技术测试级别软件测试基础测试有关的术语关键问题测试与其它活动的联系测试对象测试目标基于测试人员的直觉和经验基于应用本质软件测试基于规格说明基于代码基于错误选择和组合技术测试相关的度量评价被测程序评价完成的测试测试过程实际考虑测试活动©万江平2006软件工程,第七章4二十条软件测试的基本原则验证需求原则测试计划原则第三方原则发现错误原则软件价值原则测试成功原则错误集群原则黑盒白盒原则测试用例原则输入条件原则超负荷原则实事求是原则复杂性度量原则度量标准原则有效覆盖原则集成测试原则工具原则错误根源原则知识管理原则管理重要原则©万江平2006软件工程,第七章5什么是软件测试软件测试是为了发现错误而执行程序的过程软件测试是根据软件开发各阶段的规格说明和程序内部结构而精确设计一批测试用例(即输入数据和及预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。©万江平2006软件工程,第七章6软件生存期各个阶段之间需要保持正确性相符吗?运行结果计算机:程序结果用户需求用户:我要什么?需求说明书分析员:能提供什么?源程序程序员:怎么做?设计说明书设计员:软件做什么?运行正确性输入正确性理解正确性编码正确性理解正确性设计正确性表达正确性理解正确性表达正确性1234©万江平2006软件工程,第七章7测试数据流测试结果分析测试排错可靠性分析测试软件配置测试配置测试工具改正的软件预期结果出错率数据预测的可靠性测试结果©万江平2006软件工程,第七章8软件测试与软件开发过程的关系需求分析设计编程确认测试集成测试单元测试需求分析说明书概要设计说明书详细设计说明书源程序代码单元测试确认测试集成测试分析©万江平2006软件工程,第七章9两种类型的测试已知产品的功能设计规格,可以进行测试证明每个实现的功能是否符合要求。已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经经过检查。©万江平2006软件工程,第七章10黑盒测试是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?©万江平2006软件工程,第七章11白盒测试对程序模块的所有独立的执行路径至少测试一次对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次在循环的边界和运行界限内执行循环体测试内部数据的有效性等©万江平2006软件工程,第七章12软件测试的过程...单元测试单元测试集成测试单元测试确认测试系统测试被测模块被测模块被测模块软件需求设计信息系统其它元素已经过测试的模块已集成的软件已确认的软件可交付的软件©万江平2006软件工程,第七章13单元测试的工作模块模块接口出错处理局部数据结构边界条件独立路径©万江平2006软件工程,第七章14单元测试环境驱动模块测试结果被测模块桩模块测试用例桩模块桩模块©万江平2006软件工程,第七章15集成测试考虑的问题在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失一个模块的功能是否会对另一个模块的功能产生不利的影响各个子功能组合起来,能否达到预期要求的父功能全局数据结构是否有问题单个模块的误差累积起来,是否会放大,从而达到不能接受的程度©万江平2006软件工程,第七章16确认测试(有效性测试)验证软件的功能和性能及其它特性是否与用户的要求一致对软件的功能和性能要求在软件需求规格说明中已明确规定©万江平2006软件工程,第七章17α测试和β测试α测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局部化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。与α测试不同,开发者通常不在测试现场。β测试主要衡量产品的FLURPS。重于产品的支持性、包括文档、客户培训和支持产品生产能力。只有α测试达到一定的可靠程度时,才能开始β测试。©万江平2006软件工程,第七章18确认测试过程有效性测试软件配置审查管理机构裁决专家鉴定会选择测试人员构造测试用例支持环境实际运行测试软件计划开发文档用户文档测试文本运行维护交用户软件配置测试报告©万江平2006软件工程,第七章19系统测试系统测试是将通过确认测试的软件,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于与系统的需求定义进行比较,发现软件与系统定义不符合或与之矛盾的地方。系统测试的测试用例应根据需求说明书来设计,并在实际使用环境下来运行。©万江平2006软件工程,第七章20测试计划模板确定要进行的测试的范围估计时间、资源、人、硬件、软件和工具提供所需的资源提供测试环境为任务指派人手制定进度表确定风险和应急计划追踪项目进度并采取纠正措施定期提供已通过的测试、堵塞的测试以及失败的测试的状态如果项目范围出现变动,就重新制定计划进行事后分析以吸取教训©万江平2006软件工程,第七章21测试计划样本活动资源名称开始日期结束/重新计划日期评论评审需求测试小组15.02.200616.02.2001完成总体测试计划和评审测试经理15.02.200628.02.2001完成系统测试计划和评审测试员101.03.200622.03.2006完成性能测试计划和评审测试员215.03.200631.03.2006完成可用性测试计划和评审测试员208.03.200631.03.2006完成回归计划和评审测试员101.03.200615.03.2006完成建立测试环境测试员115.03.200631.03.2006完成系统测试和缺陷再测试测试员101.04.200631.05.2006进行中性能测试和缺陷再测试测试员215.04.200607.05.2006可用性测试测试员201.04.200615.04.2006完成回归测试测试员207.05.200631.05.2006测试报告测试经理01.04.200631.05.2006进行中©万江平2006软件工程,第七章22简化的测试过程测试计划建立测试环境评审需求测试用例定义接受移交测试执行测试报告事后分析©万江平2006软件工程,第七章23测试类型测试类型内容单元测试此测试由软件开发人员来进行,它验证的是模块的正确性部件测试此测试用于验证软件部件的正确性,以确保部件正确和可复用。它由开发人员或独立的测试小组来进行系统测试这种测试通常由独立的测试小组来实施,其目标是验证整个系统的正确性性能测试此测试通常由独立的测试小组实施,其目标是保证系统的性能在已定义的性能限制范围内。这种测试一般需要一些工具来模拟很多客户和重负载,获得精确的性能度量负载/强度测试采用负载/强度测试来验证系统性能在长期或短期重系统负载的情况下,是否仍介于约定的限制范围内。要获得精确的性能度量可能需要使用一些工具浏览器兼容性测试此测试专用于Web应用,它验证Web站点针对其所支持的不同浏览器时功能的正确性可用性测试其目标是验证软件易于使用,应用的外观和感觉都很好安全测试其目标是验证保密性、完整性和可用性需求得到满足回归测试其目标是验证软件做出改动或纠正时,仍然保留了其核心功能。可以采用测试工具来提高回归测试的生产率和效率仿真测试仿真测试的目标是模拟现实系统中当前还不存在的或在现实生活环境中难以复制的一部分系统。仿真测试的效果依赖于仿真与现实的匹配程度验收测试此测试由客户来实施,其目标是在软件验收之前验证其是否与客户期望相匹配©万江平2006软件工程,第七章24测试用例格式测试用例的目的实施测试用例所需的设置测试用例的输入测试过程期望的输出或结果©万江平2006软件工程,第七章25测试组要回答的问题软件目前的质量如何?产品的稳定性如何?产品现在是否准备发行?移交的软件的质量有多好?对软件进行测试的效果如何?有多少公开的问题?还要进行多少测试?©万江平2006软件工程,第七章26工具评估表需求\工具工具1工具2…工具K需求1优差优需求2差中优…需求n差优优©万江平2006软件工程,第七章27电子商务特征一切都是新的是一个有数百万的服务器和数十亿的参与者的分布式系统通常需要快速的应用开发少量设计、少量实施、少量测试飞速变化的技术用户可能是未知的浏览器可能是未知的高利用率(24*365)Web站点的外观和感觉非常重要其性能可能是不可预见的安全威胁可能无处不在©万江平2006软件工程,第七章28Web测试静态测试单元测试功能测试浏览器兼容性测试可用性测试安全性测试负载/性能/强度测试利用率测试部署后测试©万江平2006软件工程,第七章29累计缺陷©万江平2006软件工程,第七章30样例——项目中的缺陷类型©万江平2006软件工程,第七章31追踪矩阵举例需求小节(编号)相应的设计小节相应的测试计划小节评论/风险R1.1D1.4、D1.5、D3.2T1.2、T1.7R1.2D1.8、D8.3T1.4R1.3D2.2T1.3…………R1.50D20.1、D30.4T20.1、T24.2©万江平2006软件工程,第七章32要点测试是为评价、改进产品质量、标识产品的缺陷和问题而进行的活动。软件测试由一个程序的行为在有限测试用例集合上,针对期望的行为的动态验证组成,测试用例是从通常的无限执行域中适当选取的。软件测试过程可概括为用单元测试保证模块正确工作,用集成测试保证模块集成到一起后正常工作,用确认测试保证软件需求的满足,用系统测试保证软件与其它系统元素合成后达到系统各项性能要求。©万江平2006软件工程,第七章33要点软件测试过程包括测试计划、测试环境的建立、测试用例的定义、测试的实施、缺陷报告以及测试管理和报告。各种类型的测试,包括黑盒测试和白盒测试、单元测试和集成测试、系统测试、性能测试、保密测试和可用性测试。©万江平2006软件工程,第七章34相关中国系统分析员论文题目论软件测试的策略与环境(2000)论软件测试计划的制定(2004)©万江平2006软件工程,第七章35相关世界软件工程大会论文ImprovingtestsuitesforefficientfaultlocalizationDemand-drivenstructuraltestingwithdynamicinstrumentationImprovingwebapplicationtestingwithusersessiondataAhistory-basedtestprioritizationtechniqueforregressiontestinginresourceconstrainedenvironmentsAnywhere,anytimecodeinspections:usingtheWebtoremoveinspectionbottlenecksinlarge-scalesoftwaredevelopmentThesoftwareknowledgebase
本文标题:软件测试—主要描述
链接地址:https://www.777doc.com/doc-4756988 .html