您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 51testing软件测试培训笔记
第一阶段考试重点归纳1第一章测试基础1.软件测试的目的:证明(表达软件能够工作)→检测(发现错误)→预防(管理质量)2.测试执行:单元测试(UT执行):一个测试用例的测试执行;集成测试(IT执行):一个测试用例集的测试执行;系统测试(ST执行):不同测试阶段的测试执行。3.测试用例(TestCase):指对一项特定的软件产品测试任务的描述,体现测试方案、方法、技术和策略。4.测试和调试的区别:测试调试目的找出存在的错误定位错误,修改程序以修正错误对象文档,代码代码流程有特定流程,有计划性无特定流程,不可设计,无计划性条件从已知条件开始,用预定义过程,有预知结果从未知条件开始,结束过程不可预计5.回归测试的目的:a.验证错误是否修复;b.检测对代码的修改是否引入了新的错误。6.软件测试的主要工作:a.检视代码,评审开发文档;b.进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c.执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d.通过测试度量软件质量。7.软件危机的出现主要表现在:a.由于缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定;b.开发早期需求分析不够明确,造成开发后期矛盾集中暴露;c.不遵循开发规范,开发文档不完整,软件难以维护;d.缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。8.软件危机的后果:a.软件质量不高,很难稳定;b.软件项目延期,进度无法控制;c.成本增加,无法控制预算。9.软件危机的根源:a.根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高;b.软件系统复杂性提高,需多人合作;c.软件开发是人的智力活动,无法用已有的产业工程方法第一阶段考试重点归纳2来组织管理。10.软件生命周期的各个阶段:计划→需求分析→设计→编码→测试→运行→评价11.设计:概要设计(HLD):在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;详细设计(LLD):对每个模块要完成的工作进行具体的描述。12.软件研发三要素:人员、过程、工具13.软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置管理人员、SQA(质量保证人员)14.软件研发流程类型:瀑布模型:无风险控制能力,适合需求变化较小的情况。螺旋模型:基于风险管理的模型,高风险的优先考虑,对风险管理人员的要求较高。RVP流程:面向对象的,通用的(4大阶段,6大工作流,8项迭代)。特点:1)基于风险2)用例集驱动3)以架构为中心4)迭代和增量IPD流程:1)产品结构重整(资源重整)2)公共模块共用15.软件研发中几个重要的过程:需求管理、配置管理、缺陷管理、同行评审。16.常见的引入缺陷的原因:a.开发过程缺乏有效的沟通,或者没有进行沟通;b.软件复杂度越来越高;c.编程中产生错误;d.需求不断变更;e.项目进度的压力;f.不重视开发文档;g.软件开发工具本身隐藏的问题。等等……17.缺陷类型:遗漏、错误、额外的实现。第一阶段考试重点归纳3第二章软件质量1、软件质量的定义:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。而质量就是实体基于这些特性满足需求的程度。2、软件质量的三个层次:a.符合需求规格;b.符合用户显示需求;c.符合用户实际需求。3、影响软件质量的因素:流程、技术、组织。流程:一组活动(活动是否都是必须的,活动角色之间的关系)。过程:一组将输入转化为输出的相关联或相互作用的活动。4、八项质量管理原则:a.以顾客为中心;b.领导作用;c.全员参与;d.过程方法;e.管理的系统方法;f.持续改进;g.基于事实的决策方法;h.互利的供方关系。5、八项质量管理原则的意义:a.是质量管理的理论基础;b.用高度概括易于理解的语言所表述的质量管理的最基本,最通用的一般性规律;c.为组织建立质量管理体系提供了理论依据;d.是组织的领导者有效的实施质量管理工作必须遵循的原则。6、CMM1:初始级,Inltial,不可预测并且缺乏控制;CMM2:可重复级:Repeatable,可重复以前的主要经验;(关键过程区域:需求管理;软件项目计划;软件项目跟踪和监督;软件子合同管理;软件质量保证;软件配置管理。)CMM3:已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程焦点;培训大纲;集成软件管理;软件产品工程;组际协调;同行评审。)CMM4:已管理级:Managed,过程被测量并受控;(关键过程区域:定量的过程管理;软件质量管理。)CMM5:优化级,Optimizing,关注过程改进。(关键过程区域:缺陷预防;技术变更管理;过程变更管理。)7、CMM的用途:a.评估组用来识别组织中的强处和弱处;b.评价组用来识别选择不同的业务承包商的风险和监督合同;c.管理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需进行的活动;d.技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。第一阶段考试重点归纳48、ISO9001和CMM的关系:相似点:强调管理、过程、规范化和文档化;不同点:CMM把焦点对准软件;ISO9001的范围包括:硬件、软件、流程性材料和服务;两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关。9、六西格玛的实施方式:Define:定义----提出问题,确定目标Measure:测量----收集资料,寻找原因Analyse:分析----研究资料,确定原因Improve:改进----优化解决方案Control:控制----推行控制系统10、软件质量模型:功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。包括:适合性;准确性;互操作性;保密安全性;功能性的依从性。可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。包括:成熟性;容错性;易恢复性;可靠性的依从性。易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包括:时间特性;资源利用性;效率依从性。维护性:软件产品可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应。包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。可移植性:软件产品从一种环境迁移到另外一种环境的能力。包括:适应性;易安装性;共存性;易替换性;可移植性的依从性。11、SQA与测试的关系:测试从技术的角度来保证软件质量SQA从流程的角度保障软件质量组织用来保障SQA和测试的活动12、SQA的主要工作范围:·指导并监督项目按照过程实施;·对项目进行度量、分析,增加项目的可视性;·审核工作产品,评价工作产品和过程质量目标的复合度;·进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进。13、度量:对事物属性的量化表示;软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量。目的:·提高软件生产率,缩短产品研发周期,降低研发成本、维护成本;第一阶段考试重点归纳5·提高软件产品质量,提高用户满意度;·为组织持续改进提供量化的指标和反馈。14、软件度量的作用:1)理解;预测;评估;改进。2)分类:规模;工作量;进度;质量15、如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础a.熟悉需求:进度、工作量、规模;b.设计用例:工作效率、覆盖率;c.执行用例:工作效率、缺陷密度;)第一阶段考试重点归纳6第三章测试方法1、什么是白盒测试:·白盒测试是依据被测软件,分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况;·白盒测试是基于程序结构的逻辑驱动测试;·白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。2、为什么进行白盒测试:·一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问、难题能基本得到消除;·能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证;·发现问题后解决问题的成本较低。3、白盒测试的常用技术:·静态分析:控制流分析、数据流分析、信息流分析等;·动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。4、控制流相关概念:程序元素、控制流关系、控制流图、控制流矩阵。(步骤:5)5、控制流分析能发现的问题:1)转向并不存在的标号;2)没有用的语句标号;3)从程序入口进入后无法达到的语句;4)不能达到停机语句的语句。6、数据流相关概念:数据的定义;数据的引用。(步骤:3)7、数据流分析的作用:分析代码中关于数据定义和引用方面的错误;进行代码优化。(赋值语句运算效率高)8、信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管理。(步骤:4)9、覆盖率工具的作用:·分析被测试代码控制结构,决定插装位置;·实施插装;·将插装代码重新编译;·执行被测对象,根据插装的监控哨信息统计覆盖率。10、白盒测试的特点:·测试人员需要了解软件的实现;·可以检测代码中的每条分支和路径;第一阶段考试重点归纳7·揭示隐藏在代码中的错误;·对代码的测试比较彻底;·实现代码结构上的优化;·白盒测试投入较大,成本高;·白盒测试不验证规格的正确性。11、什么是黑盒测试:·黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现;·黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。·黑盒测试又可以被称为基于规格的测试。12、常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。13、常见的黑盒测试方法:等价类、边界值、因果图、判定表、状态迁移、正交分解、错误猜测、输入/输出域覆盖、14、系统测试的时候,如果没有SRS时,有两类BUG无法发现:1)需求遗漏;2)需求偏差15、黑盒测试的优点:·对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高;·测试人员不需要了解实现的细节,包括特定的编程语言;·从用户的视角进行测试,很容易被大家理解和接受;·有助于暴露任何规格不一致或有歧义的问题。16、黑盒测试的缺点:·没有清晰的和简明的规格,测试用例很难设计;·不能控制内部执行路径,会有很多内部程序路径没有被测试到;·不能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)。17、动态和静态测试的分类依据在于:被测对象是否运行起来。18、手工静态分析——同行评审:正规检视;技术评审;走查。评审对象:计划、需求文档、设计图、代码等。19、自动化静态分析:静态验证;语法分析器;符号执行器。20、自动化测试应该考虑的因素:1)测试进度要求2)人力资源要求3)版本稳定度4)版本应用情况5)可自动化率6)版本规模21、自动化测试的误区:1)自动化不能取代手工测试。第一阶段考试重点归纳82)手工测试都做不好,或者经验积累不够,就尝试自动化,很难成功。3)自动化只能保证测试执行效率,确保已有的问题不会再发生,自动化测试不能发现大量新缺陷。4)进行了自动化测试的软件不一定就是安全的,质量有保证的。所以手工测试是自动化测试的一个基础22、自动化五大等级:1)录制和回放2)脚本3)自动化框架脚本4)数据驱动5)关键字驱动自动化测试的限制(板书):·自动化测试不具备想象力,不能够检查脚本中给定的观察点之外的错误;·自动化测试只能提高测试效率,不能提高测试效果,不能发现比人工测试更多的问题;如被测对象不稳定,存在变动性的话不适合开展自动化测试,否则脚本的编写和维护所耗费的时间可能远大于人工测试;·只有手工测试积累到一定程度(提供更多的观察点),才能做好自动化测试。第一阶段考试重点归纳9第四章测试过程1、各阶段测试的目的:1)单元测试:检测
本文标题:51testing软件测试培训笔记
链接地址:https://www.777doc.com/doc-956350 .html