软件测试技术经典教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件生命周期,是指软件开发和测试全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
6.1.2软件开发的生命周期
需求分析=〉概要设计=〉详细设计=〉编码=〉维护
6.1.3软件测试的生命周期
开发生命周期
需求分析=〉概要和详细设计=〉编码=〉维护
测试生命周期
2.4.1功能测试
功能测试,是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
1.逻辑功能测试
2.界面测试
3.易用性测试
4.安装测试
5.兼容性测试
2.4.2性能测试
性能测试是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就指性能测试工程师或是白盒测试工程师。
2.5回归测试、冒烟测试、随机测试
回归测试,是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。
冒烟测试,是指对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试,是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
Testdirector的缩写为TD,是一款知名的测试管理工具,可以实现需求管理、测试计划管理、用例管理、缺陷管理。
4.QTP
QTP的全称是quick test professional,是一款功能测试工具。
4.按功能模块划分
性能类(performance)、界面类(UI)、易用性类(usability)、兼容性类(compatibility)
5.按bug生命周期划分
新建(new)、确认(confirmed)、解决(fixed)、关闭(closed)、重新打开(reopen)
第六章测试管理
6.1.1什么是软件的生命周期
规格定义〈..............................................系统测试
概要设计〈....................................集成测试
详细设计〈........................单元测试
编码
第七章软件测试工具简介
7.1软件测试工具分类
一般将软件测试工具分为黑盒测试工具、白盒测试工具、测试管理工具3类。
黑盒测试工具,指测试软件功能或性能的工具,主要用于系统测试和验收;其又可分为功能测试工具和性能测试工具。
白盒测试工具,指测试软件的源代码的工具,可以实现代码的静态分析、动态测试、评审等功能,主要用于单元测试。
测试管理工具,指管理整个测试流程的工具,主要功能有测试计划的管理、测试用例的管理、缺陷跟踪、测试报告等管理,一般贯穿于整个软件测试生命周期。
4.阅读高手写的测试用例
5.学习产品相关的业务知识
3.4.1什么是SQA
SQA(software quality assurance,软件质量保证)
SQA一般需要做一下工作:
1.通过监控软件开发过程来保证产品质量;
2.保证开发出来的软件和软件开发过程符合相应标准与规程(ISO9000或CMM)
3.保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者
4.3因果图法(cause—effect graphs)
4.4流程图法(workflow method)
第五章缺陷管理
5.1bug的分类
1.按严重程度(serverity)划分
按照严重程度由高到低的顺序可以分成5个等级:系统崩溃、严重、一般、次要、建议。如果bug数比较少,就可以划分为3个等级:严重、一般、次要
2.6不同测试分类之间的关系
单元测试
集成测试
按阶段划分系统测试
验收测试
按时偶运行程度划分静态测试
动态测试
软件测试逻辑功能测试
白盒测试界面测试
功能测试易用性测试
兼容性测试
按是否查看源代码划分安装测试
黑盒测试一般性能测试
性能测试稳定性能测试
负载测试
压力测试
回归测试
其他冒烟测试
随机测试
第三章软件测试的常识
2.2静态测试和动态测试
静态测试,不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。即静态测试包括代码测试、界面测试和文档测试。
2.3单元测试、集成测试、系统测试和验收测试
桩模块,指模拟被测模块所调用的模块
驱动模块,指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
测试计划=〉测试设计====〉测试执行=〉测试评估
6.1.4软件生命周期的模型
1.瀑布模型(waterfall model)
计划
需求
设计
编码
测试
维护
2.螺旋模型(spiral model)
3.V模型(V model)
用户需求〈........................................................验收测试
1.5.1什么是测试环境
测试环境=软件+硬件+网络
1.5.2怎样搭建测试环境
搭建测试环境的要点:
1.真实尽量模拟用户的真实使用环境
2.干净测试环境中尽量不要安装其他与被测试软件无关的软件
3.无毒测试环境没有中毒
4.独立测试环境和开发环境独立
1.5.3软件环境的分类
软件开发环境
软件生产运行环境
1.6.1什么是测试用例
1.一般性能测试让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
2.稳定性测试也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度。
3.负载测试是性能测试的一种,通常是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
4.压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。
4.确保项目组制订的计划、标准和规程适合项目组需要,同时满足评审和审计需要
3.4.2什么是CMM
CMM,全称为capability maturity model,即“能力成熟度模型”
第四章黑盒测试技术
4.1等价类技术(equivalence class testing)
4.2边界值技术(boundary value testing)
第一章软件测试基本概念
1.1软件是计算机中与硬件相结合的一部分,包括程序和文档
软件=程序+文档
1.2软件的分类
1.2.1按功能划分
系统软件
应用软件
1.2.2按技术架构划分
单机版软件
C/S结构软件
B/S结构软件
1.2.3按用户划分
产品软件
项目软件
1.4ቤተ መጻሕፍቲ ባይዱ么事软件测试
使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检查它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.3.3系统测试和验收测试
单元、集成、系统、验收测试比较
单元测试最小模块,如函数、类等《详细设计》白盒测试工程师或开发人员主要采用白盒测试
集成测试模块间的接口,如参数传递《概要设计》白盒测试工程师或开发人员黑盒和白盒测试相结合
系统测试整个系统,包括软硬件《需求规格说明书》黑盒测试工程师黑盒测试
验收测试整个系统,包括软硬件《规格需求说明书》,验收标准主要为用户,还可能有测试工程师等黑盒测试
测试用例=输入+输出+测试环境
输入包括测试数据和操作步骤
输出期望结果
测试环境系统环境设置
1.6.3编写测试用例的注意事项
开发生命周期
需求分析=〉概要设计=〉详细设计=〉编码=〉维护
测试生命周期
测试计划=〉测试设计==============〉测试执行=〉测试评估
第二章软件测试分类
2.1黑盒测试和白盒测试
2.按优先级(priority)划分
按照优先级由高到低可以分成3个等级:高(high)、中(middle)、低(low)
3.按照测试种类划分
可以将bug分为逻辑功能类(function)、性能类(performance)、界面类(UI)、易用性类(usability)、兼容性类(compatibility)
3.2.1测试人员的基本从业素质
三心二意一能力
三心:细心、耐心、信心
二意:服务意识、团队合作意识
一能力:沟通能力
3.2.2如何成为一名优秀的测试工程师
大侠
高人指点=〉内功心法=〉武术招式=〉江湖阅历
必胜的信心
测试高手
名师指点=〉基础知识=〉测试技术=〉项目经验
自信
1.不断学习充电
2.阅读原版书籍
3.阅读缺陷管理中的缺陷报告
7.2.1MI公司产品
1.Loadrunner
Loadrunner属于性能测试工具,主要用于C/S和B/S结构的软件系统的测试,其通过模拟虚拟的并发用户数来对被测系统进行压力测试。
Loadrunner是一种预测系统行为和性能的负载测试工具。
Loadrunner是跨平台的
2.Winrunner
3.Testdirector
6.1.2软件开发的生命周期
需求分析=〉概要设计=〉详细设计=〉编码=〉维护
6.1.3软件测试的生命周期
开发生命周期
需求分析=〉概要和详细设计=〉编码=〉维护
测试生命周期
2.4.1功能测试
功能测试,是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
1.逻辑功能测试
2.界面测试
3.易用性测试
4.安装测试
5.兼容性测试
2.4.2性能测试
性能测试是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就指性能测试工程师或是白盒测试工程师。
2.5回归测试、冒烟测试、随机测试
回归测试,是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。
冒烟测试,是指对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试,是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
Testdirector的缩写为TD,是一款知名的测试管理工具,可以实现需求管理、测试计划管理、用例管理、缺陷管理。
4.QTP
QTP的全称是quick test professional,是一款功能测试工具。
4.按功能模块划分
性能类(performance)、界面类(UI)、易用性类(usability)、兼容性类(compatibility)
5.按bug生命周期划分
新建(new)、确认(confirmed)、解决(fixed)、关闭(closed)、重新打开(reopen)
第六章测试管理
6.1.1什么是软件的生命周期
规格定义〈..............................................系统测试
概要设计〈....................................集成测试
详细设计〈........................单元测试
编码
第七章软件测试工具简介
7.1软件测试工具分类
一般将软件测试工具分为黑盒测试工具、白盒测试工具、测试管理工具3类。
黑盒测试工具,指测试软件功能或性能的工具,主要用于系统测试和验收;其又可分为功能测试工具和性能测试工具。
白盒测试工具,指测试软件的源代码的工具,可以实现代码的静态分析、动态测试、评审等功能,主要用于单元测试。
测试管理工具,指管理整个测试流程的工具,主要功能有测试计划的管理、测试用例的管理、缺陷跟踪、测试报告等管理,一般贯穿于整个软件测试生命周期。
4.阅读高手写的测试用例
5.学习产品相关的业务知识
3.4.1什么是SQA
SQA(software quality assurance,软件质量保证)
SQA一般需要做一下工作:
1.通过监控软件开发过程来保证产品质量;
2.保证开发出来的软件和软件开发过程符合相应标准与规程(ISO9000或CMM)
3.保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者
4.3因果图法(cause—effect graphs)
4.4流程图法(workflow method)
第五章缺陷管理
5.1bug的分类
1.按严重程度(serverity)划分
按照严重程度由高到低的顺序可以分成5个等级:系统崩溃、严重、一般、次要、建议。如果bug数比较少,就可以划分为3个等级:严重、一般、次要
2.6不同测试分类之间的关系
单元测试
集成测试
按阶段划分系统测试
验收测试
按时偶运行程度划分静态测试
动态测试
软件测试逻辑功能测试
白盒测试界面测试
功能测试易用性测试
兼容性测试
按是否查看源代码划分安装测试
黑盒测试一般性能测试
性能测试稳定性能测试
负载测试
压力测试
回归测试
其他冒烟测试
随机测试
第三章软件测试的常识
2.2静态测试和动态测试
静态测试,不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。即静态测试包括代码测试、界面测试和文档测试。
2.3单元测试、集成测试、系统测试和验收测试
桩模块,指模拟被测模块所调用的模块
驱动模块,指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
测试计划=〉测试设计====〉测试执行=〉测试评估
6.1.4软件生命周期的模型
1.瀑布模型(waterfall model)
计划
需求
设计
编码
测试
维护
2.螺旋模型(spiral model)
3.V模型(V model)
用户需求〈........................................................验收测试
1.5.1什么是测试环境
测试环境=软件+硬件+网络
1.5.2怎样搭建测试环境
搭建测试环境的要点:
1.真实尽量模拟用户的真实使用环境
2.干净测试环境中尽量不要安装其他与被测试软件无关的软件
3.无毒测试环境没有中毒
4.独立测试环境和开发环境独立
1.5.3软件环境的分类
软件开发环境
软件生产运行环境
1.6.1什么是测试用例
1.一般性能测试让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
2.稳定性测试也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度。
3.负载测试是性能测试的一种,通常是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
4.压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。
4.确保项目组制订的计划、标准和规程适合项目组需要,同时满足评审和审计需要
3.4.2什么是CMM
CMM,全称为capability maturity model,即“能力成熟度模型”
第四章黑盒测试技术
4.1等价类技术(equivalence class testing)
4.2边界值技术(boundary value testing)
第一章软件测试基本概念
1.1软件是计算机中与硬件相结合的一部分,包括程序和文档
软件=程序+文档
1.2软件的分类
1.2.1按功能划分
系统软件
应用软件
1.2.2按技术架构划分
单机版软件
C/S结构软件
B/S结构软件
1.2.3按用户划分
产品软件
项目软件
1.4ቤተ መጻሕፍቲ ባይዱ么事软件测试
使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检查它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.3.3系统测试和验收测试
单元、集成、系统、验收测试比较
单元测试最小模块,如函数、类等《详细设计》白盒测试工程师或开发人员主要采用白盒测试
集成测试模块间的接口,如参数传递《概要设计》白盒测试工程师或开发人员黑盒和白盒测试相结合
系统测试整个系统,包括软硬件《需求规格说明书》黑盒测试工程师黑盒测试
验收测试整个系统,包括软硬件《规格需求说明书》,验收标准主要为用户,还可能有测试工程师等黑盒测试
测试用例=输入+输出+测试环境
输入包括测试数据和操作步骤
输出期望结果
测试环境系统环境设置
1.6.3编写测试用例的注意事项
开发生命周期
需求分析=〉概要设计=〉详细设计=〉编码=〉维护
测试生命周期
测试计划=〉测试设计==============〉测试执行=〉测试评估
第二章软件测试分类
2.1黑盒测试和白盒测试
2.按优先级(priority)划分
按照优先级由高到低可以分成3个等级:高(high)、中(middle)、低(low)
3.按照测试种类划分
可以将bug分为逻辑功能类(function)、性能类(performance)、界面类(UI)、易用性类(usability)、兼容性类(compatibility)
3.2.1测试人员的基本从业素质
三心二意一能力
三心:细心、耐心、信心
二意:服务意识、团队合作意识
一能力:沟通能力
3.2.2如何成为一名优秀的测试工程师
大侠
高人指点=〉内功心法=〉武术招式=〉江湖阅历
必胜的信心
测试高手
名师指点=〉基础知识=〉测试技术=〉项目经验
自信
1.不断学习充电
2.阅读原版书籍
3.阅读缺陷管理中的缺陷报告
7.2.1MI公司产品
1.Loadrunner
Loadrunner属于性能测试工具,主要用于C/S和B/S结构的软件系统的测试,其通过模拟虚拟的并发用户数来对被测系统进行压力测试。
Loadrunner是一种预测系统行为和性能的负载测试工具。
Loadrunner是跨平台的
2.Winrunner
3.Testdirector