软件测试[(美)ron patton]读书笔记
软件测试笔记

单元测试:单元测试是对软件中的基本组成单位进行的测试。
目的是检验软件基本组成单位的正确性。
集成测试:集成测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。
验收测试:验收测试是部署软件之前的最后一个测试操作。
验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统满足其用户的需求。
单元测试阶段:1.模块接口测试:通过所测模块的数据流进行测试。
调用所测模块时的输入参数与模块的形式参数个数、属性和顺序是否匹配。
2.局部数据结构测试:局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确、模块的局部数据结构往往是错误的根源。
3.路径测试:对模块中重要的执行路径进行测试。
4.错误处理测试:比较完善的模块设计要求能预见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重做安排,保证其逻辑上的正确性。
5.边界条件测试:软件经常在便捷上失效,边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点。
集成测试阶段:在集成测试中,我们主要关注以下几点:1.把各个模块连接起来时,穿越模块接口的数据是否会丢失。
2.各个模块组合起来,能否达到预期的要求的功能。
3.一个模块的功能是否会对另一个模块的功能产生不利的影响。
4.全局数据结构是否有问题。
5.单个模块的误差积累起来是否会被放大,从而达到不可接受的程序。
系统测试阶段:一般系统的主要测试工作都集中系统测试阶段。
根据不同的系统,所进行的测试种类也很多。
功能测试:功能测试是对产品的各功能进行验证,以检查是否满足需求的要求。
性能测试:性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
安全测试:安全测试检查系统对非法入侵的防范能力。
兼容测试:兼容测试主要测试系统在不同的硬件环境下是否能够正常的运行。
验收测试阶段:功能确认测试安全可靠性测试易用性测试可扩充性测试兼容性测试资源占用率测试用户文档资料验收白盒测试、黑盒测试、灰盒测试黑盒测试黑盒测试,指的是把被测的软件看做是一个黑盒子,我们不去关心盒子里面的结构是什么样的,只关心软件的输入和输出结果。
软件测试_读书笔记1

软件测试必备1、软件测试基本概念和方法三个重要的测试原则:1. 软件测试是为发现错误而执行程序的过程;2. 一个好的测试用例具有较高的发现某个尚未发现的错误的可能性;3. 一个成功的测试用例能够发现某个尚未发现的错误。
1.测试的过程具有一定的破坏性2.测试用例包括:输入数据的详细描述和正确输出结果的精确描述3.检查程序是否‘没有做它应该做的’仅仅是测试一半,另一半是检查‘是否做了它不应该做的’4.全面测试目标:验证是否做了应该做的事情,确保可靠性验证程序是否做了不应该做的事情,确保安全性5.任何多余的功能都应视为安全隐患6.Boehm给出的度量中的头10个表示软件现象遵守Pareto分布:20%的模块消耗80%的资源(人力、经费等);20%的模块包含80%的错误;20%的错误消耗80%的修改成本;20%的改进包含了80%的适应性为主的成本;20%的模块占用了80%的执行时间;20%的软件工具使用占80%的整个工具使用时间。
补充:20%的软件缺陷造成80%的软件故障20%的软件开发和管理人员(骨干),决定了80%软件开发质量:Pareto原理强调了精力集中在少数重要的事情上(vital few),而不是多数琐碎的事情上(trivial many)。
6.软件测试是一种作为主体的人通过各种手段对客体软件的某种固有属性进行的一种以8.审查的终极目标——确认缺陷9.人工审查包括:文档审查代码审查10. 软件缺陷的类型:可追溯性、逻辑、赋值顺序、控制、数据、接口、文档、注释、例外情况处理、内存等。
11. 只要简单地使用静态代码分析来增强输入验证的正确性就能够避免OWASP(业界领袖的安全性协会)所列出的约70%的安全性问题。
12. 圈度复杂度(独立路径的最大数量=程序控制流图中的区域数)=控制流图边数—控制流图的节点数+2二、测试框架的表述13. 测试框架(Test Framework):一组相互协作的组件的集合,能够实现一个或多个测试域中的一系列问题的解决方案。
软件测试自学笔记

首先测试程序的核心功能,然后测试辅助功能。
首先测试功能,然后测试性能。
首先测试常见情况,然后测试异常情况。
首先测试经过变更的部分,然后测试没有变更的部分。
首先测试影响大的问题,然后测试影响小的问题。
首先测试必须测试的部分,然后测试可选或没有要求测试的部分。
中国国内软件测试人才现巨大缺口算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。
尽管没有任行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。
行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。
很多时候,软件运行起来没有异常,但是功能不一定正确。
只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。
行业知识与工作经验有一定关系,通过时间即可以完成积累。
个人素养作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。
因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。
经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。
某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。
如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。
4.责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。
如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。
软件测试读书心得(例文7篇).doc

软件测试读书心得(例文7篇)软件测试读书心得篇1通过这次课程设计的实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。
在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意思。
在具体操作中对这学期所学的C++语言的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到C++语言具有的语句简洁,使用灵活,执行效率高等特点。
发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。
通过实际操作,学会C++语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”的寓意。
在此希望以后应多进行这样的实训,加长设间,培养学生独立思考问题的能力,提高实际操作水平。
通过本次项目实训我要感谢学校领导给我们提供了这次机会,让我们自己有出去体会生活,自己做项目的深刻体会。
这次实训让我明白我自己之前的学习还是差很多,只有不断的努力,才能学好。
还要感谢达内公司对我的指导,我自己的努力固然重要,但是达内的优秀教师给我做的培训,讲的理论都让我受益匪浅,让我对软件有了一个新的概念新的理解。
软件测试读书心得篇5这个暑假惠普派人到我们学校来开展软件测试培训。
老师说机会难得所以我就参加了,说实话每天在教师从早晨坐到下午,中间只有一个半小时休息时间,这样还是相当累人的。
我们第一天开始就觉得这个简直比平常上课还累啊。
不过看到老师讲得如此认真,看到惠普如此强大,我看在座的学员都听得非常认真。
所以向我这种上课从来不听讲的这回都听得认真得不得了,呵呵。
前两天确实还是有点累,讲的也是理论课,而且以前我们从来没有接触过测试这个行业,所以听得也嘿吃力。
《软件测试》读书笔记(持续更新)

《软件测试》读书笔记(持续更新)⽂章⽬录#第⼀部分 软件测试综述##第⼀章 软件测试的背景###1.1臭名昭著的软件错误⽤例研究###1.2软件缺陷是什么####1.2.1软件失败的术语确实严重,甚⾄是危险的情况:故障(fault)、失败(failure)、缺点(defect)不那么尖锐,主要指未按预料运⾏,⽽不指全部失败:异常(anomaly)、事件,插曲(incident)、偏差(variance)最常⽤的术语:问题(problem)、错误(error)、缺陷(bug)其他术语:⽭盾(inconsistency)、特殊(feature)软件测试中出现的其他术语:产品说明书(product specification):简称为说明(spec)或产品说明(product spec)。
它对开发的产品进⾏定义,给出产品的细节、如何做、做什么、不能做什么。
这种协定从简单的⼝头说明到正式的书⾯⽂档有多种形式。
之后《软件开发的过程》会讲述产品说明书和开发过程中的更多内容。
在每个公司,不同的开发⼩组⾥会有不同的术语,但在⽤词上过多的计较是没有意义的。
在这本书中,所有的软件问题都被称为缺陷####1.2.2软件缺陷的官⽅定义 ☟⾄少满⾜下列5个规则之⼀才称发⽣了⼀个软件缺陷(software bug)1)软件未实现产品说明书要求的内容(产品说明书:计算器能够准确⽆误的进⾏加减乘除;按下(+)键,没有反应,或者得到错误答1)软件未实现产品说明书要求的内容(产品说明书:计算器能够准确⽆误的进⾏加减乘除;按下(+)键,没有反应,或者得到错误答案)2)软件出现了产品说明书指明不应该出现的错误(产品说明书:计算器永远不会崩溃、锁死或者停⽌反应;狂敲键盘,计算器停⽌接受输⼊)3)软件实现了产品说明书未提到的内容(计算器求加减乘除还可以求平⽅根,这也是缺陷,虽然有了更好,但会增加测试的⼯作,甚⾄带来更多的缺陷)4)软件未实现产品说明书虽未明确提及但应该实现的⽬标(⽬的为了捕获那些产品说明书上的遗漏之处。
软件测试技术笔记

1.1什么是软件测试软件测试:在可控的预置条件下操作软件的过程,其目的是拟定软件行为符合产品规格说明、发现错误和验证软件复符合用户的需求。
注意:目的不仅仅是发现软件存在缺陷没有发现缺陷的测试同样有价值测试是评估软件质量的一种方法1.2软件测试原则(1)尽早和不断的进行软件测试发现软件缺陷越早,其修复成本越低(2)重视无效数据和非预期使用习惯的测试缺陷高发区(3)充足注意测试中的群集现象缺陷扎堆(4)用例要定期评审,适时补充修改用例保持测试用例的活力(5)应当对每一个测试结果做全面检查发现隐含的缺陷(6)经济原则穷尽测试不也许,考虑成本(7)开发人员应避免测试自己的程序思维定势、心理作用1.3软件测试分类软件开发阶段:单元测试、集成测试、系统测试、验收测试测试方法:白盒测试、黑盒测试测试实行方:开发方测试、用户测试、第三方测试测试内容:功能测试、性能测试、安全性测试、兼容性测试、可靠性测试按软件开发阶段分类:(1)单元测试:模块测试,对软件中最小可测试单元进行检查、验证(2)集成测试:组装测试,对软件不同单元或部件的接口进行测试(3)系统测试:将软件与外设、网络等结合在一起,对整个产品系统进行的测试(4)验收测试:按照验收依据,对整个系统进行测试按测试方法分类:(1)白盒测试(结构测试、逻辑驱动测试)基于代码的内部逻辑知识,检测软件内部动作是否按照规格说明书的规定正的确现,检查软件中的所有结构和途径是否可以按预定规定对的工作。
(2)黑盒测试(功能测试、数据驱动测试)用的多把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,只检查程序功能是否按照需求规格说明书的规定正常使用,程序能否适本地接受输入数据,并产生对的的输出信息。
1.4软件测试方法黑盒测试:等价类划分法、边界值分析法、错误推测法、因果图法、鉴定表驱动法、正交实验法、场景法、功能图法白盒测试:代码走查、代码审查、静态分析、逻辑覆盖、基本途径测试、域测试、符号测试、程序插桩几种常用的测试方法(1)等价类划分法:一种重要的、常用的设计方法根据数据的需求,吧数据划分为有效等价类和无效等价类,进而从每个等价类中选取一个数据作为测试用例数据。
软件测试学习笔记-概念篇(一)

软件测试学习笔记-概念篇(⼀)前⾔ 每个系统的成型,上线都离不开测试,这段时间陆陆续续的学习测试,在这⾥总结⼀番;作为学习交流之⽤;正⽂早期定义:软件测试是对程序能够按预期运⾏建⽴起⼀种信⼼。
经典定义:测试是为了发现错误⽽执⾏程序的过程。
IEEE定义(ISO/IEC/IEEE 29119):使⽤⼈⼯或者⾃动的⼿段来运⾏或测量软件系统的过程,以检验软件系统是否满⾜规定的要求,并找出与预期结果之间的差异。
五⼤要素有:质量、⼈员、资源、流程、技术。
其中最主要的是软件质量,其他四个要素都是为质量服务的。
其次是⼈员,决定了技术,资源,流程,以及配置和使⽤。
技术包含了:软件测试技术、软件测试⽅法、使⽤的⼯具。
技术是⼿段。
流程:测试计划,测试⽤例,测试执⾏,测试报告。
有⼀些进⼊进出的标准(规范性,对软件测试做⼀个规范的要求)。
资源:测试所需要的硬件设备、⽹络环境、测试设备、测试时间(周期)。
注意:⼈不是资源。
⽬标:①提升测试覆盖率-> 能够有效的保证软件的质量②提升测试效率->能够使我们更好地完成软件测试⼀、测试显⽰缺陷的存在,但不能证明系统不存在缺陷。
经过软件测试,可以发现软件中的故障;但是经过软件测试,不能保证软件就没有故障了。
⼆、穷尽测试是不可能的,应设定及时终⽌的条件。
三、测试应该尽早进⾏四、缺陷具备群集特性越是发现问题多的模块,越是需要重点测试的对象五、测试的杀⾍剂悖论在测试中,如果采⽤同样的测试⽤例,同样的测试⽅法。
多次重复的测试某⼀个模块,最后就不能再发现新的缺陷。
所以说,测试⽤例和测试⽅法应该不定期的评审修改,并且增加不同的测试⽅法和⽤例来测试不同的部分,从⽽更多的发现软件的缺陷。
六、测试的⼆⼋原则测试时间和资源往往是有限的,要找出所有的缺陷是不可能的,这时我们需要遵循⼆⼋原则。
把80%的时间或者资源⽤在20%的重点模块上,重点测试模块中20%的重要模块。
来达到测试效率和资源配置的最佳的⽐例。
《软件测试》笔记.doc

1.软件缺陷如何影响我们的生活2.软件缺陷是什么,为什么会出现只有符合下列5个规则才能叫软件缺陷1.软件未达到产品说明书标明的功能2.软件出现了产品说明书不会出现的错误3.软件功能超出产品说明书指明的范围4.软件未达到产品说明书虽未指出但应达到的目标5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好导致软件缺陷最大的原因是产品说明书;软件缺陷的第二大来源是设计方案。
3.软件测试者是谁,职责是什么软件测试员的目标是发现软件缺陷。
软件测试员的目标是找出软件缺陷,尽可能早一些。
软件测试员的目标是找出软件缺陷,尽可能早一些,并确保其得以修复。
(最终定义)区别:软件质量评判人员的主要职责是创建和加强促进软件开发并防止软件缺陷的标准和方法。
Quiz:1.在千年虫例子中,Dave有错误吗?2.判断:公司或者开发小组如何称呼软件问题很重要。
×3.仅仅测试程序是否按预期方式运行有何错误?4.产品发布后修复软件缺陷比项目开发早期这样做的费用要高出多少?5.软件测试员的目标是什么?软件测试员的目标是找出软件缺陷,尽可能早一些,并确保其得以修复。
(最终定义)6.判断:好的测试员不懈追求完美。
×7.阐述产品说明书为什么通常是软件产品中制造软件缺陷的最大来源。
1.构成软件产品的主要部分。
代码、帮助文件、用户手册、样本和示例、标签和帖子、产品支持信息、图标和标志、错误信息(别忘了测试错误提示信息)、广告和宣传材料、安装、说明文件等2.制作软件产品的人和技术。
人:项目管理员(编写产品说明书)、程序管理员(管理进度)、监制人(进行重大决策和取舍);设计师、系统工程师;程序员、开发人员、代码制作者;测试员、质量评判员;技术作者、用户助手、用户培训专员、手册编写人员、文案专员;结构管理员、制作人员等3.软件从构想到最终产品的过程。
从最初构思到公开发行软件产品的过程称为软件开发模式。
4种最常用的模式:大棒模式、边写边改模式、流水线模式、螺旋模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分软件测试综述软件测试-机械工业出版社(美)Ron Patton著周予滨姚静等译雪舞奉天读书笔记说真的,这本书真的很不错,里面的一些定义很权威的,而且话不罗嗦,讲的都是重点,美中不足的在测试用例设计方法那块不完整。
许多人在推荐入门看什么书的时候都提到此书,为了方便新手学习(其实我也是新手哈哈),我决定把我以前的读书笔记敲出来贴在网上,写的不是太全,主要是我觉得不错的东西。
在此感谢此书作者和翻译人员!软件测试读书笔记之一软件测试背景 (1)软件测试读书笔记之二软件开发过程 (2)软件测试读书笔记之三软件测试的实质 (3)软件测试读书笔记之四检查产品说明书 (4)软件测试读书笔记之五闭着眼睛测试软件 (5)软件测试读书笔记之六检查代码 (9)软件测试读书笔记之七带上X光眼镜检查软件 (13)软件测试读书笔记之八配置测试 (16)软件测试读书笔记之一软件测试背景一.软件缺陷的正式定义:符合下边5个规则的才能叫做软件缺陷。
1.软件未达到产品说明书标明的功能。
2.软件出现了产品说明书指明不会出现的错误。
3.软件功能超出产品说明书指明范围。
4.软件未达到产品说明书虽未指出但应达到的目标。
5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
二.软件缺陷的产生原因:导致软件缺陷最大的原因是产品说明书;第二大来源是设计方案;三是代码;四是某些软件缺陷产生的条件被错误地认定。
三.软件缺陷的修复费用:随时间增长,修复软件缺陷的费用是呈几何数级增长的,随时间推移,数十倍增长。
四.软件测试人员的目的:软件测试远的目标就是发现软件缺陷,尽可能早一些,并确保其得以修复。
五.怎么成为优秀测试员:1.探索精神2.故障排除能手3.不懈努力4.创造性5.追求完美6.判断准确7.老练稳重8.说服力9.除了这些素质,在软件编程方面受过的教育也是重要的。
10.软件的功能为了解决现实问题,因此,教学烹饪航空木工医疗等知识都将对查找该领域软件的缺陷有莫大帮助软件测试读书笔记之二软件开发过程一.测试文挡包括:1.测试计划2.测试案例3.软件缺陷报告4.归纳,统计和总结。
二.软件产品由哪些部分组成(都是要测的哦,当然我国许多软件都无法达到这么多部分~呵呵)1. 最终产品(光盘/软盘/程序...)2.帮助文件3.用户手册4.样本和示例5.标签和帖子6.产品支持信息7.图标和标志8.错误信息9.广告和宣传材料10.安装11.说明文件这些都是要测试的,书中尤其提到了不要忘了测试错误提示信息(错误提示信息是软件产品最容易忽视的部分,通常是有程序员而不是训练有素的稿手来写的。
这些信息很少照顾到修复软件缺陷的需要,还常常造成麻烦。
软件测试员也难以找到并显示全部信息。
在软件中不要加入吓人和不友好的错误提示信息。
)三.软件开发模式1.大棒式:所有精力都在开发软件和编写代码上2.边写边改式:没有时间做好,总有时间返工哈哈!这句话经典,测试者几乎每天都拿到一个新版本,新版本出来的时候,旧版本还没测完!而新版本还包含新的或者经过修改的功能)3.流水式:创意-分析-设计-开发-测试-最终产品,只许前进不能后退!4.螺旋式:开始不必详细定义所有细节。
从小开始,定义重要功能,努力实现,接受客户反馈,然后进入下一阶段。
(一个螺旋包括6个步骤:1.确定目标,可选方案和限制条件;2.指出并解决风险;3.评估方案;4.本阶段开发和测试;5.计划下一阶段;6.确定进入下一阶段的方法。
)测试一直在进行,知道最后宣布成功!软件测试读书笔记之三软件测试的实质一.测试人员要知道的几个‘交通规则’和‘生活法则’~1.完全测试是不可能的。
A.输入量太大;B.输出结果太多;C.软件实现途径太多;D.软件说明书没有客观标准。
从不同角度看,软件缺陷标准不同。
2.软件测试是有风险行为。
3.测试无法显示潜伏的软件缺陷。
4.找到的软件缺陷越多,就说明软件缺陷越多。
5.老用一种药,害虫都有抵抗力,程序也如此,如在螺旋开发模式中,每一个轮回都会对软件进行测试,几回合后,该发现的都发现了,找不到什么错误了。
这要求我们必须不断编写不同的新测试程序,对程序的不同部分进行测试,以找到更多的缺陷。
6.并非所有的软件缺陷都能修复:A.没有足够的时间;B.不算真正的缺陷;C.修复风险太大;D.不值得修复7.难以说清的软件缺陷8.产品说明书不断变化:软件测试员必须想到产品说明书可能改变。
9.测试员做的工作不受欢迎,因为工作就是挑错!所以我们要懂得怎么和开发的相处:A.早点找出缺陷;B.控制情绪;C.多交流,不要总是报告坏消息。
10.软件测试是一项讲究条理的技术专业。
二.软件测试的术语和定义这里引用下网上的术语总结,对原作者表示歉意和谢意和敬意!(不知道是谁)1.精确和准确:A.精确参照物是目标。
与目标越接近,就越准确;B:准确参照物是每次实施的结果。
几次结果相互之间越接近,表示越精确。
但与目标可能相去甚远.2.验证和合法性检查:A.验证保证软件符合产品说明书的过程 B.合法性检查保证软件满足用户要求的过程.3.质量和可靠性:可靠性只是质量的一个方面。
A.质量可能包含功能是否齐全,产品能否在各种机器上运行,软件公司有没有技术支持,甚至包装盒的色彩,可靠性或者软件产品是否经常毁坏数据可能也很重要,但不绝对。
B.可靠性:你自己想吧,我没找到定义哈哈~4.测试和质量评判(QA):A.软件测试员的目标是找出软件缺陷,尽可能造一些,确保得以修复;B.软件质量评判人员的主要指责是创建和加强促进软件开发并防止软件缺陷的标准和方法第二部分测试基础软件测试读书笔记之四检查产品说明书一.开始测试1.A:黑盒测试:软件测试员只需知道软件要做什么,无法看到如何运作。
只进行输入操作来得到输入结果。
B:白盒测试:软件测试员可以访问程序员的代码,并通过检查代码来协助测试。
2.A:静态测试:测试不运行的部分—只是检查和审阅。
B:动态测试:指通常意义上的测试—运行和使用软件。
3.测试产品说明书属于静态黑盒测试。
二.对产品说明书进行高级审查测试产品说明书第一步不是去找软件缺陷,而是在一个高度上审视。
审查产品说明书是为了找出根本性大问题,疏忽或遗漏之处。
1.占在客户角度思考:设身处地的为客户着想,测试的时候把自己当成客户。
2.研究现有的标准和规范:软件测试员的任务不是定义润件要符合何种标准和规范,而是观察,检验是否套用正确的标准,没有遗漏。
3.审查和测试同类软件:同类软件有助于制订测试条件和测试方法,还可能暴露没想到的潜在问题。
三.产品说明书的低级测试技术1.优秀产品说明书应当具有的8个属性A.完整。
是否有遗漏和丢失?完全吗?单独使用是否包含全部内容?B.准确。
解决方案正确吗?目标明确吗?有没有错误?C.精确、不含糊、清晰。
描述是否一清二楚?还是自说自话?容易看懂和理解吗?D.一致。
产品功能描述是否自相矛盾?与其他功能有无冲突?E.贴切。
描述功能的陈述是否必要?有没有多余信息?功能是否原来的客户要求?F.合理。
在特定预算和进度下,以现有人力、物力和资源能否实现?G.代码无关。
是否坚持定义产品,而不是定义其所依赖的设计、架构和代码?H.可测试。
特性能否测试?测试员建立验证操作的测试错误程序是否提供足够的信息?2.产品说明书7个用语检查清单A.总是、每一种、所有、没有、从不。
看到此类绝对或肯定的切实认定的叙述,可以着手设计针锋相对的案例。
B.当然、因此、明显、显然、必然。
这些话意图诱使接受假定情况。
不要中了圈套。
C.某些、有时、常常、通常、经常、大多、几乎。
这些话太过模糊。
“有时”发生作用的功能无法测试D.等等、诸如此类、依此类推。
以这样的词结束的功能清单无法测试。
功能清单要绝对或者解释明确。
E.良好、迅速、廉价、高效、稳定。
这些是不确定的说法,不可测试。
如果在产品说明书出现,必须要求进一步指明含义。
F.已处理、已拒绝、已忽略、已消除。
这些说法可能会隐藏大量需要说明的功能。
G.如果...那么...(没有否则)。
缺少配套的否则,想一想,“如果”没有发生会怎样呢?软件测试读书笔记之五闭着眼睛测试软件一.动态黑盒测试1.不深入代码细节的软件测试方法称为动态黑盒子测试。
它是动态的,因为程序正在运行;它是黑盒子,因为测试时不知道程序如何工作。
测试工作就是进行输入,接受输出,检验结果。
2.首先要弄清楚作为测试对象的软件要输入什么得到什么,或者操作结果。
这就要求有文挡或产品说明书;接下来开始定义测试案例(就是我们常说的测试用例)3.选择测试案例是软件测试员最重要的任务。
不正确的选择可能导致测试量过大或者过小,甚至测试目标不对。
准确评估风险,把不可穷近的可能性减少到可以控制的范围是成功的诀窍。
*4.没有产品说明书的情况下使用探索测试。
(这个我觉得很重要,因为国内大部分软件都是这样的,因为国内大部分软件都是这样的,什么说明都没有,没有需求说明,没有产品说明书,没有设计书......呵呵,这就是有中国特色的软件测试吧~~,遇到这种情况不要烦躁,"把软件当成产品说明书来对待。
分步骤地逐项探索软件特性。
记录软件执行情况,详细描述功能。
在这种情况下,无法像有产品说明书那样完整的测试软件--比如无法断定是否遗漏功能,但是可以进行系统测试。
找到软件缺陷几乎是肯定的." 小雪经验总结:这种情况还要多和开发的沟通,在他们那了解软件更多的情况。
他们自己写的,没有人比他们知道的多.这种测试会遇到很多你认为逻辑不合理的地方,因为没有需求说明,开发的完全照自己的意思来编写代码.有的是多人编写,每人负责一个模块,模块之间衔接和整个软件的业务逻辑多会有许多问题.二.通过测试和失败测试通过测试:确认软件至少能做什么,而不考验其能力。
只运用最简单,最直观的测试案例。
失败测试:纯粹为了破坏软件而设计和执行的测试案例。
设计和执行测试案例时,总是首先进行通过测试。
在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。
常见的测试案例就是设法迫使软件出现错误提示信息。
三.等价分配等价分配(等价类划分):是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。
等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。
在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。
这些组就是等价区间。
等价分配的目标是把可能的测试案例组合缩减到仍然足以测试软件的控制范围。
因为选择了不完全测试,就要冒一定的风险。
如果为了减少测试案例的数量过度进行等价分配,测试的风险就会增加。
另外,等价区间的划分没有一定的标准,只要足以覆盖测试对象就行了。
(个人认为这里讲的不是很好,在笔记前我就说了,本书测试用例设计方法上做的不是很好,有关知识大家上网看吧,写的很详细,推荐一个风姿清扬整理的测试用例设计方法~。