软件测试技术经典教程笔记(修)

合集下载

软件测试技术笔记

软件测试技术笔记

软件测试技术学习笔记1. 软件工程:应用计算机科学,数学及管理科学等原理开发软件的工程。

软件工程是实现一个大型程序的一套原则方法,是指将其他工程领域中行之有效的工程学知识运用到软件开发中来,即按工程化的原则和方法组织软件开发工作。

2. 软件:程序以及开发,使用和维护程序所需的所有文档。

3. 软件测试:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别,软件测试以检验是否满足需求为目标。

4. 软件测试的价值:(1)防止质量灾难的发生;(2)确保软件满足用户的需求(功能性,非功能性);(3)确保软件符合质量标准(国家,行业,企业)。

5. 软件测试的目的:(1)证明程序的正确性—除非仅处理有限种情况;(2)发现程序错误(BUG)—直接目标;(3)检查软件(系统)是否满足需求—期望目标。

6. 软件测试的原则:(1)测试必须是有计划的,有准备的,包括任务,时间,人员,设备,经费,方法与工具,问题等;(2)所有的测试都应追溯到用户需求;(3)应当尽早地和不断地进行软件测试;(4)软件测试充分注意测试中的集群现象;(5)总假定程序具有错误的;(6)旁举测试是不可能的;(7)彻底检查每一个测试结果。

7. 软件测试的分类:(1)按照开发阶段划分:单元测试,集成测试,系统测试,验收测试;(2)按照测试实施组织划分:开发方测试,用户测试,第三方测试;(3)按照测试技术划分:白盒测试,黑盒测试。

8. 软件测试流程:制定测试计划,设计测试,实施测试,执行测试,评估测试。

9. 白盒测试:已知产品的详细设计过程,可以通过测试证明每种内部操作是否符合设计规格需求,所有内部成分是否已通过检查。

10. 黑盒测试:已知产品的用户需求规格,可以通过测试证明整个软件系统是否符合用户最终要求。

11. 采用等价类划分的原因:由于旁举测试的办法数量太大,以至于无法实际完成,自然促使我们选取测试用例。

软件测试技术大全读书笔记

软件测试技术大全读书笔记

软件测试技术大全读书笔记-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
一.测试是一种服务:
1.可以化解很多测试与开发之间的矛盾;
2.有利于测试客观公正地进行工作。

二.软件测试应该遵循的几个原则:
1.GoodEnough原则;--投入与产出成正比
2.Pareto原则;--80-20原则
3.尽可能早的开展测试;--早发现,代价小
4.在发现比较多错误的地方需要投入更多的测试;--聚集效应。

5.同化效应。

--交叉测试避免出现盲点。

三.IBM公司的软件测试方法
1.单元测试
2.集成测试
3.系统测试
4.验收测试
四.为什么需要回归测试
1.所谓回归:指产品的质量从一个较高的水平回落到一个较低的水平。

2.回归的问题根源是软件系统的内在复杂性。

3.随着系统构建的时间越长回归的问题也会增多。

2。

软件测试技术经典教程——学习笔记

软件测试技术经典教程——学习笔记

软件测试技术经典教程——学习笔记公司推荐的入门书,《软件测试技术经典教程》是一本难得的好书。

注重理论与实践结合!之前看过的一些软件测试方面的书,大多注重理论,而且大都讲得泛泛,不具体,书本之间的重复内容很多。

全书分为三部分:软件测试基础知识、黑盒测试工具和白盒测试工具。

其中黑盒测试中介绍的几个工具,很长见识,带人进入真实的软件测试工作环境。

它让我第一次深得,原来软件测试是这个样子的。

LoadRunner,这个软件之前有听过,大概知道它是性能测试的工具,但没有用过,直觉是这软件应该比较复杂。

此次书中的介绍,其实并不算好,跟任何介绍软件使用的计算机书一样,价值是不大的。

我操作的时候也没有太多按照书上的内容来,而是借助网上的电子文档教程,但书是一个好东西,它让我明白这个工具的重要性,明白它是软件测试理论及实践中的位置,这个意义比软件教程本身重要很多,是决定要不要学习一个工具的前提。

下载了安装程序之后,对着教程进行操作,发现其实过程还是非常简单的。

软件的操作,一两天就可以学会,并应用在工作中,软件操作遇到的具体问题也可以通过查找资料或者向同事请教的方式解决。

但工作过程中跟项目相关的内容,就需要软件测试理论和其它知识的支撑了。

正如前面所提到的,本书的意义在于——它带我走进真实的软件测试环境。

QTP(Quick Test Professional),是一个功能测试工具。

这个软件之前在软件测试论坛上也有人提及,还看到有专门的教程,因此感觉软件本身可能比较复杂。

但真正使用起来,才发现非常易学易用。

同LoadRunner一样,重要在于通过本书,知道了它的重要意义,软件的学习是容易的。

这款软件的主要功能是录制与回放,可对测试过程插入检查点等,回放时,可用参数化的方式进行输入。

QC(Quality Center),是一款软件测试过程管理工具,它的老版本叫Test Director,也是书中所介绍的版本。

有管理员与用户两种模式。

软件测试笔记

软件测试笔记

1.3软件测试行业基本介绍1.为什么需要软件测试(1)一般软件开发周期时间长,参与人数多,人员能力参差不齐,可能存在功能性问题。

因此为了保证软件质量,需要测试。

(2)当前同质化产品严重,在保证功能完善的同时保证性能、体验好。

2.为什么选择软件测试(1)软件测试市场需求量大(2)程序员——创造世界;测试员——让世界更美好3.为什么不让开发做测试(1)专业度:两者属于不同的技术方向,程序员不专业(2)思维定式:程序员关注功能如何实现,测试人员关注客户如何“奇葩”地使用产品(3)测试力度:程序员——产品是自己的孩子,保护,测试人员——产品是仇人家孩子。

1.4软件测试基本介绍1.软件测试定义软件测试通过手工或者工具对被测对象进行检验发现缺陷的过程。

2.软件测试的作用(1)通过测试可以发现并修复软件当中的缺陷,从而提高用户对产品的实用信息。

(2)测试可以记录软件运行中的一些数据,为决策提供支持。

(3)测试可以降低同类产品开发过程中遇到的风险。

3.测试原则指的是我们在测试工作中必须遵守的一些原则。

(1)测试证明软件存储缺陷(2)不能执行穷尽测试(3)缺陷存在集群现象(二八理论),软件核心功能占20%,测试时重点测试核心功能的20%,就会出现缺陷大多出现在20%的现象。

(4)某些测试需要依赖特定的环境(5)测试应尽早测试(6)杀虫剂现象:同样的测试用例不能重复地执行多次,会产生免疫。

(7)不存在缺陷谬论:任何软件不可能是完美的。

1.5测试对象介绍测试主题一般是软件(主题功能),但一个软件不只是只有功能需要测试。

软件分为3部分:功能集合+使用说明书+配置数据(用户第一次使用软件时所看到的内容都是配置数据(默认展示),手机内预装的软件,就是配置数据)软件在从无到有的过程中会分为不同的阶段,每阶段都会有不同的测试对象。

(1)需求分析阶段:各种需求规格说明书(对文档格式、内容、需求是否能实现等)(2)软件架构设计:API接口文档(接口测试)(3)编码实现阶段:源代码(白盒测试、单元测试)(4)系统功能使用:软件功能主题(黑盒测试、集成测试)1.6测试级别软件的开发都会依据不同的开发模型,则测试级别指的是在整个模型当中我们认为定义的测试步骤,其中测试来说最为常见的一种级别分类如下:(1)单元测试(UT):在软件测试中单元就是指组成软件最小的底层代码结构,一般就是类、函数、组件。

软件测试笔记

软件测试笔记

目录Day 3 复习:进制和进制转换 (2)Day 4复习:逻辑基础 (4)Day 5复习:缺陷报告 (6)Day 6复习:测试用例 (7)Day 7复习:等价类划分的使用 (8)Day 8复习:边界值法 (9)Day 9复习:因果图/判定表法 (11)Day 10 复习:因果图/判定表的使用步骤 (12)Day 11复习:多种测试方法的综合应用 (13)Day 12复习:正交排列法 (14)Day 13复习:测试大纲法 (16)Day 14复习:软件测试的基础理论: (17)Day 15复习:场景法 (20)Ctrl+右键点击可跳转Day 3 复习:进制和进制转换一、进制基础1、系数:十进制:0-9八进制:0-7二进制:0,1十六进制:0-9,A-F2、进位规则:逢基数进1基数:几进制基数就是几3、权:基数的次幂4、表示:下标:基数是几下标就是几后缀:二进制:B八进制:O十六进制:H十进制:D(可以不写)二、进制之间的转换1、十进制任意进制方法:除基取余逆排法2、任意进制十进制方法:按权展开求和3、十六进制二进制方法:1分44、二进制十六进制方法:4合15、八进制二进制方法:1分3 6、二进制八进制方法:3合1Day 4复习:逻辑基础1)逻辑与(and)表示:A*B=AB含义:全1为1,有0出0运算:先右对齐,按位与操作,读结果2)逻辑或(or)表示:A+B含义:全0为0,有1出1运算:先右对齐,按位或操作,读结果3)逻辑非(not)表示:含义:取反运算:按位取反2、缺陷报告1)测试人员的主要职责:《测试计划》设计,编写《测试用例》执行用例,发现bug填写《缺陷报告》,跟踪管理缺陷测试的《测试总结报告》2)缺陷报告的主要组成:缺陷编号标题发现者发现缺陷的日期缺陷所属模块缺陷所属的版本缺陷指派给谁缺陷的状态(status)问题:1、缺陷的基本处理过程:Newopenfixedclosed2、带有返测失败的处理过程Newopenfixedreopen(重新打开)fixedclosed3)[扩展]缺陷被拒绝之后的处理过程要将情况告知测试组长或测试经理,开展缺陷讨论沟通(有可能会有开发方的参与),最终得到结论:情况1:是真缺陷Newrejected[拒绝]open(谁拒绝的谁打开)fixedclosed情况2:是假缺陷Newrejected(拒绝)closedDay 5复习:缺陷报告缺陷的组成:严重程度优先级Urgent、very high 、high、medium、low描述缺陷报告总结:1、缺陷报告的用途(作用、好处)1)记录缺陷2)对缺陷进行跟踪管理3)通过缺陷报告,可以很容易实现对缺陷进行分类,总结,统计2、如何识别缺陷?1)参考需求文档—与用户需求不符的就是bug2)参考缺陷的5条定义3)参考测试用例用的预期结果—实际结果与预期结果不一致就是缺陷4)同开发人员、需求人员、客户等沟通讨论3、写缺陷报告的注意事项:随机缺陷:不可重现的bug也叫随机缺陷,就是按照指定的步骤时有时无。

软件测试方法与技术的学习笔记

软件测试方法与技术的学习笔记

软件测试方法与技术的学习笔记软件测试从不同的角度出发会派生出两种不同的测试原那么,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以承受该产品,从开发者的角度出发,就是希望测试能说明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。

测试的原那么就是从用户和开发者的角度出发进展软件产品测试的,通过测试,可以为用户提供放心的产品,并对优秀的产品进展认证。

为了到达上述的原那么,那么需要注意以下几点:1.应当把“尽早和不断的测试”作为开发者的座右铭2.程序员应该防止检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。

3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比方网络异常中断、电源断电等情况。

4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

5.对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进展讨论和分析。

6.制定严格的测试方案,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。

8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档在测试实施之前,软件测试工程师必须确定将要采用的测试策略和测试方法,并以此为依据制定详细的测试案例。

而一个好的测试策略和测试方法必将给软件测试带来事半功倍的效果,它可以充分利用有限的人力和物力资源,高效率、高质量地完成测试。

那么,终究如何才能确定一个好的测试策略和测试方法呢,一般来说,在确定测试方法时,应该遵循以下原那么:第一,要根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级和测试重点;第二,要认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的程序错误,因为一次完整的软件测试过后,如果程序中遗留的错误过多并且很严重,那么说明本次测试是失败的,是缺乏的,而测试缺乏意味着让用户承当隐藏错误带来的危险,同时反过来说如果过度测试那么又会浪费许多珍贵的资源。

软件测试技术笔记

1.1什么是软件测试软件测试:在可控的预置条件下操作软件的过程,其目的是拟定软件行为符合产品规格说明、发现错误和验证软件复符合用户的需求。

注意:目的不仅仅是发现软件存在缺陷没有发现缺陷的测试同样有价值测试是评估软件质量的一种方法1.2软件测试原则(1)尽早和不断的进行软件测试发现软件缺陷越早,其修复成本越低(2)重视无效数据和非预期使用习惯的测试缺陷高发区(3)充足注意测试中的群集现象缺陷扎堆(4)用例要定期评审,适时补充修改用例保持测试用例的活力(5)应当对每一个测试结果做全面检查发现隐含的缺陷(6)经济原则穷尽测试不也许,考虑成本(7)开发人员应避免测试自己的程序思维定势、心理作用1.3软件测试分类软件开发阶段:单元测试、集成测试、系统测试、验收测试测试方法:白盒测试、黑盒测试测试实行方:开发方测试、用户测试、第三方测试测试内容:功能测试、性能测试、安全性测试、兼容性测试、可靠性测试按软件开发阶段分类:(1)单元测试:模块测试,对软件中最小可测试单元进行检查、验证(2)集成测试:组装测试,对软件不同单元或部件的接口进行测试(3)系统测试:将软件与外设、网络等结合在一起,对整个产品系统进行的测试(4)验收测试:按照验收依据,对整个系统进行测试按测试方法分类:(1)白盒测试(结构测试、逻辑驱动测试)基于代码的内部逻辑知识,检测软件内部动作是否按照规格说明书的规定正的确现,检查软件中的所有结构和途径是否可以按预定规定对的工作。

(2)黑盒测试(功能测试、数据驱动测试)用的多把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,只检查程序功能是否按照需求规格说明书的规定正常使用,程序能否适本地接受输入数据,并产生对的的输出信息。

1.4软件测试方法黑盒测试:等价类划分法、边界值分析法、错误推测法、因果图法、鉴定表驱动法、正交实验法、场景法、功能图法白盒测试:代码走查、代码审查、静态分析、逻辑覆盖、基本途径测试、域测试、符号测试、程序插桩几种常用的测试方法(1)等价类划分法:一种重要的、常用的设计方法根据数据的需求,吧数据划分为有效等价类和无效等价类,进而从每个等价类中选取一个数据作为测试用例数据。

软件评测师教程笔记

软件评测师教程(第一版)笔记第一篇理论篇第1章软件测试概论1.1概述早期的测试等同于“调试”。

测试是为发现错误而执行的一个程序或者系统的过程。

测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。

1.3软件测试与软件项目的关系软件测试的目的是为了发现软件中存在的错误,但是,其根本目的是为了提高软件质量,降低软件项目的风险。

软件的质量风险表现在两个方面,一种是内部风险,一种是外部风险。

内部风险是在即将销售的时候发现有重大的错误,从而延迟发布日期,失去市场机会;外部风险是用户发现了不能容忍的错误,引起索赔,法律纠纷,以及用于客户支持的费用甚至失去客户的风险。

软件测试只能证明软件存在错误,而不能证明软件没有错误。

软件公司对软件项目的期望是在预计的时间、合理的预算下,提交一个可以交付的产品,测试的目的就是把软件的错误控制在一个可以进行产品交付/发布的程度上,可以交付/发布的产品并不是没有错误的产品,因此软件测试不可能无休止地进行下去,而是要把错误控制在一个合理的范围之内,因为软件测试也是需要花费巨大成本的。

1.5第三方测试第三方测试是指独立于软件公司自身测试的测试。

第三方测试机构的测试除了发现软件问题之外,还有对软件进行科学、公正的评价的职能,这就要求第三方测试机构要保持公正、廉洁、客观、科学、独立的态度。

第2章软件测试基础1、什么是软件测试测试(test)被当作一个常规的检验产品质量的生产活动。

测试的含义为“为检验产品是否满足需求为目标”。

“软件测试”的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。

软件是由文档、数据以及程序组成的,那么软件测试就应该是对软件形成过程的文档、数据以及程序进行的测试,而不仅仅是对程序进行的测试。

2、什么是软件质量ISO9126中定义的“软件质量”是:软件满足规定或潜在用户需求特性的总和。

ISO14598中“软件质量”定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。

软件测试笔记

找到的软件缺陷越多 就说明软件缺陷越多
程序员也有心情不好的时候 程序员往往犯同样的错误 某些软件缺陷实乃冰山一角
原则
杀虫剂怪事
软件测试越多,对测试的免疫力越强
原则
并非所有软件缺陷都需要修复
没有足够的时间 不算真正的软件缺陷 修复的风险太大 不值得修复
原则
软件测试员在产品小组中不受欢迎
早点找出缺陷 控制情绪 不要总是报告坏消息
测试理论概述
测试员素质
探索精神、创造性、追求完美(尽力接近目标)、判断准确、注重策略和外交、善于说 服
测试理论概述
软件产品的组成
安装、帮助文件、样本和示例、说明文件、广告和宣传材料、标签和 不干胶、用户手册、 产品支持信息、错误信息、最终产品、图标和标志
体系构架师或系 统工程师
技术作者、用户协 助专员、用户培训 专员、手册编写员
软件缺陷定义
软件未实现spec虽未 明确提及但应该实现
的目标
测试理论概述
0 1
产品说明书
0 3
编码
0 2
设计
0 4
其他(误解、缺陷多处 反复出现 、测试错误)
软件缺陷原因
测试理论概述
软件缺陷术语
缺点、故障、问题、错误、事件、异常 偏差、失败、矛盾、特殊、缺陷
测试理论概述
缺陷修复费用
随着时间的推移,费用指数级增长
软件测试
演讲人
2 0 2 0 - 11 - 0 4
目录
CONTENTS
1
测试理论概述
2
测能
软件出现了spec指 明不应该出现的错 误
软件难以理解、不易使用、 运行缓慢或者从测试员角 度看最终用户会认为不好
软件实现了spec未 提到的功能

《软件测试》笔记.doc

1.软件缺陷如何影响我们的生活2.软件缺陷是什么,为什么会出现只有符合下列5个规则才能叫软件缺陷1.软件未达到产品说明书标明的功能2.软件出现了产品说明书不会出现的错误3.软件功能超出产品说明书指明的范围4.软件未达到产品说明书虽未指出但应达到的目标5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好导致软件缺陷最大的原因是产品说明书;软件缺陷的第二大来源是设计方案。

3.软件测试者是谁,职责是什么软件测试员的目标是发现软件缺陷。

软件测试员的目标是找出软件缺陷,尽可能早一些。

软件测试员的目标是找出软件缺陷,尽可能早一些,并确保其得以修复。

(最终定义)区别:软件质量评判人员的主要职责是创建和加强促进软件开发并防止软件缺陷的标准和方法。

Quiz:1.在千年虫例子中,Dave有错误吗?2.判断:公司或者开发小组如何称呼软件问题很重要。

×3.仅仅测试程序是否按预期方式运行有何错误?4.产品发布后修复软件缺陷比项目开发早期这样做的费用要高出多少?5.软件测试员的目标是什么?软件测试员的目标是找出软件缺陷,尽可能早一些,并确保其得以修复。

(最终定义)6.判断:好的测试员不懈追求完美。

×7.阐述产品说明书为什么通常是软件产品中制造软件缺陷的最大来源。

1.构成软件产品的主要部分。

代码、帮助文件、用户手册、样本和示例、标签和帖子、产品支持信息、图标和标志、错误信息(别忘了测试错误提示信息)、广告和宣传材料、安装、说明文件等2.制作软件产品的人和技术。

人:项目管理员(编写产品说明书)、程序管理员(管理进度)、监制人(进行重大决策和取舍);设计师、系统工程师;程序员、开发人员、代码制作者;测试员、质量评判员;技术作者、用户助手、用户培训专员、手册编写人员、文案专员;结构管理员、制作人员等3.软件从构想到最终产品的过程。

从最初构思到公开发行软件产品的过程称为软件开发模式。

4种最常用的模式:大棒模式、边写边改模式、流水线模式、螺旋模式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章基础知识、软件1)、软件=程序+文档2)、分类功能:系统+应用架构:单机+C/S+B/S用户:产品+项目规模:小型+中型+大型、Bug1)、类型一(广义上,软件生命周期,与用户需求不符的问题):完全没有实现的功能基本实现功能,但有功能上或性能上的问题实现了用户不需要的功能2)、类型二(测试执行阶段的问题)Defect---------Requirements&DesignError-----------DevelopmentBug------------TestingFailure---------Post production、测试1)、概念:测试是为了检验实际的软件是否符合用户需求,所以不能为了发现错误而发现错误。

使用人工或自动手段,来运行或测试某个系统的过程。

2)、测试环境:硬件+软件+网络要求:真实(项目、产品)+干净+无毒+独立(测试与开发)、测试用例测试用例=输入+输出+测试环境便于团队交流,便于重复测试,便于跟踪统计,比纳与用户自测开发生命周期需求分析→概要设计→详细设计→编码→维护测试生命周期测试计划→测试设计→测试执行→测试评估需求分析和测试计划完成后,根据《系统需求规格说明书》和软件原型(DEMO)写测试用例1.5 其他1)、测试人员素质要求:细心、耐心、信心、服务意识、团队合作意识、沟通能力2)、如何成为优秀的测试工程师:1、不断学习充电2、阅读原版书籍3、阅读缺陷管理系统中的缺陷报告4、阅读高手写的测试用例5、学习产品相关的业务知识1.6 软件测试的基本规则1) Zero Bug 与Good EnoughGood Enough原则:不充分测试是不负责任,过分的测试是一种资源浪费。

参考:*遗留bug不超过10个,严重的不超过5个*测试用例执行率为100%,通过率为95%*单元测试,关键模块语句覆盖率到达100%,分支覆盖率到达85%2) 不要视图穷举法3) 开发人员不能既是运发动又是裁判员4) 软件测试要尽早执行一般情况下,软件80%的缺陷集中在20%的模块中。

7) 缺陷具有免疫性缺陷具有免疫性,需要根据新版本修改维护测试用例,另外,有一个值得注意的经验:没修复3-4个bug,可能会产生一个新bug。

第二章测试分类、是否运行程序Static Testing------------代码标准、界面、文档Dynamic Testing--------运行程序、根据阶段分类Unit Testing(单元测试)----------10%最小模块,依据源程序和《详细设计》白盒测试人员||开发人员编译代码→静态测试→动态测试桩模块(Stub)、驱动模块(Driver)Integration Testing(集成测试)----------20%模块间的接口,依据单元测试的模块和《概要设计》白盒测试人员||开发人员一般单元和集成同步进行System Testing(系统测试)----------40%整个系统(功能、性能、软硬件环境),依据《需求规格说明书》黑盒测试工程师Acceptance Testing(验收测试)----------20%整个系统(功能、性能、软硬件环境),依据《需求规格说明书》和验收标准用户,可配合黑盒测试工程师α测试:内侧β测试:公测、是否查看代码1)、White-Box Testing-----源代码的测试2)、Black-Box Testing-----功能测试、性能测试Function Testing(功能测试)Logic Function Testing(逻辑功能测试)UI Testing(界面测试):窗口、下拉式菜单和鼠标操作Usability Tseting(易用性测试)Installation Testing(安装测试)Compatibility Testing(兼容性测试)其他:恢复测试、裸机测试、确认测试、接口测试、数据库测试、安全测试、配置测试Performance Testing(性能测试)时间性能:主要指一个事务的具体响应时间(Respind Time)。

空间性能:主要指软件运行时所消耗的系统资源(CPU、内存、硬盘)。

分类:一般性能测试、稳定性测试、负载测试、压力测试a、一般性能测试:让被测系统在正常的软硬件环境下运行,不向其施加任何压力b、稳定性测试(也叫Reliability Testing 可靠性测试):指连续运行被测系统,检查系统运行时的稳定程度。

通常用MTBF(Mean Time Between Failure)c、负载测试(Load Testing):让被测系统在其能忍受的压力极限范围内连续运行,检测系统的稳定性。

d、压力测试(Stress Testing):持续不断的给被测系统增加压力,知道被测系统压垮为止,用来测试系统能承受最大压力。

、回归测试、冒烟测试、随机测试Regression Testing(回归测试):软件新版本测试时,重新执行上一个版本测试用例。

可以在任何阶段进行〔单元测试、集成测试、系统测试、验收测试等〕,既有黑盒测试的回归,也有白盒测试的回归。

Smoke Testing(冒烟测试):对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

Random Testing(随机测试):指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。

第三章测试技术黑盒测试技术、等价类技术(Equivalence Class Testing)等价类:某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

有效等价类:符合《需求规则说明书》,合理地输入数据集合无效等价类:不符合《需求规则说明书》,无意义的输入数据集合等价类划分步骤:1)先考虑输入数据的类型(合法和非法)2)再考虑数据范围3)画出示意图,区分等价类4)为每个等价类编号5)从等价类中选择测试数据构造用例、边界值技术(Boundary Value Testing)、因果图法(Cause-Effect Graphs)因果图法步骤1)找出所有的输入条件和输出,并编号2)分析输入条件之间的关系,是互斥还是可以同时满足3)画出输入条件的排列组合情况4)编写测试用例因果图试用于输入条件过多、流程图法(Workflow Method)流程图法步骤1)详细了解需求2)根据需求说明或界面原型,找出业务流程的各个页面及各页面之间的流转关系3)画出业务流图4)写用例,覆盖所有路径分支流程图法是针对整个系统,而非某个页面或模块还有其他如:判定表、错误推测、场景法等,例:A TM机取钱-场景法(不全)白盒测试技术3.5 白盒测试检查点*对程序模块的所有独立的执行路径至少测试一次*对所有的逻辑判定,取’真’与’假’都至少测试一次*在循环的边界和运行界限内执行循环体*测试内部数据结构的有效性等步骤:1)根据分析画出流程图2)计算圈复杂度= 判定节点数+ 13)写出独立路径4)根据独立路径设计测试用例第四章缺陷管理、Bug的分类1)严重程度(Severity):系统崩溃、严重、一般、次要、建议2)优先级(Priority):高(High)、中(Middle)、低(Low)严重程度高,优先级不一定高,严重程度低,优先级不一定低3)按测试种类:逻辑功能类(Fcuntion)、性能类(Performance)、界面类(UI)、易用性类(Usability)、兼容性类(Compatibility)4)按功能模块5)按生命周期:新建(New)、确认(Confirmed)、解决(Fixed)、关闭(Closed)、重新打开(Reopen) 4.2 缺陷报告注意点:1)确保重现Bug2)用最少且必要步骤描述Bug3)简洁、准确、完整4)一个Bug一个报告4.3 缺陷管理工具TrackRecord、Clearquest、Bugzilla(免费)、Mantis(免费)、JIRA(免费)Bugzilla:Terry Weissman研制,perl编写,后台数据库是MySQL,最初是用来在Netscape 内部跟踪Bug的,可以在多种平台运行第五章常用测试工具分类:黑盒测试工具、白盒测试工具、测试管理工具MI公司产品:1、LoadRunner:性能测试工具2、WinRunner:功能测试工具(QTP:MI的QTP代替占有市场)3、TestDirector:测试管理工具(QC:HP收购MI公司后退出的一款TD升级产品)性能学习LoadRunner,功能学些QTP,管理学习TDIBM Rational公司的产品:Rational Testmanager(测试管理工具)Rational ClearQuest(缺陷管理工具)Rational Robot(功能/性能工具)Rational Purify(白盒测试工具)Compuware公司产品QACenter(测试管理)TrackRecord(缺陷管理)QARun(功能)QAload(性能)DevPartner(白盒测试)Telelogic公司产品Telelogic Doors(需求管理)、Logiscope(白盒测试工具)其他公司产品微软-WAS(性能测试)Radview公司-WebLoad(性能测试),TestView Manager(测试管理)Parasoft公司-JTest(白盒测试),C++ Test(白盒测试)另外,很多缺陷管理工具是开源的,如:Bugzilla、Mantis、Jira第六章测试管理、测试与质量软件质量:软件符合明确表达的功能和性能需求、文档中明确描述的开发标准,以及所有专业开发的软件都应具有的隐含特征的程度(需求一致、符合准则、隐含特征) SQA(Software Quality Assurance):软件质量保证,为确保软件开发过程和结果符合预期要求而建立的一系列规程,以及一照规程和计划采取的一系列活动及其结果评价。

SQA需要做的工作:*建立软件质量保证活动的实体*制定软件质量保证计划*坚持各阶段的评审、审计、跟踪*监控软件产品的质量*采集软件质量保证活动的数据*度量软件质量保证活动SQA需要到达目标:*通过监控软件开发过程来保证产品质量*保证开发出来的软件和软件开发过程符合相应标准与规程(ISO90000 或CMM)*保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者*确保项目组指定的计划、标准和规程适合项目组需要,同时满足评审和审计需要。

SQA工作人员:QA,QC工作人员:主要是TESTERQA与QC:QA-预防问题(Prevention),贯穿于整个软件生命周期中,预防错误的成因,重点是对软件开发过程进行监督、管理、控制QC-发现问题(Detection),主要是测试人员,关注于最后的产品的质量活动,重点是对开发出的产品进行检查、常用模型CMM:能力成熟度模型1)初始级(Initial):软件过程的特征是无序的,有时甚至是混乱的。

相关文档
最新文档