




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试定义的两面性,寻找容易犯错误的地方和系统的薄弱环节,试图破坏系统,直至找不出问题。,1,软件测试的定义,SWEBOK3.0的定义:从一个通常是无限的执行域(集合)中选择合适的、有限的测试用例,对程序所期望的行为进行动态验证的活动过程。,2,1.4软件测试和软件开发的关系,让人误解的瀑布模型,3,软件质量的内涵,IEEE:质量是系统、部件或过程满足明确需求客户或用户需要或期望的程度不同软件质量:软件产品具有满足规定的和隐含的与需求能力有关的全部特征和特性(IEEESTD729)软件质量:软件产品满足使用要求的程度,4,不同的分类,按测试的对象或范围分类,如单元测试、文档测试、系统测试等)按测试目的分类,如功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等根据测试过程中被测软件是否被执行,分为静态测试和动态测试根据是否针对系统的内部结构和具体实现算法来完成测试,可分为白盒测试和黑盒测试,5,2.4静态测试和动态测试,根据程序是否运行,测试分为静态测试和动态测试;静态测试包括对软件产品的需求和设计规格说明书的评审、对程序代码的审查以及静态分析等;动态测试通过真正运行程序发现错误,通过观察代码运行过程来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面信息,来判断系统是否存在问题,或者通过有效的测试用例,对应的输入输出关系来分析被测程序的运行情况,以发现缺陷。SWEBOK3.0中把静态测试内容放在“质量管理”模块中。,6,2.4主动测试和被动测试,7,2.5黑盒测试和白盒测试,功能测试数据驱动测试,结构测试逻辑驱动测试,8,功能测试(黑盒),完全不考虑程序内部结构和内部特性的情况下,测试人员针对软件直接进行测试,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当地接收输入数据而输出正确的结果,检查相应的文档是否采用了正确的模板、是否满足规范要求。发现的缺陷类型:有错误的功能或遗漏了某项功能;不能正确接收输入数据,输出错误结果;功能操作逻辑不合理、不够方便;界面出错、扭曲或不美观;安装过程中出现问题,安装步骤不清晰、不够灵活;系统初始化问题。,9,结构测试(白盒),已知产品内部工作过程,清楚最终生成软件产品的计算机程序结构及语句,按照程序内部结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,检查程序中的每条通路是否都能按预定要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。白盒测试原则在执行测试时,先考虑各个分支被覆盖;再考虑完成所有逻辑条件分别为真值和假值的测试;如果有更高质量要求,测试对象流程图中所有独立路径至少被运行一次;检查内部数据结构,注意上下文的影响,以确保其测试的有效性。,10,黑盒与白盒比较,功能测试的置信,结构测试的度量,11,测试阶段(SDLC),12,软件测试阶段输入和输出,13,需求和设计审查,测试人员参与产品需求分析和系统设计,认真阅读有关文档,真正理解客户的需求和技术上的设计,检查需求说明书对产品描述的准确性、一致性等,检查系统设计的合理性和可测试性等,14,单元测试,单元测试的对象是程序系统中的最小单元-类、函数、模块或组件上,在编码阶段进行,针对每个模块进行测试,主要通过白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。多个模块可以平行地、对立地测试,通常要编写驱动模块和桩模块。单元测试一般由编程人员和测试人员共同完成,而以开发人员为主单元测试包括代码评审,代码评审可以发现程序50%70%代码的缺陷。,15,集成测试,集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题两种集成方式:一次性集成方式和渐增式集成方式。,16,功能测试,功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用。,17,系统测试,系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括用户界面、各种操作、不同的数据输入输出、存储测试、负载测试、灾难恢复测试、安全测试、可靠性测试和性能测试等。,18,验收测试&安装测试,验收测试的目的是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能及其他特性如同用户所合理期待的那样。验收测试一般要求在实际的用户环境上进行,并和用户共同完成。lpha()测试和Beta()测试,19,进一步彰显全过程测试,20,4.1.3W模型,21,4.1.2TMap,TMap(TestManagementApproach,测试管理方法)是一种结构化的、基于风险策略的测试方法体系,目的能更早地发现缺陷,以最小的成本、有效地、彻底地完成测试任务,以减少软件发布后的支持成本。TMap所定义的测试生命周期由计划和控制、准备、说明、执行和完成等阶段组成,参考:,22,TMap描述的生命周期模型,23,TMap基本内容,一个基于风险的测试方法基于风险的测试策略,来有效的分配测试投入在测试规划的各个时间点进行商业投入,24,TMap三大基石,与软件开发生命周期一致的测试活动生命周期(L);坚实的组织融合(O)正确的基础设施和工具(I)可用的技术(T),流程,人/项目,测试环境,技术,25,TMapNEXT之背景,测试的独立性和开发更紧密的融合更多种类的测试组织,包括测试工厂BDTM,BusinessDrivenTestManagement,新的测试方法、技术,特别测试设计方法测试的基础设施、支持流程测试估算、风险分析增加测试类型,26,TMapNEXT,业务驱动测试管理方法BDTM结构化的测试流程完整的工具包自适应的测试方法,27,单元测试的定义,定义单元测试是对软件基本的组成单元进行独立的测试时机单元测试和编码是同步进行,但在TDD中,强调测试在先,编码在后。单元测试一般由开发人员完成,QA人员辅助.概念模块、组件、单元,28,单元测试的目标,目标:单元模块被正确编码信息能否正确地流入和流出单元在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,全局变量在单元中的处理和影响为限制数据加工而设置的边界处,能否正确工作单元的运行能否做到满足特定的逻辑覆盖,29,任务:模块独立执行路径测试,检查每一条独立执行路径的测试,并保证每条语句被至少执行一次。Checklist:误解或用错了算符优先级混合类型运算变量初值错精度不够表达式符号错其它,30,任务2:局部数据结构测试,检查局部数据结构完整性Checklist:不适合或不相容的类型说明变量无初值变量初始化或默认值有错不正确的变量名或从来未被使用过出现上溢或下溢和地址异常其它,31,任务:模块接口测试,检查模块接口是否正确checklist:输入的实际参数与形式参数是否一致(个数、属性、量纲)调用其他模块的实际参数与被调模块的形参是否一致。个数、属性、量纲全程变量的定义在各模块是否一致。外部输入、输出文件、缓冲区、错误处理其它,32,任务:单元边界条件测试,检查临界数据处理的正确性Checklist:普通合法数据的处理。普通非法数据的处理。边界值内合法边界数据的处理。边界值外非法边界数据的处理。其它,33,任务5:单元容错测试,预设的各种出错处理是否正确有效。Checklist:输出的出错信息难以理解记录的错误与实际不相符异常处理不当未提供足够的定位出错的信息其它,34,任务6:内存分析,内存泄漏会导致系统运行的崩溃;测量内存的使用情况,了解程序内存分配的真实情况;系统崩溃前发现内存泄漏错误;发现内存分配错误,并精确显示发生错误时的上下文情况,指出发生错误的原由。,35,驱动程序和桩程序,运行单元程序有时需要基于被测单元的接口,开发相应的驱动模块和桩模块。驱动模块(drive):对底层或子层模块进行测试所编写的调用这些模块的程序。桩模块(stub):对顶层或上层模块进行测试时所编写的替代下层模块的程序。,36,集成测试的模式,渐增式测试模式与非渐增式测试模式非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。各自的优缺点,37,渐增式测试模式需要编写的软件较多,工作量较大,而非渐增式测试模式开销小。渐增式测试模式发现模块间的接口错误早;而非渐增式测试模式晚。非渐增式测试模式发现错误,较难诊断;而使用渐增式测试模式,如果发生错误则往往和最近加进来的那个模块有关。渐增式测试模式测试更彻底。渐增式测试模式需要较多的机器时间。使用非渐增式测试模式,可以并行测试。,优缺点,38,大棒集成方法(Big-bangIntegration),采用大棒集成方法,先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试。,因为所有的模块一次集成的,所以很难确定出错的真正位置、所在的模块、错误的原因。这种方法并不推荐在任何系统中使用,适合在规模较小的应用系统中使用。,39,自顶向下和自底向上集成方法,40,自顶向下法(Top-downIntegration),自顶向下法的主要优缺点,41,优缺点:优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够在早期发现上层模块的接口错误。缺点:需要桩程序,可能遇到于此想联系的测试困难,低层关键模块中的错误发现的比较晚,而且用这种方法在早期不能充分开展人力。,42,自底向上法Bottom-upIntegration,自底向上法的主要优缺点,43,优缺点:与自顶向下模式刚好相反,44,三明治集成方法(SandwichIntegration),采用三明治方法的优点是:它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。采用这种方法的主要缺点是:在真正集成之前每一个独立的模块没有完全测试过。,45,改善的三明治集成方法,改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模块得到单独的测试,使测试进行得比较彻底。,46,几种集成方法性能的比较,47,系统测试,系统测试:将经过集成测试后的软件,作为计算机系统的一部分,与计算机硬件、某些支持软件、数据和平台等系统元素结合起来,在真实运行环境下对计算机系统进行一系列的严格有效的测试来发现软件的潜在问题,保证系统的正常运行。目的:充分运行系统,验证整个系统是否满足功能和非功能性的质量需求。非功能性测试是系统测试中更为关键的任务!,48,回归测试的目的所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;不影响软件原有功能的正确性。,6.2回归测试,一旦程序某些区域被修改了,就可能影响其它区域,导致受影响的区域出现新的缺陷(回归缺陷)。如果这时没有回归测试,产品就带着这样的回归缺陷被发布出去了,造成严重后果。回归测试就是为了发现回归缺陷而进行的测试。,49,什么是性能测试?,性能测试(performancetest)就是为了发现系统性能问题或获取系统性能相关指标而进行的测试。一般在真实环境、特定负载条件下,通过工具模拟实际软件系统的运行及其操作,同时监控性能各项指标,最后对测试结果进行分析来确定系统的性能状况。,50,性能测试目标PerformanceTesting,获取系统性能某些指标数据为了验证系统是否达到用户提出的性能指标发现系统中存在的性能瓶颈,优化系统的性能,51,压力/负载测试,压力测试(Stresstest),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。,52,两种负载类型,“Flat”测试:对于一次给定的测试,应该取响应时间和吞吐量的平均值。精确地获得这些值的唯一方法是一次加载所有的用户,然后在预定的时间段内持续运行。,虚拟用户的数量,53,两种负载类型,Ramp-up测试:用户是交错上升的(每几秒增加一些新用户)。ramp-up测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在不断地变化。其优点是,可以看出随着系统负载的改变,测量值是如何改变的据此选择要运行的flat测试的范围。,54,安全性测试,想方设法截取或破译口令;专门开发软件来破坏系统的保护机制;故意导致系统失败,企图趁恢复之机非法进入;试图通过浏览非保密数据,推导所需信息等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值,此时非法侵入者已无利可图。,软件安全性测试就是检验系统权限设置有效性、防范非法入侵的能力、数据备份和恢复能力等,设法找出上述各种安全性漏洞,55,功能性测试vs.安全性测试,功能性测试:软件做它应该做的事,验证正确的输出不正确的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年全球及中国DNA和RNA聚合酶行业头部企业市场占有率及排名调研报告
- 建筑围栏板行业深度研究分析报告(2024-2030版)
- 中国新能源环卫车行业发展监测及投资战略研究报告
- 建筑材料买卖合同
- 迪庆茶饮培训教程课件
- 2024-2030年中国烟草零售行业发展监测及投资战略研究报告
- 2025年中国镍氢矿灯行业市场全景评估及发展前景预测报告
- 2025年中国喷砂胶管行业发展前景预测及投资战略咨询报告
- 2025年中国批墙网行业市场发展前景及发展趋势与投资战略研究报告
- 机电输送机培训课件
- YY∕T 1797-2021 内窥镜手术器械 腔镜切割吻合器及组件
- 智慧停车技术方案
- 土地整理质量评定表
- 肠内肠外营养制剂及特点
- 排球练习方法
- 【告知牌】某公司全套重大危险源告知牌(7页)
- 中考数学复习专题二方程与不等式
- 大隐静脉曲张护理查房精选幻灯片
- 供应商管理库存VMI的实施
- 色彩构成大学课件必看.ppt
- 公司“师带徒”实施方案
评论
0/150
提交评论