ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:160.38KB ,
资源ID:10196961      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10196961.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51testing软件测试培训笔记.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51testing软件测试培训笔记.docx

1、51testing软件测试培训笔记第一章 测试基础1. 软件测试的目的:证明(表达软件能够工作) 检测(发现错误) 预防(管理质量)2. 测试执行:单元测试(UT执行):一个测试用例的测试执行;集成测试(IT执行):一个测试用例集的测试执行;系统测试(ST执行):不同测试阶段的测试执行。3. 测试用例(Test Case):指对一项特定的软件产品测试任务的描述,体现测试方案、方法、技术和策略。4. 测试和调试的区别: 测试调试目的找出存在的错误定位错误,修改程序以修正错误对象文档,代码代码流程有特定流程,有计划性无特定流程,不可设计,无计划性条件从已知条件开始,用预定义过程,有预知结果从未知条

2、件开始,结束过程不可预计5. 回归测试的目的:a. 验证错误是否修复;b. 检测对代码的修改是否引入了新的错误。6. 软件测试的主要工作:a. 检视代码,评审开发文档;b. 进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c. 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d. 通过测试度量软件质量。7. 软件危机的出现主要表现在:a. 由于缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定;b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露;c. 不遵循开发规范,开发文档不完整,软件难以维护;d. 缺乏严密有效的软件质量检测手段,交付给用户的软

3、件质量差。8. 软件危机的后果:a. 软件质量不高,很难稳定;b. 软件项目延期,进度无法控制;c. 成本增加,无法控制预算。9. 软件危机的根源:a. 根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高;b. 软件系统复杂性提高,需多人合作;c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理。10. 软件生命周期的各个阶段:计划 需求分析 设计 编码 测试 运行 评价 11. 设计: 概要设计(HLD):在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;详细设计(LLD):对每个模块要完成的工作进行具体的描述。12. 软件研发三要素:人员、过程、工具13

4、. 软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置管理 人员、SQA(质量保证人员)14. 软件研发流程类型:瀑布模型:无风险控制能力,适合需求变化较小的情况。螺旋模型:基于风险管理的模型,高风险的优先考虑,对风险管理人员的要求较高。RVP流程:面向对象的,通用的(4大阶段,6大工作流,8项迭代)。特点:1) 基于风险2) 用例集驱动3) 以架构为中心4) 迭代和增量IPD流程: 1) 产品结构重整(资源重整) 2) 公共模块共用15. 软件研发中几个重要的过程:需求管理、配置管理、缺陷管理、同行评审。16. 常见的引入缺陷的原因:a. 开发过程缺乏有效的沟通,或者没有进行沟

5、通; b. 软件复杂度越来越高; c. 编程中产生错误; d. 需求不断变更; e. 项目进度的压力; f. 不重视开发文档;g. 软件开发工具本身隐藏的问题。等等 17. 缺陷类型:遗漏、错误、额外的实现。第二章 软件质量1、 软件质量的定义:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。而质量就是实体基于这些特性满足需求的程度。2、 软件质量的三个层次:a. 符合需求规格;b. 符合用户显示需求; c. 符合用户实际需求。3、 影响软件质量的因素:流程、技术、组织。流程:一组活动(活动是否都是必须的,活动角色之间的关系)。过程:一组将输入转化为输出的相关联或相互作用的活动。4

6、、 八项质量管理原则:a. 以顾客为中心;b. 领导作用;c. 全员参与; d. 过程方法;e. 管理的系统方法;f. 持续改进; g. 基于事实的决策方法;h. 互利的供方关系。5、 八项质量管理原则的意义:a. 是质量管理的理论基础; b用高度概括易于理解的语言所表述的质量管理的最基本,最通用的一般性规律; c. 为组织建立质量管理体系提供了理论依据; d. 是组织的领导者有效的实施质量管理工作必须遵循的原则。6、 CMM1:初始级,Inltial,不可预测并且缺乏控制; CMM2:可重复级:Repeatable,可重复以前的主要经验;(关键过程区域:需求管理;软件项目计划;软件项目跟踪和

7、监督;软件子合同管理;软件质量保证;软件配置管理。) CMM3:已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程焦点;培训大纲;集成软件管理;软件产品工程;组际协调;同行评审。)CMM4:已管理级:Managed,过程被测量并受控;(关键过程区域:定量的过程管理;软件质量管理。)CMM5:优化级,Optimizing,关注过程改进。(关键过程区域:缺陷预防;技术变更管理;过程变更管理。)7、 CMM的用途:a. 评估组用来识别组织中的强处和弱处; b. 评价组用来识别选择不同的业务承包商的风险和监督合同; c. 管理者用来了解其组织的能力,并了解为了

8、提高其能力成熟度而进行软件过程改进所需进行的活动; d. 技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。8、 ISO9001和CMM的关系: 相似点:强调管理、过程、规范化和文档化; 不同点:CMM把焦点对准软件;ISO9001的范围包括:硬件、软件、流程性材料和服务; 两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关。9、六西格玛的实施方式:Define: 定义-提出问题,确定目标 Measure:测量-收集资料,寻找原因 Analyse:分析-研究资料,确定原因 Improve:改进-优化解决方案 Control

9、:控制-推行控制系统10、软件质量模型: 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。包括:适合性;准确性;互操作性;保密安全性;功能性的依从性。 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。包括:成熟性;容错性;易恢复性;可靠性的依从性。 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。 效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包括:时间特性;资源利用性;效率依从性。 维护性:软件产品可被修改的能力。修改可能包括修正、改进或软

10、件对环境、需求和功能规格说明变化的适应。包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。 可移植性:软件产品从一种环境迁移到另外一种环境的能力。包括:适应性;易安装性;共存性;易替换性;可移植性的依从性。11、 SQA与测试的关系:测试从技术的角度来保证软件质量SQA从流程的角度保障软件质量组织用来保障SQA和测试的活动12、 SQA的主要工作范围: 指导并监督项目按照过程实施; 对项目进行度量、分析,增加项目的可视性; 审核工作产品,评价工作产品和过程质量目标的复合度; 进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进。13、 度量:对事物属性的量化表示;软

11、件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量。目的: 提高软件生产率,缩短产品研发周期,降低研发成本、维护成本; 提高软件产品质量,提高用户满意度; 为组织持续改进提供量化的指标和反馈。14、 软件度量的作用:1) 理解;预测;评估;改进。2) 分类:规模;工作量;进度;质量 15、如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)第三章 测试方法1、 什么是白盒测试: 白盒测试是依据被测

12、软件,分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况; 白盒测试是基于程序结构的逻辑驱动测试; 白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。2、 为什么进行白盒测试: 一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问、难题能基本得到消除; 能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证; 发现问题后解决问题的成本较低。3、 白盒测试的常用技术: 静态分析:控制流分析、数据流分析、信息流分析等; 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装

13、等。4、 控制流相关概念:程序元素、控制流关系、控制流图、控制流矩阵。(步骤:5)5、 控制流分析能发现的问题:1) 转向并不存在的标号;2) 没有用的语句标号;3) 从程序入口进入后无法达到的语句;4) 不能达到停机语句的语句。6、 数据流相关概念:数据的定义;数据的引用。(步骤:3)7、 数据流分析的作用:分析代码中关于数据定义和引用方面的错误;进行代码优化。(赋值语句运算效率高)8、 信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管理。(步骤:4)9、 覆盖率工具的作用: 分析被测试代码控制结构,决定插装位置; 实施插装; 将插装代码重新编译; 执行被测对象,根据插装

14、的监控哨信息统计覆盖率。10、 白盒测试的特点: 测试人员需要了解软件的实现; 可以检测代码中的每条分支和路径; 揭示隐藏在代码中的错误; 对代码的测试比较彻底; 实现代码结构上的优化; 白盒测试投入较大,成本高; 白盒测试不验证规格的正确性。11、 什么是黑盒测试: 黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现; 黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。 黑盒测试又可以被称为基于规格的测试。12、 常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。13、 常见的黑盒测试方法:等价类、边界值、因果图、判定表、状

15、态迁移、正 交分解、错误猜测、输入/输出域覆盖、14、 系统测试的时候,如果没有SRS时,有两类BUG无法发现:1)需求遗漏;2)需求偏差 15、 黑盒测试的优点: 对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高; 测试人员不需要了解实现的细节,包括特定的编程语言; 从用户的视角进行测试,很容易被大家理解和接受; 有助于暴露任何规格不一致或有歧义的问题。16、 黑盒测试的缺点: 没有清晰的和简明的规格,测试用例很难设计; 不能控制内部执行路径,会有很多内部程序路径没有被测试到; 不能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)。17、 动态和静态测试的分类

16、依据在于:被测对象是否运行起来。18、 手工静态分析同行评审:正规检视;技术评审;走查。评审对象:计划、需求文档、设计图、代码等。19、 自动化静态分析:静态验证;语法分析器;符号执行器。20、 自动化测试应该考虑的因素:1) 测试进度要求2) 人力资源要求3) 版本稳定度4) 版本应用情况5) 可自动化率6) 版本规模21、 自动化测试的误区:1) 自动化不能取代手工测试。2) 手工测试都做不好,或者经验积累不够,就尝试自动化,很难成功。3) 自动化只能保证测试执行效率,确保已有的问题不会再发生,自动化 测试不能发现大量新缺陷。4) 进行了自动化测试的软件不一定就是安全的,质量有保证的。所以

17、手工测试是自动化测试的一个基础22、 自动化五大等级:1) 录制和回放2) 脚本3) 自动化框架脚本4) 数据驱动5) 关键字驱动 自动化测试的限制(板书): 自动化测试不具备想象力,不能够检查脚本中给定的观察点之外的错误; 自动化测试只能提高测试效率,不能提高测试效果,不能发现比人工测试更多的问题;如被测对象不稳定,存在变动性的话不适合开展自动化测试,否则脚本的编写和维护所耗费的时间可能远大于人工测试; 只有手工测试积累到一定程度(提供更多的观察点),才能做好自动化测试。第四章 测试过程1、 各阶段测试的目的:1) 单元测试:检测软件模块对详细设计说明书的符合程度2) 集成测试:检测软件模块

18、对概要设计说明书的符合程度3) 系统测试:通过与需要规格说明书作比较,发现软件与系统定义不符或与之矛盾的地方。2、 单元、集成、系统测试的比较:测试类型目的考察范围评估基准测试方法单元测试消除局部模块的逻辑和功能上的错误和缺陷(消除单元、模块内部的逻辑和功能上的错误与缺陷)单元内部的数据结构、逻辑控制、异常处理等逻辑覆盖率大量采用白盒测试方法集成测试找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题(找出与软件架构设计相关的程序结构,单元/子模块间的调用关系,单元/子模块间接口方米那的问题)接口和接口数据传递关系、模块组合后的整体功能接口覆盖率结合使用白盒与黑盒测试方法,较多采用

19、黑盒方法构造测试用例(也有说法叫灰盒测试方法)系统测试对整个系统进行一系列的整体、有效性测试(对系统规格中的功能与性能进行一系列的有效性测试)整个系统对需求的符合度测试用例对需求规格的覆盖率黑盒测试3、 回归测试策略:完全重复测试;选择性重复测试(覆盖修改法;周边影响法; 指标达成方法;选择重要级别高的测试用例)4、 回归测试流程:1) 在测试策略制定阶段,制定回归测试策略2) 确定需要回归测试的版本3) 回归测试版本发布,按照回归测试策略执行回归测试4) 回归测试通过,关闭缺陷跟踪单(问题单)5) 回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再 次提交测试人员回归测试5、

20、有用户参与的其他一些测试:验收测试、测试、测试6、 测试与测试的比较:Alpha测试Beta测试比较测试环境开发环境或者模拟实际操作的环境下实际使用环境测试人员可以是终端用户也可以是企业内部的用户终端用户(包括潜在用户)开发人员是否在场有开发人员在场,实际上是一种受控的测试。开发人员通常不在测试现场,测试情况通常不受控。关注点Alpha测试关注软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),尤其注重产品的界面和特色。Beta测试着重关注产品的支持性,包括文档、客户培训和支持产品的生产能力。共同点1.都希望从实际终端用户的使用角度来对软件的功能和性能进行测试,以发现可能只

21、有终端用户才能发现的错误;2.都不能由测试人员和程序员完成;7、 主要的测试文档:测试计划;测试方案;测试用例;测试规程;测试报告;测 试日报8、 验证与确认V&V:验证(VERIFICATION)强调过程;确认(VALIDATION)强调 结果。9、 V&V模型优点: 实现了测试设计和测试执行相分离; 揭示了软件测试活动分层和分阶段的本质特性:测试执行的顺序与开发活动相反10、 V&V模型: 11、 系统测试分为几个阶段,每个阶段的输入 /输出是什么?系统测试阶段输入输出系统测试计划阶段1.软件开发计划2.软件测试计划3.需求规格说明书系统测试计划设计阶段1.系统测试计划2.需求规格说明书系

22、统测试方案实现阶段1.系统测试计划2.系统测试方案3.需求规格说明书1.系统测试用例2.系统测试规程3.系统测试预测试项执行阶段1.系统测试计划2.系统测试方案3.系统测试用例4.系统测试规程5.系统测试预测试项 6.集成测试报告1.系统预测试报告2.系统测试报告3.缺陷报告4.测试日报集成测试计划阶段1.软件测试计划2.概要设计说明书集成测试计划设计阶段1.概要设计说明书2.集成测试计划集成测试方案实现阶段1.概要设计说明书2.集成测试计划3.集成测试方案1.集成测试用例2.集成测试规程执行阶段1.集成测试计划2.集成测试方案3.集成测试用例4.集成测试规程1.集成测试报告2.缺陷报告单元测

23、试计划阶段1.软件测试计划2.详细设计说明书单元测试计划设计阶段1.详细设计说明书2.单元测试计划单元测试方案实现阶段1.详细设计说明书2.单元测试计划3.单元测试方案1.单元测试用例2.单元测试规程执行阶段1.单元测试计划2.单元测试方案3.单元测试用例4.单元测试规程1.单元测试报告2.缺陷报告第五章 单元测试1、 单元的基本属性:1) 明确的功能2) 可定义的规格3) 与其他单元接口的清晰划分2、 单元测试的目的: 在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。a) 验证代码是与设计相符合的;b) 发现设计和需求中存在的错误;c) 发现在编码过程中引入的错误。(和设计不相符或

24、和设计相符,但是由于编码疏漏引起)3、 单元测试关注的重点:出错处理、单元接口、局部数据结构、独立路径、边界条件 4、 单元测试的主要关注点:1) 参数的属性、顺序、个数是否与LLD一致2) 不能修改只做输入用的形参,否则可能导致数据的错误修改3) 约束条件是否通过形参来传送5、 驱动和桩的功能:1) 驱动单元:被测函数的主函数,能接受输入数据,输出实际测试结果2) 桩单元:用来代替所测单元调用的子单元6、 单元测试策略:孤立的测试策略、自顶向下、自底向上的单元测试策略1) 孤立的测试策略: 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。

25、 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。 缺点:桩函数和驱动函数工作量很大,效率低。2) 自顶向下的单元测试策略: 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。 优点:可以节省驱动函数的开发工作量,测试效率较高。 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。3) 自底向上的单元测试策略: 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已

26、被测试过的模块做桩模块。以此类推,直到测试完所有模块。 优点:可以节省桩函数的开发工作量,测试效率较高。 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生很大的影响。5、 单元测试的四个阶段: 测试计划:完成单元测试计划; 测试设计:完成单元测试方案; 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件; 测试执行:执行单元测试用例,修改发现的问题并进行回归测试,提交单元测试报告。 单元测试:桩&驱动举例:无论是单元测试还是集成测试都涉及到以下三个函数:主控函数:int ctrl(int x, int y)加法函数:int add(int x, int y)减法

27、函数:int sub(int x, int y)注意:进行单元测试时,设计用例时依据的是LLD;进行集成测试时,设计测试用例依据的是HLD。下面给出来的是需要测试的实际的代码。int ctrl(int x, int y)int temp=0;if(x=y) temp=add(x, y);else temp=sub(x, y);return temp;int add(int x, int y) return(x+y);int sub(int x, int y) return(x-y); 自顶向下单元测试策略不同测试步骤中的驱动可以写到一起,也可以分开写,这里是写到一起了。 测试ctrl函数需要写

28、一个驱动和两个桩。 驱动函数void driver()int ret=0;ret=ctrl(2,1); /xyif(ret=3) printf(“testcase JISUAN_UT_CTRL_001 pass”);else printf(“testcase JISUAN_UT_CTRL_001 fail”);ret=ctrl(1,1); /x=yif(ret=2) printf(“testcase JISUAN_UT_CTRL_002 pass”);else printf(“testcase JISUAN_UT_CTRL_002 fail”);ret=ctrl(1,2); /x=y) temp=stub_add(x, y);else temp=stub_sub(x, y);return temp; 测试add函数 驱动函数同测试ctrl函数时的驱动 桩函数同测试ctrl函数时sub函数对应的桩

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1