资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
万江平 2006软件工程, 第七章 1第七章l软件测试 由安博测试空间技术中心提供万江平 2006软件工程, 第七章 2内容l软件测试的目的和原则l软件测试的对象l测试与软件开发各阶段的关系l电子商务测试l软件测试过程万江平 2006软件工程, 第七章 3软件测试知识域主题的本体结构 测试技术测试级别软件测试基础测试有关的术语关键问题测试与其它活动的联系测试对象测试目标基于测试人员的直觉和经验基于应用本质软件测试基于规格说明基于代码基于错误选择和组合技术测试相关的度量评价被测程序评价完成的测试测试过程实际考虑测试活动万江平 2006软件工程, 第七章 4二十条软件测试的基本原则l验证需求原则l测试计划原则l第三方原则l发现错误原则l软件价值原则l测试成功原则l错误集群原则l黑盒白盒原则l测试用例原则l输入条件原则l超负荷原则l实事求是原则l复杂性度量原则l度量标准原则l有效覆盖原则l集成测试原则l工具原则l错误根源原则l知识管理原则l管理重要原则万江平 2006软件工程, 第七章 5什么是软件测试 l软件测试是为了发现错误而执行程序的过程l软件测试是根据软件开发各阶段的规格说明和程序内部结构而精确设计一批测试用例(即输入数据和及预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。 万江平 2006软件工程, 第七章 6软件生存期各个阶段之间需要保持正确性 相符吗?运行结果计算机:程序结果用户需求用户:我要什么?需求说明书分析员:能提供什么?源程序程序员:怎么做?设计说明书设计员:软件做什么?运行正确性输入正确性理解正确性编码正确性理解正确性设计正确性表达正确性理解正确性表达正确性1234万江平 2006软件工程, 第七章 7测试数据流 测试结果分析测试排错可靠性分析测试软件配置测试配置测试工具改 正 的 软件预期结果出 错 率 数据预测的可靠性测试结果万江平 2006软件工程, 第七章 8软件测试与软件开发过程的关系 需求分析设计编程确认测试集成测试单元测试需求分析说明书概要设计说明书详细设计说明书源程序代码单元测试确认测试集成测试分析万江平 2006软件工程, 第七章 9两种类型的测试 l已知产品的功能设计规格,可以进行测试证明每个实现的功能是否符合要求。l已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经经过检查。 万江平 2006软件工程, 第七章 10黑盒测试l是否有不正确或遗漏了的功能?l在接口上,输入能否正确地接受?能否输出正确的结果?l是否有数据结构或外部信息(例如数据文件)访问错误?l性能上是否能够满足要求?l是否有初始化或终止性错误?万江平 2006软件工程, 第七章 11白盒测试 l对程序模块的所有独立的执行路径至少测试一次l对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次l在循环的边界和运行界限内执行循环体l测试内部数据的有效性等万江平 2006软件工程, 第七章 12软件测试的过程 .单元测试单元测试集成测试单元测试确认测试系统测试被测模块被测模块被测模块软件需求设计信息系统其它元素已 经 过测 试 的模块已集成的软件已确认的软件可交付的软件万江平 2006软件工程, 第七章 13单元测试的工作 模块模块接口出错处理局部数据结构边界条件独立路径万江平 2006软件工程, 第七章 14单元测试环境 驱动模块测试结果被测模块桩模块测试用例桩模块桩模块万江平 2006软件工程, 第七章 15集成测试考虑的问题l在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失l一个模块的功能是否会对另一个模块的功能产生不利的影响l各个子功能组合起来,能否达到预期要求的父功能l全局数据结构是否有问题l单个模块的误差累积起来,是否会放大,从而达到不能接受的程度万江平 2006软件工程, 第七章 16确认测试(有效性测试)l验证软件的功能和性能及其它特性是否与用户的要求一致l对软件的功能和性能要求在软件需求规格说明中已明确规定 万江平 2006软件工程, 第七章 17测试和测试 l测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。l测试的目的是评价软件产品的FLURPS(即功能、局部化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。l测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。与测试不同,开发者通常不在测试现场。l测试主要衡量产品的FLURPS。重于产品的支持性、包括文档、客户培训和支持产品生产能力。l只有测试达到一定的可靠程度时,才能开始测试。万江平 2006软件工程, 第七章 18确认测试过程 有效性测试软件配置审查管理机构裁决专家鉴定会选择测试人员构造测试用例支持环境实际运行测试软件计划开发文档用户文档测试文本运行维护交用户软件配置测试报告万江平 2006软件工程, 第七章 19系统测试l系统测试是将通过确认测试的软件,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。l系统测试的目的在于与系统的需求定义进行比较,发现软件与系统定义不符合或与之矛盾的地方。l系统测试的测试用例应根据需求说明书来设计,并在实际使用环境下来运行。万江平 2006软件工程, 第七章 20测试计划模板 l确定要进行的测试的范围l估计时间、资源、人、硬件、软件和工具l提供所需的资源l提供测试环境l为任务指派人手l制定进度表l确定风险和应急计划l追踪项目进度并采取纠正措施l定期提供已通过的测试、堵塞的测试以及失败的测试的状态l如果项目范围出现变动,就重新制定计划l进行事后分析以吸取教训万江平 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测试用例格式 l测试用例的目的l实施测试用例所需的设置l测试用例的输入l测试过程l期望的输出或结果万江平 2006软件工程, 第七章 25测试组要回答的问题 l软件目前的质量如何?l产品的稳定性如何?l产品现在是否准备发行?l移交的软件的质量有多好?l对软件进行测试的效果如何?l有多少公开的问题?l还要进行多少测试? 万江平 2006软件工程, 第七章 26工具评估表 需求工具工具1工具2工具K需求1优差优需求2差中优需求n差优优万江平 2006软件工程, 第七章 27电子商务特征l一切都是新的l是一个有数百万的服务器和数十亿的参与者的分布式系统l通常需要快速的应用开发l少量设计、少量实施、少量测试l飞速变化的技术l用户可能是未知的l浏览器可能是未知的l高利用率(24*365)lWeb站点的外观和感觉非常重要l其性能可能是不可预见的l安全威胁可能无处不在 万江平 2006软件工程, 第七章 28Web测试 l静态测试l单元测试l功能测试l浏览器兼容性测试l可用性测试l安全性测试l负载性能强度测试l利用率测试l部署后测试万江平 2006软件工程, 第七章 29累计缺陷 万江平 2006软件工程, 第七章 30样例项目中的缺陷类型 万江平 2006软件工程, 第七章 31追踪矩阵举例 需求小节(编号)相应的设计小节相应的测试计划小节评论/风险R1.1D1.4、 D1.5、D3.2T1.2、T1.7R1.2D1.8、D8.3T1.4R1.3D2.2T1.3R1.50D20.1、D30.4T20.1、T24.2万江平 2006软件工程, 第七章 32要点l测试是为评价、改进产品质量、标识产品的缺陷和问题而进行的活动。l软件测试由一个程序的行为在有限测试用例集合上,针对期望的行为的动态验证组成,测试用例是从通常的无限执行域中适当选取的。l软件测试过程可概括为用单元测试保证模块正确工作,用集成测试保证模块集成到一起后正常工作,用确认测试保证软件需求的满足,用系统测试保证软件与其它系统元素合成后达到系统各项性能要求。万江平 2006软件工程, 第七章 33要点l软件测试过程包括测试计划、测试环境的建立、测试用例的定义、测试的实施、缺陷报告以及测试管理和报告。l各种类型的测试,包括黑盒测试和白盒测试、单元测试和集成测试、系统测试、性能测试、保密测试和可用性测试。 万江平 2006软件工程, 第七章 34相关中国系统分析员论文题目l论软件测试的策略与环境(2000)l论软件测试计划的制定(2004)万江平 2006软件工程, 第七章 35相关世界软件工程大会论文lImproving test suites for efficient fault localizationlDemand-driven structural testing with dynamic instrumentationlImproving web application testing with user session datalA history-based test prioritization technique for regression testing in resource constrained environmentslAnywhere, anytime code inspections: using the Web to remove inspection bottlenecks in large-scale software developmentlThe software knowledge base
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号