2017软件评测师笔记整理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
8.4 测试无法显示软件潜在的缺陷
8.5 充分注意测试中的群集现象
8.6 程序员应避免检查自己的程序
8.7 尽量避免测试的随意性
9.测试模型的使用:灵活运用各种模型的优点,在
W 模型的框架下运行 H 模型的思想进行独立测试,并
同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预订目标。
软件测试的目的: 1、提高软件质量; 2、降低项目风险; 3、把软件的错误控制在可以进行产品发布或交
付的程度上;
软件测试的经典定义:在规定条件下对程序进行操作,以发现错误,对软件进行质量评估;
软件是由文档、数据和程序组成;
3.软件质量的概念: 软件满足规定或者潜在用户需求的能力, 量。
要从软件在内部、 外部和使用中的表现来衡
8. BUG 的等级划分与优先级 严重:死机,数据丢失,主要功能完全丧失,系统悬挂等错误。修改优先级为最高,该级别需要程
序员立即修改。
较高:主要功能丧失,导致严重的问题,或致命的错误声明。修改优先级为高,该级别需要程序员
3
尽快修改。
一般: 次要功能丧失, 不太严重, 如提示信息不太准确。 修改优先级为中, 该级别需要程序员修改。
5.做网络故障分析需要的信息: 1、监控不同探针之间的连接状态、传输的字节数以及通信往返行程次数;
2、会话性能概要,监控哪段网络延迟大,带宽对网络双向性能的影响,节点用于处理和用于传输的 时间等;
3、服务器与客户端之间帧传输情况统计,可以监控到与应用相关的帧的分布,对每一个帧可以与相
关的数据包惯性力,并且可以对帧
7.负载压力测试实施步骤: 测试计划 -> 测试需求分析 -> 测试案例制定 -> 测试环境、工具、数据准备 -> 测试脚本录制、编写与
调试 -> 场景制定 -> 测试执行 -> 获取测试结果 -> 结果评估与测试报告
4
十一、安全测试与评估 1.测试与评估的内容:
轻微:微小的问题,对功能几乎没有影响,产品及属性仍可使用,如有个错别字。修改优先级为低,
该级别需要程序员修改或不修改。
9. BUG 的另一种等级划分: (不是固定的,按实际需求定义)
可以分为死机 ( 系统崩溃或挂起 )、致命 (使系统不稳定、或破坏数据、或产生错误结果,而且是常规操作
中经常发生或非常规操作中不可避免的 )、严重 (系统性能或响应时间变慢、 产生错误的中间结果但不影响
环境、测试支持、劣质组件和测试工具。
10. 软件风险分析的目的:确定测试对象、测试优先级以及测试的深度。 软件风险分析是对一个潜在问题识别和评估的过程,即对测试的对象进行优先级的划分。包括两个部分
1、发生问题的可能性有多大
2、问题的影响严重性有多重
软件风险分析采用的两种方法:表格分析法和举证分析法。
4.测试者提供的测试过程输出: 1、测试记录; 2、测试报告草案; 3、经过评审的测试报告。
5.测试过程文档: 《测试需求》 《测试规格说明》 《测试计划》 《测试记录》 《测试报告》
7.测试工作的 7 条效率原则:主动思考,积极行动;一开始就牢记目标,不迷失方向;重要的事情放在首
பைடு நூலகம்
位(但常常是紧急的事情放在首位) ;先理解人,后被人理解;寻求双赢;互相合作,追求
方式的测试,设计阶段是做测试计划和测试设计的最好时机,程序片段一旦编写完成就会立即进行测试, 让验收测试和技术测试保持相互独立。
7. 软件测试的目的:寻找错误,并且尽最大的可能找出最多的错误。
8.软件测试的原则: 8.1 所有的软件测试都应追溯到用户需求
8.2 尽早地和不断地进行软件测试
8.3 完全测试是不可能的,测试需要终止
4.质量保证( QA)和软件测试的不同: QA 是要通过预防、检查与改进来保证软件质量,重点在过程的
跟进中;
软件测试的重点不在于此, 而是要对过程的产物-开发文本和源代码进行走查, 报告质量。
运行软件, 以找出问题,
软件测试不可能无休止地测下去,原因在于:
1、输入数据太多; 2、输出结果太多; 3、组合路径太多。
最终结果,如:显示不正确但输出正确 五、黑盒测试案例与技术
)、一般 (界面拼写错误或用户使用不方便 ) 。
六、白盒测试技术
七、面向对象的软件测试技术
八、应用负载压力测试
1. 负载压力的概念:指在一定的约束条件下测试系统所承受的并发用户量、运行时间、数据量,以及确 定系统所能承受的最大负载压力。
2.负载压力测试的目的:
2. 功能性包含的子特性:适合性,准确性,互操作性,依从性,安全性。
3. 可靠性包含的子特性:成熟性,容错性,易恢复性。
4. 易使用性包含的子特性:易理解性,易学习性,易操作性。
5. 效率包含的子特性:时间特性,资源特性。 6. 可维护性包含的子特性:易分析性,易更改性,稳定性,易测试性。
7. 可移植性包含的子特性:适应性,易安装性,一致性,易替换性。
16. 黑盒测试,也叫功能测试,主要针对软件界面和软件功能进行测试。 17. 黑盒测试用例的设计方法有:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、
2
正交试验设计法、功能图法等。
18.自动化分析测试工具有: Rational Test Studio; Compuware 公司的 NuMega DevPartner Studio( 可以进行源
1+ 1>2 ;终身
学习,自我更新,不断进步。 8.PDCA 循环理念:计划 (plan)-执行 (do) -检查 (check) -改进 (active) 。
9.软件测试的风险是指软件测试过程出现的或潜在的问题。 造成的原因:测试计划不充分;测试方法有误;测试过程偏离。
常见计划风险的因素:交付日期、测试需求、测试范围,测试资源、人员的能力、测试预算、测试
需求) -> 测试设计过程(包括测试说明和测试方案)
-> 测试执行过程(测试用例和测试规程) -> 测试结
束过程(测试结论和测试报告) 。
13. 软件失效 13.1 软件错误( software error)软件缺陷( software defect) 软件故障( software fault ) 软件失效
5.软件测试的分类
5.1 按照软件开发阶段分:单元测试(也叫模块测试)
、集成测试(组装测试) 、确认测试、系统测
试和验收测试。
5.2 按照测试实施组织划分:开发方测试(也叫验证测试,阿尔法测试) 第三方测试(独立测试) ;
、用户测试(贝塔测试)和
5.3 按照测试技术划分:白盒测试、黑盒测试和灰盒测试;
10. 软件设计阶段的评审: 10.1 需求评审 《需求说明书评审规范》 10.2 设计评审 《概要设计说明书评审规范》和《详细设计说明书评审规范》
10.3 编码评测 《编码规范》 11.软件开发阶段的测试:
11.1 单元测试(又叫模块测试) 单元测试的内容: 1、模块接口; 2、局部数据结构测试;
(关键在于对程序内部结构的态度上)
按照测试技术也可划分:静态测试和动态测试。
6.软件测试模型: 6.1 V 模型,其局限性表现在把测试作为软件开发的最后一个阶段,是串行完成的;主要是针对程序
进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;
6.2 W 模型, 优点是测试与开发过程是同步进行的, 有利于测试的及早介入与执行; 缺点是对开发阶 段需要有明确的起点和终点,这点在实际情况中很难做到这点;
6.3 H 模型,优点在于表现出来不同测试的测试活动可以是按照某个次序先后进行的,但也可能是反 复的。只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。
6.4 X 模型, 针对单独程序片段进行互相分离的编码和测试,之后频繁的交接通过集成最终合成为 可执行的程序。
6.6 前置模型, 特点:将开发和测试的生命周期整合在一起,对每一个交付的开发结果都进行一定
代码复查,错误监测,性能分析,分布式应用分析等
);Parasoft Serials(可以进行代码的静态分析,白盒测
试,黑盒测试 ) 。
功能自动化测试工具有: Rational Robot 和 Mercury WinRunner 。
19. 负载压力测试内容:客户端、服务器端和网络
负载压力测试步骤: 1 、选择协议; 2、创建测试脚本; 3、参数化测试数据; 4、 创建虚拟用户; 5、
11.测试成本控制:测试准备成本控制,测试执行成本控制,测试结束成本控制,测试实施成本控制,测 试维护成本控制。
12. 质量成本组成:一致性成本和非一致性成本。
13.缺陷探测率 DDP 。 14. 投资回报率
三、软件质量与评价(强制记忆)
1. 软件质量特性:功能性,可靠性,易使用性,效率,可维护性,可移植性。
(software failure )区分之间的差别,有软件错误,会产生软件缺陷,出现软件故障,导致软件失效。
13.2 软件缺陷的定义: 5 条 14. 给软件缺陷和错误划分严重性和优先级的通用原则是:
14.2 表示软件缺陷所造成的危害和恶劣程度
14.3 优先级表示修复缺陷的重要程度与次序 15. 白盒测试,也叫结构测试或逻辑驱动测试,测试的是程序内部的动作和通路。
1、在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况。
2、预见系统负载压力承受力,在应用实际部署之前,评估系统性能
3、分析系统瓶颈,优化系统 3.应用在客户端性能测试的五种类型的目标:虚拟用户数、每秒点击次数、每秒事务数,每分钟页面数或
事务响应时间。
4.应用在网络上的性能测试:优化性能;预测系统响应时间;确定网络带宽需求;定位应用程序和网络故 障。
解码; 4、服务器与客户端之间传送包信息统计,监控包的详细信息,并且可以将包与帧与线程相关联; 5、线程信息统计,监控线程的内容和生产周期,以及线程与数据包的关系; 6、负载的高峰时刻,监控到负载的平均值以及高峰值,并且高峰时刻可以与相关的线程、数据包、
帧相关联。 7、故障错误总结
6.用户关心网络监控的问题: 1、分析关键应用程序的性能; 2、定位问题的根源是在客户端、服务器、应用程序还是网络; 3、哪些应用程序占用大量带宽; 4、哪些用户产生了最大的网络流量。
11.3 确认测试 确认测试的内容:进行有效性测试和软件配置复查。
11.4 系统测试
11.5 验收测试 验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。根据软件需求和验收要求编制 测试计划,制定需测试的测试项,制定测试策略及验收通过准则。根据《验收测试计划》和《项目验收 准则》编制测试用例,并经过评审。验收测试一般在用户的实际生产环境中进行,使用生产中的实际数
据进行测试。
12.V&V 12.1 V&V 的基本概念:验证(通过检查和提供客观证据,证实规定的需求已满足)和确认(通过检
查和提供客观证据,证实预期用途的需求是否得到满足)
12.2 每个 V&V 活动都有输入、任务和输出
12.3 GB/T 18905.5 中规定的开发过程中的软件测试过程包括:测试计划过程(包括测试计划和测试
《软件评测师 学习笔记一》 2009-4-18
二、软件测试基础
1. 测试的概念:测试是以评价一个程序或者系统属性为目的的任何一种活动,测试是对软件质量的一种 度量。
测试的目的:测试是为了度量和提高被测软件的质量,对被测软件进行工程设计、实施、维护的整个生
命周期的过程。
2.软件测试有两种风险:内部风险和外部风险; 软件测试只能证明软件有错误,不能证明软件没有错误;
边界测试
3、路径测试; 4、错误处理测试; 5、
单元测试用到的辅助模块:驱动模块(所测模块的主程序)和桩模块(存根模块) 11.2 集成测试(又叫组装测试或联合测试)
模块组装成为系统的方式有两种:一次性组装方式(又叫整体拼装)和增殖式组装方式;
增殖式组装方式 (又叫渐增式组装方式) 又分两种:自顶向下的增殖方式(建立较多的桩模块) 、 自底向上的增殖方式(建立较多的驱动模块)和混合增殖方式;
执行测试; 6、分析结果。 四. 软件测试过程与管理
1.测试过程的特性 :可重复性 , 可再现性 , 公正性和客观性
2.测试过程由 5 个活动组成 :1、确立软件测试需求; 2、编制测试规格说明; 3、制定测试计划; 4、执行 测试计划; 5、做测试结论
3.测试者提供的测试过程输入: 1、预先确定的测试规格说明; 2、测试方法; 3、测试工具。