软件测试基础理论知识
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 软件测试是为了发现错误而执行程序的过程。或者说,软件是根据软件开发各阶段的规格说明 和程序内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现程序错 误的过程。
3. 测试用例是什么?有什么作用?测试用例是一组由前提条件、输入、执行条件、预期结果等组成, 以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档。
软件测试基础理论知识
2020年6月15日 杨海明
目录
软件测试的基本概念 软件测试流程与模型 软件测试方法和类型
测试用例常用设计方法
软件的定义
软件,国标中对软件的定义为:与计算机系统 操作有关的计算机程序、规程、规则,以及可 能有的文件、文档及数据。 其它定义:
1. 运行时,能够提供所要求功能和性能 的指令或计算机程序集合。
二.动态测试:动态测试指的就是运行被测的程序。检查运行结果与预期结果的差异,并分 析运行效率、正确性和健壮性的等性能,这种方法主要是由三部分进行组成的:测试用 例、执行程序、分析程序运行输出的结果。大多数的软件测试就是属于动态测试的。
按软件开发过程划分(一)
单元测试:是对软件组成进行的测试。其目的是检验软件基本组成 单位的正确性。测试对象是软件设计的最小单元:模块,又称为模 块测试。
4. 缺陷:IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过 程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效 或违背。
目录
软件测试的基本概念 软件测试流程与模型 软件测试方法和类型
测试用例常用设计方法
软件测试流程与模型
软件测试流程是一种抽象的 模型,用于定义软件测试的 流程和方法。众所周知,开 发过程的质量决定了软件测 质量,同样的,测试过程的 质量将直接影响测试结果的 准确性和有效性。软件测试 过程和软件开发过程一样, 都遵循软件工程原理,遵循 管理学原理。
按执行代码角度划分
一.静态测试:静态测试值的是不运行程序本身,仅通过分析和检查源程序的语法、结构、 过程、接口来检查程序的正确性。对需求规格说明书、软件设计说明书、流程图分析、 符号执行来进行找错。 ① 检查项:代码的风格和规则审核;程序设计和结构审核;业务逻辑的审核、走查、 审查与技术复审手册 ② 静态质量:软件的质量主要有以下六个方面来衡量:功能性、可靠性、可移植性、 可用性、有效性、可维护性。 ③ 代码静态分析和文档测试都是属于静态测试
X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测 试,这一方式往往能帮助有经验的测试人员在测试计划之外发现 更多的软件错误。但这样可能对测试造成人力、物力和财力的浪 费,对测试员的熟练程度要求比较高。
软件测试H模型
优点: ① 在H模型中,软件测试过程活动完全独立,贯穿于整 个产品的周期,与其他流程并发地进行,某个测试 点准备就绪时,就可以从测试准备阶段进行到测试 执行阶段; ② 软件测试可以进行尽早的进行; ③ 软件测试可以根据被测物的不同而分层次进行 ④ 强调测试是独立的,只要测试准备完成,就可以执 行测试
2. 程序能够满意地处理信息的数据结构。 3. 描述程序功能需求以及程序如何操作
和使用所要求的文档。 以开发语言作为描述语言,可以认为:软件= 程序+数据+文档
软件测试基础概念
1. 软件工程,英文名SoftwareEngineerwenku.baidu.comng,是一门研究用工程化方法构建和维护有效的、实用的 和高质量的软件的学科。“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义 相当概括,它主要强调软件工程是系统方法而不是某种神秘的个人技巧。
划分
Alpha 测 试
Beta 测试
按是否进 行手工测
试划分
手工测试
自动化测 试
按测试类 型划分
功能测试 性能测试 兼容测试 易用测试 安全测试
按软件结构划分
一.黑盒测试(Black-box-Testing)黑盒测试也称为功能测 试,测试中把被测的软件当成一个黑盒子,不关心盒子的 内部结构是什么,指关心软件的输入数据和输出数据。
软件测试V模型
局限性:V模型是基于瀑布模型的,V模 型有一个缺点,就是将测试放在整个开 发的最后阶段,没有让测试今早介入开 发,没有在需求阶段就进入测试。 测试与开发串行。
软件测试W模型
优点:测试与开发并行,让测试今早介入 开发环节,使测试今早发现问题今早解决。 局限性:虽然开发与测试并行了,但是在 整个开发阶段,仍然是串行的,上一阶段 未完全完成无法进入下一阶段,不支持敏 捷模式的开发。
二.白盒测试(White-box-Testing)白盒测试又称结构测试, 透明盒测试、逻辑驱动测试或基于代码的测试。白盒值的 是打开的盒子,去研究里面的源代码和程序结果。接口测 试也是一种白盒测试。
三.灰盒测试(White-box-Testing)灰盒测试:是介于白盒 测试与黑盒测试之间的一种测试,主要用于集成测试阶段。 不仅关注输入输出的正确性。同时也关注程序内部的情况。
软件测试前置模型
目录
软件测试的基本概念 软件测试流程与模型 软件测试方法和类型
测试用例常用设计方法
软件测试方法和类型
按软件结 构划分
白盒测试
黑盒测试
灰盒测试
按执行代 码角度划
分
静态测试
动态测试
按软件开 发过程划
分
单元测试 冒烟测试 集成测试 系统测试 回归测试 验收测试 A/B测试
按测试实 施的组织
① 测试阶段:编码后或者编码前(TDD) ② 测试对象:最小模块 ③ 测试人员:白盒测试工程师或开发人员 ④ 测试依据:代码和注释+设计详细文档 ⑤ 测试方法:白盒测试 ⑥ 测试内容:模块接口测试、局部数据结构测试、路径
软件测试X模型
X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相 互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为 可执行的程序。
X模型的左边描述的是针对单独程序片段所进行的相互分离的编码 和测试,此后将进行频繁的交接,通过集成最终成为可执行的程 序,然后再对这些可执 行程序进行测试。己通过集成测试的成品 可以进行封装并提交给用户,也可以作为更大规模和范围内集成 的一部分。多根并行的曲线表示变更可以在各个部分发生。
3. 测试用例是什么?有什么作用?测试用例是一组由前提条件、输入、执行条件、预期结果等组成, 以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档。
软件测试基础理论知识
2020年6月15日 杨海明
目录
软件测试的基本概念 软件测试流程与模型 软件测试方法和类型
测试用例常用设计方法
软件的定义
软件,国标中对软件的定义为:与计算机系统 操作有关的计算机程序、规程、规则,以及可 能有的文件、文档及数据。 其它定义:
1. 运行时,能够提供所要求功能和性能 的指令或计算机程序集合。
二.动态测试:动态测试指的就是运行被测的程序。检查运行结果与预期结果的差异,并分 析运行效率、正确性和健壮性的等性能,这种方法主要是由三部分进行组成的:测试用 例、执行程序、分析程序运行输出的结果。大多数的软件测试就是属于动态测试的。
按软件开发过程划分(一)
单元测试:是对软件组成进行的测试。其目的是检验软件基本组成 单位的正确性。测试对象是软件设计的最小单元:模块,又称为模 块测试。
4. 缺陷:IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过 程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效 或违背。
目录
软件测试的基本概念 软件测试流程与模型 软件测试方法和类型
测试用例常用设计方法
软件测试流程与模型
软件测试流程是一种抽象的 模型,用于定义软件测试的 流程和方法。众所周知,开 发过程的质量决定了软件测 质量,同样的,测试过程的 质量将直接影响测试结果的 准确性和有效性。软件测试 过程和软件开发过程一样, 都遵循软件工程原理,遵循 管理学原理。
按执行代码角度划分
一.静态测试:静态测试值的是不运行程序本身,仅通过分析和检查源程序的语法、结构、 过程、接口来检查程序的正确性。对需求规格说明书、软件设计说明书、流程图分析、 符号执行来进行找错。 ① 检查项:代码的风格和规则审核;程序设计和结构审核;业务逻辑的审核、走查、 审查与技术复审手册 ② 静态质量:软件的质量主要有以下六个方面来衡量:功能性、可靠性、可移植性、 可用性、有效性、可维护性。 ③ 代码静态分析和文档测试都是属于静态测试
X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测 试,这一方式往往能帮助有经验的测试人员在测试计划之外发现 更多的软件错误。但这样可能对测试造成人力、物力和财力的浪 费,对测试员的熟练程度要求比较高。
软件测试H模型
优点: ① 在H模型中,软件测试过程活动完全独立,贯穿于整 个产品的周期,与其他流程并发地进行,某个测试 点准备就绪时,就可以从测试准备阶段进行到测试 执行阶段; ② 软件测试可以进行尽早的进行; ③ 软件测试可以根据被测物的不同而分层次进行 ④ 强调测试是独立的,只要测试准备完成,就可以执 行测试
2. 程序能够满意地处理信息的数据结构。 3. 描述程序功能需求以及程序如何操作
和使用所要求的文档。 以开发语言作为描述语言,可以认为:软件= 程序+数据+文档
软件测试基础概念
1. 软件工程,英文名SoftwareEngineerwenku.baidu.comng,是一门研究用工程化方法构建和维护有效的、实用的 和高质量的软件的学科。“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义 相当概括,它主要强调软件工程是系统方法而不是某种神秘的个人技巧。
划分
Alpha 测 试
Beta 测试
按是否进 行手工测
试划分
手工测试
自动化测 试
按测试类 型划分
功能测试 性能测试 兼容测试 易用测试 安全测试
按软件结构划分
一.黑盒测试(Black-box-Testing)黑盒测试也称为功能测 试,测试中把被测的软件当成一个黑盒子,不关心盒子的 内部结构是什么,指关心软件的输入数据和输出数据。
软件测试V模型
局限性:V模型是基于瀑布模型的,V模 型有一个缺点,就是将测试放在整个开 发的最后阶段,没有让测试今早介入开 发,没有在需求阶段就进入测试。 测试与开发串行。
软件测试W模型
优点:测试与开发并行,让测试今早介入 开发环节,使测试今早发现问题今早解决。 局限性:虽然开发与测试并行了,但是在 整个开发阶段,仍然是串行的,上一阶段 未完全完成无法进入下一阶段,不支持敏 捷模式的开发。
二.白盒测试(White-box-Testing)白盒测试又称结构测试, 透明盒测试、逻辑驱动测试或基于代码的测试。白盒值的 是打开的盒子,去研究里面的源代码和程序结果。接口测 试也是一种白盒测试。
三.灰盒测试(White-box-Testing)灰盒测试:是介于白盒 测试与黑盒测试之间的一种测试,主要用于集成测试阶段。 不仅关注输入输出的正确性。同时也关注程序内部的情况。
软件测试前置模型
目录
软件测试的基本概念 软件测试流程与模型 软件测试方法和类型
测试用例常用设计方法
软件测试方法和类型
按软件结 构划分
白盒测试
黑盒测试
灰盒测试
按执行代 码角度划
分
静态测试
动态测试
按软件开 发过程划
分
单元测试 冒烟测试 集成测试 系统测试 回归测试 验收测试 A/B测试
按测试实 施的组织
① 测试阶段:编码后或者编码前(TDD) ② 测试对象:最小模块 ③ 测试人员:白盒测试工程师或开发人员 ④ 测试依据:代码和注释+设计详细文档 ⑤ 测试方法:白盒测试 ⑥ 测试内容:模块接口测试、局部数据结构测试、路径
软件测试X模型
X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相 互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为 可执行的程序。
X模型的左边描述的是针对单独程序片段所进行的相互分离的编码 和测试,此后将进行频繁的交接,通过集成最终成为可执行的程 序,然后再对这些可执 行程序进行测试。己通过集成测试的成品 可以进行封装并提交给用户,也可以作为更大规模和范围内集成 的一部分。多根并行的曲线表示变更可以在各个部分发生。