2017年软件评测师笔记整理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件评测师 学习笔记一》 2009-4-18
二、软件测试基础
1. 测试的概念:测试是以评价一个程序或者系统属性为目的的任何一种活动,测试是对软件质量的一种 度量。
测试的目的:测试是为了度量和提高被测软件的质量,对被测软件进行工程设计、实施、维护的整个生
命周期的过程。
2.Байду номын сангаас件测试有两种风险:内部风险和外部风险; 软件测试只能证明软件有错误,不能证明软件没有错误;
5.软件测试的分类
5.1 按照软件开发阶段分:单元测试(也叫模块测试)
、集成测试(组装测试) 、确认测试、系统测
试和验收测试。
5.2 按照测试实施组织划分:开发方测试(也叫验证测试,阿尔法测试) 第三方测试(独立测试) ;
、用户测试(贝塔测试)和
5.3 按照测试技术划分:白盒测试、黑盒测试和灰盒测试;
(关键在于对程序内部结构的态度上)
按照测试技术也可划分:静态测试和动态测试。
6.软件测试模型: 6.1 V 模型,其局限性表现在把测试作为软件开发的最后一个阶段,是串行完成的;主要是针对程序
进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;
6.2 W 模型, 优点是测试与开发过程是同步进行的, 有利于测试的及早介入与执行; 缺点是对开发阶 段需要有明确的起点和终点,这点在实际情况中很难做到这点;
16. 黑盒测试,也叫功能测试,主要针对软件界面和软件功能进行测试。 17. 黑盒测试用例的设计方法有:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、
2
正交试验设计法、功能图法等。
4.质量保证( QA)和软件测试的不同: QA 是要通过预防、检查与改进来保证软件质量,重点在过程的
跟进中;
软件测试的重点不在于此, 而是要对过程的产物-开发文本和源代码进行走查, 报告质量。
运行软件, 以找出问题,
软件测试不可能无休止地测下去,原因在于:
1、输入数据太多; 2、输出结果太多; 3、组合路径太多。
10. 软件设计阶段的评审: 10.1 需求评审 《需求说明书评审规范》 10.2 设计评审 《概要设计说明书评审规范》和《详细设计说明书评审规范》
10.3 编码评测 《编码规范》 11.软件开发阶段的测试:
11.1 单元测试(又叫模块测试) 单元测试的内容: 1、模块接口; 2、局部数据结构测试;
边界测试
3、路径测试; 4、错误处理测试; 5、
单元测试用到的辅助模块:驱动模块(所测模块的主程序)和桩模块(存根模块) 11.2 集成测试(又叫组装测试或联合测试)
模块组装成为系统的方式有两种:一次性组装方式(又叫整体拼装)和增殖式组装方式;
增殖式组装方式 (又叫渐增式组装方式) 又分两种:自顶向下的增殖方式(建立较多的桩模块) 、 自底向上的增殖方式(建立较多的驱动模块)和混合增殖方式;
软件测试的目的: 1、提高软件质量; 2、降低项目风险; 3、把软件的错误控制在可以进行产品发布或交
付的程度上;
软件测试的经典定义:在规定条件下对程序进行操作,以发现错误,对软件进行质量评估;
软件是由文档、数据和程序组成;
3.软件质量的概念: 软件满足规定或者潜在用户需求的能力, 量。
要从软件在内部、 外部和使用中的表现来衡
据进行测试。
12.V&V 12.1 V&V 的基本概念:验证(通过检查和提供客观证据,证实规定的需求已满足)和确认(通过检
查和提供客观证据,证实预期用途的需求是否得到满足)
12.2 每个 V&V 活动都有输入、任务和输出
12.3 GB/T 18905.5 中规定的开发过程中的软件测试过程包括:测试计划过程(包括测试计划和测试
1
8.4 测试无法显示软件潜在的缺陷
8.5 充分注意测试中的群集现象
8.6 程序员应避免检查自己的程序
8.7 尽量避免测试的随意性
9.测试模型的使用:灵活运用各种模型的优点,在
W 模型的框架下运行 H 模型的思想进行独立测试,并
同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预订目标。
11.3 确认测试 确认测试的内容:进行有效性测试和软件配置复查。
11.4 系统测试
11.5 验收测试 验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。根据软件需求和验收要求编制 测试计划,制定需测试的测试项,制定测试策略及验收通过准则。根据《验收测试计划》和《项目验收 准则》编制测试用例,并经过评审。验收测试一般在用户的实际生产环境中进行,使用生产中的实际数
需求) -> 测试设计过程(包括测试说明和测试方案)
-> 测试执行过程(测试用例和测试规程) -> 测试结
束过程(测试结论和测试报告) 。
13. 软件失效 13.1 软件错误( software error)软件缺陷( software defect) 软件故障( software fault ) 软件失效
方式的测试,设计阶段是做测试计划和测试设计的最好时机,程序片段一旦编写完成就会立即进行测试, 让验收测试和技术测试保持相互独立。
7. 软件测试的目的:寻找错误,并且尽最大的可能找出最多的错误。
8.软件测试的原则: 8.1 所有的软件测试都应追溯到用户需求
8.2 尽早地和不断地进行软件测试
8.3 完全测试是不可能的,测试需要终止
(software failure )区分之间的差别,有软件错误,会产生软件缺陷,出现软件故障,导致软件失效。
13.2 软件缺陷的定义: 5 条 14. 给软件缺陷和错误划分严重性和优先级的通用原则是:
14.2 表示软件缺陷所造成的危害和恶劣程度
14.3 优先级表示修复缺陷的重要程度与次序 15. 白盒测试,也叫结构测试或逻辑驱动测试,测试的是程序内部的动作和通路。
6.3 H 模型,优点在于表现出来不同测试的测试活动可以是按照某个次序先后进行的,但也可能是反 复的。只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。
6.4 X 模型, 针对单独程序片段进行互相分离的编码和测试,之后频繁的交接通过集成最终合成为 可执行的程序。
6.6 前置模型, 特点:将开发和测试的生命周期整合在一起,对每一个交付的开发结果都进行一定
二、软件测试基础
1. 测试的概念:测试是以评价一个程序或者系统属性为目的的任何一种活动,测试是对软件质量的一种 度量。
测试的目的:测试是为了度量和提高被测软件的质量,对被测软件进行工程设计、实施、维护的整个生
命周期的过程。
2.Байду номын сангаас件测试有两种风险:内部风险和外部风险; 软件测试只能证明软件有错误,不能证明软件没有错误;
5.软件测试的分类
5.1 按照软件开发阶段分:单元测试(也叫模块测试)
、集成测试(组装测试) 、确认测试、系统测
试和验收测试。
5.2 按照测试实施组织划分:开发方测试(也叫验证测试,阿尔法测试) 第三方测试(独立测试) ;
、用户测试(贝塔测试)和
5.3 按照测试技术划分:白盒测试、黑盒测试和灰盒测试;
(关键在于对程序内部结构的态度上)
按照测试技术也可划分:静态测试和动态测试。
6.软件测试模型: 6.1 V 模型,其局限性表现在把测试作为软件开发的最后一个阶段,是串行完成的;主要是针对程序
进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;
6.2 W 模型, 优点是测试与开发过程是同步进行的, 有利于测试的及早介入与执行; 缺点是对开发阶 段需要有明确的起点和终点,这点在实际情况中很难做到这点;
16. 黑盒测试,也叫功能测试,主要针对软件界面和软件功能进行测试。 17. 黑盒测试用例的设计方法有:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、
2
正交试验设计法、功能图法等。
4.质量保证( QA)和软件测试的不同: QA 是要通过预防、检查与改进来保证软件质量,重点在过程的
跟进中;
软件测试的重点不在于此, 而是要对过程的产物-开发文本和源代码进行走查, 报告质量。
运行软件, 以找出问题,
软件测试不可能无休止地测下去,原因在于:
1、输入数据太多; 2、输出结果太多; 3、组合路径太多。
10. 软件设计阶段的评审: 10.1 需求评审 《需求说明书评审规范》 10.2 设计评审 《概要设计说明书评审规范》和《详细设计说明书评审规范》
10.3 编码评测 《编码规范》 11.软件开发阶段的测试:
11.1 单元测试(又叫模块测试) 单元测试的内容: 1、模块接口; 2、局部数据结构测试;
边界测试
3、路径测试; 4、错误处理测试; 5、
单元测试用到的辅助模块:驱动模块(所测模块的主程序)和桩模块(存根模块) 11.2 集成测试(又叫组装测试或联合测试)
模块组装成为系统的方式有两种:一次性组装方式(又叫整体拼装)和增殖式组装方式;
增殖式组装方式 (又叫渐增式组装方式) 又分两种:自顶向下的增殖方式(建立较多的桩模块) 、 自底向上的增殖方式(建立较多的驱动模块)和混合增殖方式;
软件测试的目的: 1、提高软件质量; 2、降低项目风险; 3、把软件的错误控制在可以进行产品发布或交
付的程度上;
软件测试的经典定义:在规定条件下对程序进行操作,以发现错误,对软件进行质量评估;
软件是由文档、数据和程序组成;
3.软件质量的概念: 软件满足规定或者潜在用户需求的能力, 量。
要从软件在内部、 外部和使用中的表现来衡
据进行测试。
12.V&V 12.1 V&V 的基本概念:验证(通过检查和提供客观证据,证实规定的需求已满足)和确认(通过检
查和提供客观证据,证实预期用途的需求是否得到满足)
12.2 每个 V&V 活动都有输入、任务和输出
12.3 GB/T 18905.5 中规定的开发过程中的软件测试过程包括:测试计划过程(包括测试计划和测试
1
8.4 测试无法显示软件潜在的缺陷
8.5 充分注意测试中的群集现象
8.6 程序员应避免检查自己的程序
8.7 尽量避免测试的随意性
9.测试模型的使用:灵活运用各种模型的优点,在
W 模型的框架下运行 H 模型的思想进行独立测试,并
同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预订目标。
11.3 确认测试 确认测试的内容:进行有效性测试和软件配置复查。
11.4 系统测试
11.5 验收测试 验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。根据软件需求和验收要求编制 测试计划,制定需测试的测试项,制定测试策略及验收通过准则。根据《验收测试计划》和《项目验收 准则》编制测试用例,并经过评审。验收测试一般在用户的实际生产环境中进行,使用生产中的实际数
需求) -> 测试设计过程(包括测试说明和测试方案)
-> 测试执行过程(测试用例和测试规程) -> 测试结
束过程(测试结论和测试报告) 。
13. 软件失效 13.1 软件错误( software error)软件缺陷( software defect) 软件故障( software fault ) 软件失效
方式的测试,设计阶段是做测试计划和测试设计的最好时机,程序片段一旦编写完成就会立即进行测试, 让验收测试和技术测试保持相互独立。
7. 软件测试的目的:寻找错误,并且尽最大的可能找出最多的错误。
8.软件测试的原则: 8.1 所有的软件测试都应追溯到用户需求
8.2 尽早地和不断地进行软件测试
8.3 完全测试是不可能的,测试需要终止
(software failure )区分之间的差别,有软件错误,会产生软件缺陷,出现软件故障,导致软件失效。
13.2 软件缺陷的定义: 5 条 14. 给软件缺陷和错误划分严重性和优先级的通用原则是:
14.2 表示软件缺陷所造成的危害和恶劣程度
14.3 优先级表示修复缺陷的重要程度与次序 15. 白盒测试,也叫结构测试或逻辑驱动测试,测试的是程序内部的动作和通路。
6.3 H 模型,优点在于表现出来不同测试的测试活动可以是按照某个次序先后进行的,但也可能是反 复的。只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。
6.4 X 模型, 针对单独程序片段进行互相分离的编码和测试,之后频繁的交接通过集成最终合成为 可执行的程序。
6.6 前置模型, 特点:将开发和测试的生命周期整合在一起,对每一个交付的开发结果都进行一定