软件测试方法和技术.ppt课件.ppt

上传人(卖家):三亚风情 文档编号:3482717 上传时间:2022-09-05 格式:PPT 页数:87 大小:532.01KB
下载 相关 举报
软件测试方法和技术.ppt课件.ppt_第1页
第1页 / 共87页
软件测试方法和技术.ppt课件.ppt_第2页
第2页 / 共87页
软件测试方法和技术.ppt课件.ppt_第3页
第3页 / 共87页
软件测试方法和技术.ppt课件.ppt_第4页
第4页 / 共87页
软件测试方法和技术.ppt课件.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

1、软件缺陷的主要类型软件缺陷的主要类型/现象:现象:p 功能、特性没有实现或部分实现p 设计不合理,存在缺陷p 实际结果和预期结果不一致p 运行出错,包括运行中断、系统崩溃、界面混乱p 数据结果不正确、精度不够p 用户不能接受的其他问题,如存取时间过长、界面不美观 其他其他10%软件产品说明软件产品说明书(需求)书(需求)56%编写代码编写代码7%设计设计27%n发现软件缺陷n发现软件缺陷,尽可能早一些n发现软件缺陷,尽可能早一些,并确保其得以修复图1-2 完整的开发流程项目规划项目规划项目需求分析项目需求分析项目概要分析项目概要分析项目详细分析项目详细分析代码编写代码编写测试代码编写测试代码编

2、写测试需求分析测试需求分析系统测试计划系统测试计划集成测试计划集成测试计划单元测试计划单元测试计划产品发布产品发布系统测试系统测试集成测试集成测试单元测试单元测试图1-3 软件缺陷在不同阶段发现时修复的费用示意图0 02020404060608080100100编制说明书编制说明书设计阶段设计阶段编写代码编写代码测试测试发布发布软件测试技术 按照软件测试用例的设计方法而论,软件测试可分为白盒测试法和黑盒测试法;按照软件测试是否执行程序而论,软件测试又可以分为静态测试和动态测试;按照软件设计方法是否采用面向对象设计技术而论,软件测试又可以分为传统测试方法和面向对象测试方法;按照网络环境下C/S应

3、用结构的特定环境而论,软件测试又有其相应的方法。这些都是软件测试具体的测试方法。1.2.4 软件测试技术概要集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如数据穿过接口时可能丢失;一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。功能测试 是基于产品功能说明书,是在已知产品所具有的功能,从用户角度来进行功能验证,以确认每个功能是否能正常使用。确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已

4、经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。验收测试 验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。经验收后,将软件提交用户。图1-4 获得软件产品的

5、工作示意图产品说明书、产品审查、设计文档、进度计划、上一版本信息反馈、商业竞争产品说明书、产品审查、设计文档、进度计划、上一版本信息反馈、商业竞争对手的同类软件产品情况、客户调查、易用性数据、观察与感受说明书对手的同类软件产品情况、客户调查、易用性数据、观察与感受说明书开发过程开发过程7、软件产品组成部分(1)程序代码 (2)帮助文件 (3)用户手册(4)样本和示例 (5)标签 6)产品支持信息(7)图表和标志 (8)错误信息 (9)广告与宣传材料(10)软件的安装(11)软件说明文件(12)测试错误提示信息 图1-5 软件开发基本过程需求分析:根据客户的要求,清楚了解客户需求中的产品功 能、

6、特性、性能、界面和具体规格等,然后进行 分析,确定软件产品所能达到的目标。设计:根据需求分析的结果,考虑如何在逻辑、程序上去实 现所定义的产品功能、特性等,可以分为概要设计和 详细设计,也可分为数据结构设计、软件体系结构设 计、应用接口设计、模块设计、界面设计等。编程:将设计转换成计算机可读的形式。测试:对设计、编程进行验证和用户需求确认的过程。维护:维持软件运行,修改软件缺陷、增强已有功能、增加 功能、升级等。瀑布模式是将软件生命周期的各项活动,规定为按照固定顺序相连的若干个阶段性工作,形如瀑布流水,最终得到软件产品。优点:易于理解;调研开发的阶段性;强调早期计划及需求调查;确定何时能够交付

7、产品及何时进行评审与测试。缺点:需求调查分析只进行一次,不能适应需求变化;顺序的开发流程,使得开发中的经验教训不能反馈到该项目的开发中去;不能反映出软件开发过程的反复与迭代性;没有包含任何类型的风险评估;开发中出现的问题直到开发后期才能够显露,因此失去及早纠正的机会。问题定义分析研究需求分析软件设计编码测试维护定义阶段开发阶段维护阶段需求分析原型开发原型评价最终设计系统实现用户反馈图1-6 快速原型开发模式快速应用开发(RAD)模型(P6)图1-7 RAD开发模式V模型(P7)图1-8 V型开发模式图1-9 螺旋开发模式详细设计风险分析评估方案累计成本提交线制定计划原型1原型2原型3可运行原型

8、风险分析风险分析需求计划开发计划集成与测试软件需求软件产品设计需求确定设计确定实现编码单元测试集成测试验收测试图1-10 软件分阶段开发示意图增量开发增量开发迭代开发迭代开发图1-11 软件分阶段增量和迭代示意图1、对于软件缺陷的精确定义,通常有下列5条描述:软件未达到产品说明书的功能软件出现了产品说明书指明不会出现的错误软件功能超出产品说明书指明范围软件未达到产品说明书虽未指出但应达到的目标软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好2、软件缺陷第一大原因就是软件产品规格说明书,第二大原因是软件设计,第三个原因才是编写代码和其它原因;前两个原因至少占了 80%以上。3

9、、软件测试的定义:软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题与用户需求、预先定义的不一致性。4、软件测试要经过单元测试、集成测试、确认测试、系统测试和验收测试。软件质量就是客户的满意度软件质量就是客户的满意度软件缺陷软件缺陷(Bug)是什么是什么软件测试的基本方法软件测试的基本方法-白盒/黑盒,静态/动态,自动化/手工,软件测试的分类和阶段软件测试的分类和阶段-单元、集成、系统(性能、适用性、兼容性)、验收测试软件测试的工作范畴软件测试的工作范畴-策略、计划、设计、执行、报告、评估软件开发的模型软

10、件开发的模型软件质量就是客户的满意度软件质量就是客户的满意度软件缺陷软件缺陷(Bug)是什么是什么软件测试的基本方法软件测试的基本方法-白盒/黑盒,静态/动态,自动化/手工,软件测试的分类和阶段软件测试的分类和阶段-单元、集成、系统(性能、适用性、兼容性)、验收测试1、测试策略的概念、测试策略的概念测试策略通常是描述测试工程的总体方法和目标。描述测试策略通常是描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(如单元测试、集成测试、目前在进行哪一阶段的测试(如单元测试、集成测试、系统测试)以及每个阶段内进行的测试种类(如功能测系统测试)以及每个阶段内进行的测试种类(如功能测试、性能测试

11、、压力测试等),以确定合理的测试方案试、性能测试、压力测试等),以确定合理的测试方案使得测试更有效。使得测试更有效。2、影响测试策略的因素、影响测试策略的因素测试完成的标准测试完成的标准标准的高低对策略确定有着重要的影响。比如该软件的应该用场合为军用,这将对软件的可靠性、安全性要求非常高,但如果是用于小型商场的收费系统由于是内部使用,主要考虑其计算的准确与精度及复杂统计与报表生成等方面准确性与易用性。资源状况资源状况参与测试的人、测试中所需要的软件平台(如操作系统甚至会涉及到第三方的一些应用软件)及测试可能用到的相关硬件设备(如计算机,网络硬件其它外设等)3、制定测试策略全面细致地了解产品的项

12、目信息全面细致地了解产品的项目信息:应用领域,测试范围,市场需求,产品的特点和主要功能,技术架构p 基于模块、功能、整体、系统、版本、压力、性能、配置和安装等各个因素对产品的影响因素对产品的影响,公正客观地开展测试计划公正客观地开展测试计划p 根据程序的重要性和一旦发生故障将造成的损失,来确定它的测试测试等级和测试重点等级和测试重点p 认真研究测试策略,以便能使用尽可能少的有效测试用例用尽可能少的有效测试用例,发现尽发现尽可能多的程序错误可能多的程序错误,因为一次完整的软件测试过后,如果程序中遗漏的错误过多并且很严重,则表明本次测试是失败的,是不足的;而测试不足意味着让用户承担隐藏错误带来的危

13、险.同时反过来说,如果过度测试,则又会浪费许多宝贵的资源.找到一个最佳平衡点。通过通过/失败的标准失败的标准项目经理和测试组长已经全部按计划到位?所有相关的信息已经传达到QA?QA.开始了测试设计?需求阶段设计审查所有设计中及文档中的问题都已经被解决?技术设计和测试设计已经结束?最高优先级的功能要求已经实现?新功能已经实现?所有的功能是按照设计来实现的?代码完成?功能验证确认测试回归测试完成与否?是不是完全按测试计划完成了所有的测试?没有严重的缺陷?达到产品发布的标准?测试环境的检查?所有严重问题是不是都已测出?功能测试,压力测试,安全测试,兼容性测试,易用性测试是否都已完成?有没有阻碍产品发

14、布的缺陷?系统测试测试计划制定的第一步就是将软件分解较小而且相对独立的功能模块,写成测试需求。测试需求有很多分类方法,最普通的一种就是按照功能分类:p 测试需求是测试设计和开发测试用例的基础,分解功能模块可以更好地进行设计;p 详细的测试需求是用来衡量测试覆盖率的重要指标;p 测试需求包括各种测试实际和开发以及所需资源。一个测试计划应包括:产品基本情况、测试需求说明、测试策略和记录、测试资源配置、计划表、问题跟踪报告、测试计划的评审、结果等。一个测试计划应包括:产品基本情况、测试需求说明、测试策略和记录、测试资源配置、计划表、问题跟踪报告、测试计划的评审、结果等。1、制定计划n本阶段的主要工作

15、内容 对需求规格说明书的仔细研究 将要测试的产品分解成可独立测试的单元 为每个测试单元确定采用的测试技术 为测试的下一个阶段及其活动制定计划n制定计划包括:(1)概要测试计划 (2)详细测试计划制定测试计划制定测试计划(续)(续)2、测试用例 测试用例是软件测试的依据,包括测试项目、测试步骤、测试完成的标准。n测试用例的本质 从测试的角度对被测对象的功能和各种特性的细化和展开。n测试用例的好处 保证测试功能不被遗漏,也不被重复测试 合理安排测试人员 使得软件测试不依赖于个人制定测试计划制定测试计划(续)(续)软件测试报告 软件测试报告是软件测试过程中最重要的文档,它的内容包括:n记录问题发生的

16、环境 如:各种资源的配置情况n记录问题的再现步骤n记录问题性质的说明n记录问题的处理进程 问题处理进程从一定角度上反映测试的进程和被测软件的质量状况以及改善过程。测试计划标准格式测试计划标准格式-11.Test plan identifier(测试计划标识(测试计划标识)2.Instruction(引言)引言)3.Test Items (定义或主题词(定义或主题词)4.Features to be tested (需要被测试的功能(需要被测试的功能)5.Features not to be tested(无需被测试的功能无需被测试的功能)6.Approach(方法和途径)方法和途径)7.Ite

17、ms pass/fail criteria(测试通过、失败的标准(测试通过、失败的标准)8.Suspension criteria and resumption requirements(延迟的标准和(延迟的标准和再恢复的要求再恢复的要求)9.Test deliverables(测试交付的内容测试交付的内容)10.Testing Tasks(测试任务测试任务components11.Environmental1.4.3 测试执行过程测试执行过程1、测试执行过程的三个阶段(1)初测期 测试主要功能和关键的执行路径,排除主要障碍。(2)细测期 依据测试计划和测试用例、测试用例,逐一测试大大小小的功

18、能、方方面面的特性、性能、用户界面、兼容性、可用性等等;预期可发现大量不同性质、不同严重程度的错误和问题。(3)回归测试期 系统已达到稳定,在一轮测试中发现的错误已十分有限;复查已知错误的纠正情况,确认未引发任何新的错误时,终结回归测试。初测期初测期功能冻结功能冻结代码冻结代码冻结回归测试期回归测试期细测期细测期0 020204040606080801001001201201401401601601 12 23 34 45 56 67 78 89 91010 1111 1212 1313 1414 1515 1616 1717 1818 1919出错数出错数时间时间图1-15 三个测试期阶段图

19、示测试执行过程测试执行过程(续)(续)2、集成测试过程中的两个重要里程碑 在集成测试过程中的两个重要的里程碑是功能冻结和功能冻结和代码冻结的确定代码冻结的确定。这两个里程碑界定出回归测试期的起止界限。n功能冻结(Function/Feature Freeze)经过测试,符合设计要求,确认系统功能和其他特性均不再做任何改变。n代码冻结(Code Freeze)理论上,在无错误时冻结程序代码,但实际上,代码冻结只标志系统的当前版本的质量已达到预期的要求,冻结程序的源代码,不再对其做任何修改。这个里程碑是设置在软件通过最终回归测试之后。1.5.1 软件质量保证(SQA)SQA 概述SQA 活动SQS

20、 与软件测试的关系什么是什么是 SQA?p确保确保SQA活动要自始至有计划的进行活动要自始至有计划的进行p审查软件产品和活动是否遵守适用的标准、规程和要求并得审查软件产品和活动是否遵守适用的标准、规程和要求并得到客观验证。到客观验证。pSQA的活动和结果要保证全员参与,沟通顺畅。的活动和结果要保证全员参与,沟通顺畅。p逐级解决不符合问题逐级解决不符合问题SQAp提出软件质量需求p确定开发方案p阶段审p测试管理p文挡化管理p验证产品与相应文挡和标准一致p建立测量机制p记录并生成报告SQA活动的影响因素活动的影响因素SQA与软件测试的关系与软件测试的关系nSQA 是管理工作、审查对象是流程、强调以

21、预防为主n测试测试是技术工作、测试对象是产品、主要是以事后检查nSQA指导测试、监控测试n测试为SQA提供依据 优化级(优化级(5)已管理级(已管理级(4)已定义级(已定义级(3)可重复级(可重复级(2)初始级(初始级(1)标准一致标准一致 的过程的过程 不断改不断改 进过程进过程 可预测可预测 的过程的过程 有纪律有纪律 的过程的过程图1-16 软件过程成熟度的5个等级1.5.4建立软件测试管理和评判体系建立软件测试管理和评判体系测试管理与评判的必要性测试管理与评判的必要性软件测试的管理和评判体系发展现状软件测试的管理和评判体系发展现状如何建立测试管理与评判体系如何建立测试管理与评判体系 为

22、什么要建立管理与评判体系为什么要建立管理与评判体系?n监视和测量软件产品 n识别和控制不符合要求的产品n验证产品设计和开发 n监视和测量软件过程测试管理和评判体系发展现状测试管理和评判体系发展现状n美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件发布后的维护费用越低。另外,根据对国际著名IT企业的统计,它们的软件测试费用占整个软件工程所有研发费用的50%以上。n中国软件企业在软件测试方面与国际水准仍存在较大差距。首先,认识上重开发、轻测试,没有认识

23、到软件项目的如期完成不仅取决于开发人员,更取决于测试人员;其次,管理上随意、简单,没有建立有效、规范的软件测试管理和评判体系;另外,缺少自动化工具的支持,大多数企业在软件测试时并没有建立软件测试管理与评判体系。如何建立测试管理与评判体系如何建立测试管理与评判体系测试规划测试规划资源管理资源管理测试设计测试设计测试实施测试实施配置管理配置管理测试管理测试管理确定目标和策略确定测试方案及用例执行用例测试配置管理资源综合调配与管理对以上过程综合管理1、软件测试人员的合理比例在软件产业发达的国家:n软件测试在人员配备和资金投入方面占据相当的比重。n微软为打造Windows2000,1700多个开发人员

24、,以及3200个测试人员,开发和测试人员之比约为三比五。nHP公司的测试人员和开发人员的比例为一比一,这是很 多先进软件企业通常的人员配比。在国内:n企业往往忽视软件测试,很多企业都没有软件测试部门,甚至不设置软件测试的岗位,造成产品质量得不到保证。n测试人员大都不到开发人员的5%,随着产业和企业的发展,企业必然需要大量的测试人员。n软件测试人才需求快速增长,体现在:(1)中国软件产业正在快速增长,需要大量软件相关人才;(2)软件企业的发展要求测试人才达到一个合适的比例。n近一两年软件企业开始认识到软件测试对于提高软件质量的重要性,开始重视软件测试,但由于历史的原因,找不到合适的软件测试人员。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件测试方法和技术.ppt课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|