
2023年testing软件测试培训笔记.doc
49页第一章 测试基础1. 软件测试的目的:证明(表达软件可以工作)→ 检测(发现错误)→ 防止(管理质量)2. 测试执行:单元测试(UT执行):一个测试用例的测试执行;集成测试(IT执行):一个测试用例集的测试执行;系统测试(ST执行):不同测试阶段的测试执行3. 测试用例(Test Case):指对一项特定的软件产品测试任务的描述,体现测试方案、方法、技术和策略4. 测试和调试的区别: 测试调试目的找出存在的错误定位错误,修改程序以修正错误对象文档,代码代码流程有特定流程,有计划性无特定流程,不可设计,无计划性条件从已知条件开始,用预定义过程,有预知结果从未知条件开始,结束过程不可预计5. 回归测试的目的:a. 验证错误是否修复;b. 检测对代码的修改是否引入了新的错误6. 软件测试的重要工作:a. 检视代码,评审开发文档;b. 进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c. 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d. 通过测试度量软件质量7. 软件危机的出现重要表现在:a. 由于缺少大型软件开发经验和软件开发数据积累,开发工作计划很难制定;b. 开发初期需求分析不够明确,导致开发后期矛盾集中暴露;c. 不遵循开发规范,开发文档不完整,软件难以维护;d. 缺少严密有效的软件质量检测手段,交付给用户的软件质量差。
8. 软件危机的后果:a. 软件质量不高,很难稳定;b. 软件项目延期,进度无法控制;c. 成本增长,无法控制预算9. 软件危机的根源:a. 根据摩尔定律,硬件发展不久,相应对软件系统的盼望越来越高;b. 软件系统复杂性提高,需多人合作;c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理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. 缺陷类型:漏掉、错误、额外的实现第二章 软件质量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. 技术人员和过程改善组用来作为指南,指导他们在组织中定义和改善软件过程8、 ISO9001和CMM的关系: 相似点:强调管理、过程、规范化和文档化; 不同点:CMM把焦点对准软件;ISO9001的范围涉及:硬件、软件、流程性材料和服务; 两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关9、六西格玛的实行方式:Define: 定义----提出问题,拟定目的 Measure:测量----收集资料,寻找因素 Analyse:分析----研究资料,拟定因素 Improve:改善----优化解决方案 Control:控制----推行控制系统10、软件质量模型: 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。
涉及:适合性;准确性;互操作性;保密安全性;功能性的依从性 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力涉及:成熟性;容错性;易恢复性;可靠性的依从性 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力涉及:易理解性;易学性;易操作性;吸引性;易用性的依从性 效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力涉及:时间特性;资源运用性;效率依从性 维护性:软件产品可被修改的能力修改也许涉及修正、改善或软件对环境、需求和功能规格说明变化的适应涉及:易分析性;易改变性;稳定性;易测试性;维护性的依从性 可移植性:软件产品从一种环境迁移到此外一种环境的能力涉及:适应性;易安装性;共存性;易替换性;可移植性的依从性11、 SQA与测试的关系:测试从技术的角度来保证软件质量SQA从流程的角度保障软件质量组织用来保障SQA和测试的活动12、 SQA的重要工作范围:· 指导并监督项目按照过程实行; · 对项目进行度量、分析,增长项目的可视性; · 审核工作产品,评价工作产品和过程质量目的的复合度; · 进行缺陷分析,缺陷防止活动,发现过程的缺陷,提供决策参考,促进过程改善。
13、 度量:对事物属性的量化表达;软件度量:是指计算机软件中范围广泛的测度,涉及对软件系统、构建或生命周期过程具有的某个给定属性的度的一个定量测量目的:· 提高软件生产率,缩短产品研发周期,减少研发成本、维护成本; · 提高软件产品质量,提高用户满意度; · 为组织连续改善提供量化的指标和反馈14、 软件度量的作用:1) 理解;预测;评估;改善2) 分类:规模;工作量;进度;质量 15、如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改善的基础a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)第三章 测试方法1、 什么是白盒测试: · 白盒测试是依据被测软件,分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况; · 白盒测试是基于程序结构的逻辑驱动测试; · 白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试2、 为什么进行白盒测试: · 一般在测试前期进行,通过达成一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问、难题能基本得到消除; · 能保证内部逻辑结构达成一定的覆盖限度,可以给予软件代码质量更大的保证; · 发现问题后解决问题的成本较低。
3、 白盒测试的常用技术: · 静态分析:控制流分析、数据流分析、信息流分析等; · 动态分析:逻辑覆盖测试(分支测试、途径测试等)、程序插装等4、 控制流相关概念:程序元素、控制流关系、控制流图、控制流矩阵环节:5)5、 控制流分析能发现的问题:1) 转向并不存在的标号;2) 没有用的语句标号;3) 从程序入口进入后无法达成的语句;4) 不能达成停机语句的语句6、 数据流相关概念:数据的定义;数据的引用环节:3)7、 数据流分析的作用:分析代码中关于数据定义和引用方面的错误;进行代码优化赋值语句运算效率高)8、 信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管理环节:4)9、 覆盖率工具的作用: · 分析被测试代码控制结构,决定插装位置;· 实行插装;· 将插装代码重新编译;· 执行被测对象,根据插装的监控哨信息记录覆盖率10、 白盒测试的特点:· 测试人员需要了解软件的实现;· 可以检测代码中的每条分支和途径;· 揭示隐藏在代码中的错误;· 对代码的测试比较彻底;· 实现代码结构上的优化;· 白盒测试投入较大,成本高;· 白盒测试不验证规格的对的性。
11、 什么是黑盒测试: 。
