软件测试理论_第1页
软件测试理论_第2页
软件测试理论_第3页
软件测试理论_第4页
软件测试理论_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章软件测试概述主要内容:软件测试的分类,软件测试产生的背景,软件测试的概念和意义,软件测试工程必备的基本素质。1.软件的概念软件是计算机系统中于硬件相互依存的另一部分,它是包含程序,文档和数据的完整集合。2.软件的特点软件是一种逻辑实体,不是具体的物理实体,具有抽象性。◊软件的产生与硬件的不同。软件的运行和使用没有机械的磨损和老化。软件的开发和运行对计算机系统有一定的依赖性。软件的开发目前还没有摆脱手工方式。软件是复杂的。软件成本是相当昂贵的。软件的分类按软件的功能划分系统软件:包括操作系统,系统使用工具支持软件:是协助用户开发软件的工具性软件。应用软件:在特定领域内开发,为特定目的服务的一类软件。按软件的技术特点划分业户管理软件:用于处理日常信息,如管理信息系统MIS,企业资源规划系统ERP,决策支持系统DSS,客户关系管理系统CRM科学计算软件:注重算法精度和速度用于研究领域。桌面软件:用于计算机视觉效果和设置。嵌入式软件:用于各种自动化,智能化的工业产品。个人计算机软件:各种常用的软件,如输入法,浏览器。人工智能软件:模仿人类逻辑判断能力的一种软件,如“深蓝”。按软件部署结果划分单机版软件:不需要与其他计算机交互的软件,如office。分布式软件:安装在多台计算机上进行协同工作的软件,可以进一步划分为:c/s结果软件和b/s结果软件。软件测试的概念,意义和目的4.1软件测试的概念◊ 美国电子电器工程师协会(IEEE)给软件测试的定义:使用人工或自动的手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差距。人工或自动的手段:说明了实现测试的两种途径,即手工测试即自动化测试。运行或测试:说明了现实测试的两种策略,即动态测试和静态测试。满足规定的需求:即满足客户对产品的需求。预期结果与实际结果:即通过分析得到软件的预期结果和运行程序得到的实际结果进行对比,查找它们的差异。4.2软件测试的意义保证发布出去的产品达到一定的质量标准无论对于用户还开发商来说经过测试过得软件都是一件极其重要和有意义的事。4.3软件测试的目的通过分析错误的原因可以帮助管理者发现当前采用的软件过程的问题,以便改进软件的过程通过对被测软件业务的深入了解,对产品的改进提出有意义的建议。验证产品符合质量标准,确保产品是健壮的和适应用户环境的。软件测试工程师必备的基本素质◊正确高效的沟通能力◊超强的责任心◊坚持原则◊懂得尊重有较全面的技术知识软件测试工程师必备的技能测试专业技能软件编程技能网络,操作系统,数据库,中间件等知识第二章识别缺陷主要内容:缺陷的基本概念,缺陷产生的原因,重现缺陷的方法,有效地记录缺陷缺陷的识别缺陷的基本概念缺陷就是人们所说的bug。严格上来说缺陷和bug是有区别的。缺陷:任何背离需求或无法正确完成用户所需求的功能性问题,因异常条件不支持而导致系统的失败等都属于缺陷。Bug:通常指程编码上的错误。缺陷产生的原因人员之间的沟通交流不够。程序设计本身有问题。软件的复杂性。软件需求的不断变化。工期短,任务重,时间压力大。文档不完善。开发工具和系统软件的支持。1.3识别无效缺陷无效缺陷是指:测试工程师提交的缺陷并不是真正的缺陷,这样的缺陷是不会得到修改的。导致产生此原因有:测试环境搭配错误文档上没有明确产品需求需求理解错误缺陷重复1.4合法的无线缺陷开发人员认为技术上无法实现或对用户的使用不造成影响的缺陷,此缺陷可视为合法的无效缺陷,可不进行修改,直接关闭。重现和优化缺陷2.1不存在随机缺陷有一种缺陷,并不是很好的重现,最为典型的是内存泄露,往往在你发现时系统处在即将崩溃的状态,等你再次去找时却无法找到,所以有很多人说这是随机缺陷,其实没有所谓的随机缺陷,只是你没有找到重现它的正确方法而已。重现缺陷的方法和经验善于总结经验,逆向思维,换位思考对待问题,善于和别人共享经验,多动脑和手简化问题的步骤,弄清原因,总结教训检查系统日志,看有没有异常出现状态缺陷是否在特定的软件状态中暴露检查被测对象的版本信息,确认测试版本的正确性检查网络配置是否与客户环境一致检查软件测试环境和数据库配置,是否有异于开发环境借助于别的工具检查硬件是否有差异有效的记录缺陷完整的缺陷报告简单描述:用一句话简单的描述清楚问题详细的描述相关附件缺陷原因分析缺陷报告的准则缺陷报告方便易读◊统一缺陷严重度◊一个缺陷一个报告◊报告小缺陷◊及时报告缺陷缺陷报告示例:简单描述:字处理过程中,进行插入数字或者插入符号时,系统崩溃。详细描述:1.软件测试环境为Windows20032•启动Boffice软件,然后创建新文档插入一行文本,当鼠标变成了漏斗状时,进行插入数字或插入符号任一操作系统崩溃相关附件:--附件1:系统崩溃的画面缺陷原因分析:--初步分析与自动存盘有关系,因为在鼠标变成漏斗时,软件正在进行自动存盘操作第三章管理缺陷报告主要内容:缺陷报告的用途,缺陷报告的分类,缺陷报告的处理流程,缺陷跟踪系统缺陷报告的概念和用途缺陷报告的概念:是将缺陷记录下来,提交给相应的开发人员去修改,其中最重要的用途是避免口头交流引发的缺陷丢失现象。缺陷报告的用途:记录缺陷,缺陷分类,缺陷跟踪,缺陷统计缺陷报告的分类按缺陷所属模块分类◊按缺陷严重程度分类:致命,严重,一般,小错误按缺陷优先级分类:立即修复的,产品发布之前必须修复的问题,时间允许时修复按缺陷引入原因分类:新功能开发,代代码修改,新的需求按缺陷复现率分类:100%复现,50%复现,10%复现

NYYNYYY确认确认?检验通过?不是缺陷?重复缺陷?推迟修改?3.缺陷报告处理流程推迟提交缺陷打开缺陷 *指定期限重新打开缺陷置为无效缺陷关闭该缺陷修复缺陷分配缺陷NYYNYYY确认确认?检验通过?不是缺陷?重复缺陷?推迟修改?3.缺陷报告处理流程推迟提交缺陷打开缺陷 *指定期限重新打开缺陷置为无效缺陷关闭该缺陷修复缺陷分配缺陷测试开发测试2.1正常的处理流程◊测试人员提交缺陷报告◊分配给相应的开发人员开发人员处理缺陷测试人员验证缺陷已经修复关闭缺陷重复缺陷处理流程无效缺陷处理流程推迟缺陷处理流程验证不通过缺陷处理流程描述不清楚的缺陷处理流程缺陷报告的生命周期不同的处理流程有不同的生命周期,阐述时要按缺陷报告处理流程一个一个说明(共六个)第四章软件开发过程和测试流程主要内容:软件开发模型,软件测试的生命周期,软件测试流程,软件测试模型,软件测试阶段(会写驱动模块和桩模块)软件开发模型软件开发模型是指:软件开发的全部过程,活动和任务的结构框架。常见的软件开发模型有:瀑布模型,原型模型,螺旋模型,敏捷开发等软件开发的各项活动严格按照线性方式进行当前活动接受上一项活动的工作结果当前活动的工作结果需要进行验证◊瀑布模型的优缺点和适用的场合优点:软件的质量好。缺点:由于开发模型是线性的,增加了开发风险;早期的错误可能要等到开发后期的阶段才能发现适用的场合:项目小,需求明确1.2原型模型原型模型的特征实现客户与系统之间的相互交互进一步细化待开发软件的需求开发人员可以确认客户真正需要的是什么原型模型的缺点限制设计人员的思维

1.3螺旋模型凤险分析与测试編昶软件需求爼装测试单元测试斑险分析详细设计软件产品设计实施工程开发.验证下一产品[验收实现;测试提交线可运行原型风险分析、『一\矗1.3螺旋模型凤险分析与测试編昶软件需求爼装测试单元测试斑险分析详细设计软件产品设计实施工程开发.验证下一产品[验收实现;测试提交线可运行原型风险分析、『一\矗H陳型上原型2客尸评估制定计划决定目标方案和眼制评审累计成本凤险分析评价方案识别风险滂除风险◊螺旋模型的特征将瀑布模型和快速原型模型结合起来强调了其他模型所忽视的风险分析每一次螺旋包括:制定计划,风险分析,实施工程,客户评价这四个步骤螺旋模型的优缺和适用的场合优点:客户一直参与评价,有风险分析,可以迭代缺点:强调风险分析,但要求许多客户接受并相信这种分析,是不容易的1.3敏捷开发模型敏捷开发模型的特征短周期开发■增量开发■通过口头沟通■编写代码之前先写测试代码敏捷开发模型的缺点■团队组建较难,人员素质要求较高■对测试人员要求完全掌握各种脚本语言编程,会单元测试软件测试的生命周期软件开发过程中,软件测试所做的全部工作可称为软件测试的生命周期即:测试计划 测试设计 测试实施 测试总结软件测试流程需求分析阶段 软件设计和编码阶段 集成,系统,验收阶段

软件测试模型4.1概念软件测试模型是反映测试活动与软件开发过程的关系。常见的软件测试模型有:V模型,W模型,H模型,X模型。4.2V模型表示传统的瀑布开发模型,右端表示测试过程4.3W模型在W模型中既强调了测试方案设计,也强调了测试执行需求分析需需则试篦统女装验收测试编码实现 单元测试

4.4H模型测试准备测试执行测试流程测试就绪其它流程(如设计,编码流程)4.4H模型测试准备测试执行测试流程测试就绪其它流程(如设计,编码流程)软件测试阶段单元测试集成测试系统测试补充:驱动:调用被测程序的模块桩:被测模块的调用模块写驱动模块:要有预期的结果,把调用方法的结果和预期结果进行对比,然后进行判断写桩模块:简单的模拟一个方法的内部实现,只给一个返回值。第五章系统测试与软件测试分类主要内容:系统测试;软件测试分类;公司的普遍测试流程1.系统测试1.1系统测试的概念是将通过集成测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件,外设,某些支持软件,数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖系统测试环境与开发环境系统测试环境要求尽可能的在实际环境下进行测试,实际环境与开发环境有很大的区别。系统测试的测试类型◊Web系统测试功能测试:根据产品的需求规格说明书来验证产品是否符合要求性能测试:验证产品是否满足需求中规定的性能,主要测试软件的处理事务速度,包括用户响应时间,系统响应时间,cpu的使用,内存的使用情况。安全测试:检查系统对非法入侵的防范能力兼容性测试:在服务器端主要检查系统能与哪些数据库,web服务器兼容;在客户端主要是指跨浏览器测试易用性测试:检查系统对于用户来说是否简单易用配置测试:检查计算机系统内各个设备或各种资源之间的相互连接和功能配置中的问题文档测试:检查系统文档的正确性,完备性和可理解性压力测试:检查系统在瞬间峰值负荷情况下正确执行的能力(性能测试的一种)负载测试:检查系统的能力最高能达到什么程度(性能测试的一种)◊通讯系统测试功能测试:同上性能测试:同上可靠性测试:检查系统在规定时间内的失效次数或无故障运行时间鉴权测试:检查系统的各项权限,确认授权及权限分配的正确性产品许可测试:检查系统能否识别和管理各种产品的许可证多终端测试:测试待连接的终端设备全部升级,系统是否正常单机版测试功能测试:同上安装测试:测试对系统的全部,部分升级安装/卸载的过程的测试容量测试:指使系统承受超额的数据量来发现系统能够处理的数据容量界面测试:窗口测试,下拉菜单测试等恢复测试:检查系统的错容能力,当系统出错时,能否在指定时间内修正错误并恢复到正常的工作状软件测试的分类(测试策略)按测试阶段分类Alpha测试:在公司内部组织的非正式测试Beta测试:在公司外部组织的非正式测试验收测试:软件产品正式交付用户使用前的最后一道工序,以用户为主的测试冒烟测试:在正式测试之前对软件的主要功能所做的通过测试,目的是检查是否存在阻断性bug按测试技术分类黑盒测试:检查程序各种外在表现是否符合要求(也叫功能测试,数据库驱动测试)是基于规格说明书的测试白盒测试:检查程序代码是否符合规范及逻辑是否正确(也叫结构测试,逻辑驱动测试)是基于程序本身的测试灰盒测试:介于黑盒和白盒之间,利用者两种测试的特征而进行的测试静态测试:不运行程序,对程序或文档进行分析与检查动态测试:运行程序,输入相应的测试用例,检查预期结果与实际结果的差异,判定实际结果是否符合要求>黑盒测试与白盒测试的关系和区别关系:都是测试方法,只做其中的一种测试是错的丄区别:从测试的依据来看:黑盒依据需求,白盒依据程序从关心的范围来看:黑盒看外部表现,白盒看内部表现从测试的人员来看:黑盒是测试人员来测,白盒是开发人员来测从测试阶段来看:黑盒在系统和验收测试,白盒在单元和集成测试按测试实施的组织分类开发商测试:指软件开发公司自己组织测试外包测试:指软件公司把一套成型的产品交给专门的测试组织进行测试,分为三种模式:现场测试,离岸外包,设立联合研发中心现场测试:是外包公司将测试团队放到软件公司内部测试离岸外包:软件公司将产品完全交给外包公司■设立联合研发中心:双方各出技术人员,成立研发中心按测试范围分类本地化测试国际化测试全球化测试公司的普遍测试流程◊需求分析◊画功能模块实现流程图根据开发人员确认后的流程图,开始编写测试用例大纲根据测试用例大纲设计测试用例◊测试用例分轮次执行第六章编写测试用例和测试计划主要内容:软件测试计划;软件测试方案;软件风险分析软件测试计划软件测试计划的简介◊测试计划概念:测试计划在测试中处于中心位置,它阐述了测试准备工作和执行测试的必要条件,同时也形成了测试过程质量保证的基础。◊测试计划的作用:组织和管理测试;使测试工作和整个开发工作整合起来;资源和变更事先最为一个可控制的风险。如何编写软件测试计划◊认识测试项目不仅仅只有单一测试计划避免不分析直接进行测试阶段日程安排避免测试任务的安排超前于开发任务◊避免有些系统测试类型无法按期进入测试◊不正确的变更测试计划◊测试计划里明确更新周期和暂停测试原则◊测试计划不是一成不变的测试计划包括:简介,目的,范围,测试策略,进度,缺陷的严重程度的定义,风险分析。软件测试方案软件测试方案的概念软件测试方案描述测试的特征,测试的方法,测试环境的规划,测试工具的设计和选择,测试用例的设计方法,测试代码的设计方案。即包括以下几点:◊明确测试策略(黑盒,白盒,灰盒等)◊细化测试特征◊测试用例的规划◊测试环境的规划◊自动化测试框架的设计◊测试工具的设计和选择软件测试计划于软件测试方案的区别◊测试计划是组织管理层面的文档。测试方案是技术层面的文档。测试方案需要在测试计划的指导下进行,测试计划提出“做什么”,测试方案明确“怎么做”回报的对象不同,测试计划向领导汇报,测试方案是组员共享该文档软件测试的风险软件需求风险人员的风险◊测试环境的风险◊测试工程师对产品的业务不熟悉补充:回归测试:把以前检查过的已经修复好的缺陷,拿来另测看有无带来新的缺陷反侧:把开发人员已经处理的缺陷拿来测,看是否修复第七章需求分析和评审主要内容:认识软件需求,掌握测试需求挖掘的技巧,会组织需求评审,会设计测试大纲1.软件需求软件产品需求在软件开发中是非常重要的1.2需求规格说明书软件需求规格说明书,简称SRS,指在特定环境下要完成一定功能的软件产品,程序或一组程序说明◊功能:软件要做什么外部接口:如何与人,系统硬件,外部硬件和软件交互性能:速度,响应时间,恢复时间属性:可移植性,可靠性,可维护性,可用性设计约束:标准,实现语言,资源限制,操作系统需求分类原始需求:客户所提出来的需求产品需求:产品设计人员根据原始需求,结合软件实现形成的需求软件需求:开发人员将产品需求进一步细化,合理化。原则上软件需求技术是可以完全实现的测试需求:软件需求的进一步细化需求规格说明书2.测试需求2.1测试需求的概念指可以直接形成测试大纲,设计测试用例的需求。也就是软件需求的进一步细化

2.2挖掘测试需求测试工程师看到软件需求文档时,应该在第一时间对需求按照可测试的角度进行需求挖掘。功能需求----输入方面:输入的来源,数量,输入错误的响应,非法输入,无效输入功能需求----处理方面:输入数据的有效性检查流程,操作的确切次序,对异常情况的回应功能需求 输出方面:输出到何处,数量,时序,对非法的处理性能需求方面:支持的铸锻数目,同时使用的用户数目,处理文件的数目,用户接方面:组合功能键的用法硬件接口方面:该功能运行支持哪些设备,软件产品和系统硬件之间的逻辑特征需求评审软件的需求评审输出输出评审表格输出软件需求规格说明书测试大纲进行测试需求挖掘和需求评审后,可将测试需求转化为测试大纲,测试需求以测试大纲的形式展现◊测试输入的正确性 测试处理的正确性>测述输入的正确性亠>测述输入的正确性亠♦测述合法虧据/关鍵亭曲书籍全椒「/关鍵字迪韦籍全称中的郡分文字屮♦测就措误舒据中/关鍵字为"空格+关饉字+空格"屮/关饉字为"关鏈字+全角"*/蛙鏈宇油超抵宇符"命测试菲;撼据#/关謹字为•符号或<html>符号小>测试处理的正隔性小测试正确处理过程』*测试异當处理过程4y数据库屋不存在数摘亠/谆数据库服务4W断网卩y网塔超时4◊测试显示的正确性◊测试显示的正确性测试工程师对产品的业务不熟悉界面UI>测试显示的正确性*>测试显示的正确性*“ 0条记录显示¥衣9条记录显不卩/ 10条记录显示*“ 11条记灵显示站*分页籬的测试"WWVXAAAXWVW*>界面UI+JT关键字的高亮显示d/书籍窑称和书籍简仲显示的正确性“/书曙简介超过两行文鳶P第八章总结报告与团队组织主要内容:测试总结报告,有效构建测试团队,测试文档的管理测试总结报告概述测试总结报告的意义测试总结报告是在测试结束之后对整个测试过程与产品进行的评估,包括对测试工作的总结,缺陷数量的分析及测试过程的评估。通过测试评估确定软件的各项指标是否满足测试标准的规定,验证应用程序是否合格软件测试总结报告的分类按照测试里程碑分:单元测试总结报告;集成测试总结报告;系统测试总结报告按照测试类型分类:安全性测试总结报告;性能测试总结报告;功能测试总结报告按照工作周期分类:测试日报;测试周报;测试完成确认报告测试总结报告的内容软件测试总结报告的构成(概述,测试情况,测试环境,测试结果,测试分析,测试遗留问题,测试评价)概述:被测对象,测试特征,指明本次测试所依据的测试计划,方案,用例,过程测试情况:测试时间,地点,测试人员,以及人员分工测试环境:硬件环境测试结果及缺陷分析:是报告的重点,按照缺陷的状态,严重级别,功能模块进行统计,以分布和趋势的形式进行图标分析和数据统计测试遗留问题:测试过程中发生的并且在提交测试报告时仍没有得到解决的问题测试评价:对缺陷修改和产品设计的建议有效的构建测试团队软件质量保证(SQA)软件质量控制(SQC)软件配置管理(SCM)组织测试团队直线型组织结构适用范围:公司产品单一优点:结构简单,责任与职权明确缺点:在组织规模大的情况下所有管理职能都集中由一个人承

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论