首页 > 精品范文库 > 1号文库
软件测试学习总结
编辑:青灯古佛 识别码:10-938048 1号文库 发布时间: 2024-03-07 09:41:11 来源:网络

第一篇:软件测试学习总结

软件测试学习总结

姓名:某某 学号:20090001 在大庆浦东软件平台有限公司经过一周的软件测试实训,从对软件测试没有什么经验的我初步掌握了软件测试的方法和技能,收获颇多。

我在大学期间的专业是信息与计算科学,原本打算从事网络方面的工作,对活动目录、数据库、操作系统等的知识比较感兴趣。经过这次理论学习,了解到要做好软件测试,要求掌握的知识并不仅仅是测试方面的,网络、数据库、操作系统等的知识对做好测试也是很有帮助的。这让我明确了以后学习的目标,在不断学习软件测试的同时,也应该继续其他相关知识的深入学习。通过此次学习,对整个软件测试行业的了解大大的加深。以前认为软件测试只是枯燥的反复的使用被测试软件来发现异常的问题,以为软件测试并不重要,低开发一等。现在认识到了软件测试的重要性,软件测试是软件产业向软件工业化生产时代迈进不可缺少的重要组成部分,是保证软件质量达到客户需求不可缺少的环节。软件测试在国内是一个新的职业,发展得比较晚,但它的重要性正在为行业所重视。

在学习过程中,我了解了作为一个合格的测试人员所应具备的素质与技能。其中个人素质在测试工作中起到了非常重要的作用,它包括你的信心、耐心、细心和与人交流沟通的能力,它将贯穿你工作生涯的整个过程。在测试理论上,我们系统学习了软件测试的流程,各种测试阶段和测试方法,以及测试工具的使用。通过这些课程的学习,让我们对软件工程也有了更深刻的理解,为以后的测试工作作了很好的理论储备和技能的提升。

软件测试作为软件开发过程中一个非常重要的环节,越来越成为软件开发商和用户关注的焦点。完善的测试是软件质量的保证,因此软件测试就成了一项重要而艰巨的工作,要做好这项工作当然也绝非易事,我在做软件测试工作中总结出了一些经验和技巧。1.功能点的细化

在进行测试前,先将所要测试的功能细分,填写《测试用例表》,有针对性的运行功能测试案例,逐个对每个功能细分点进行测试。在每次运行测试案例之前,明确此次运行的目的和预期的输出结果,并要做好记录。2.注意测试中的错误集中发生的现象

有一些错误是和程序开发人员的编程水平和习惯有很大关系的。例如程序中的拼写错误,习惯用法等。注意收集并记录这些现象,有助于更快、更多地发现类似的错误。

3.尽可能多的使用非常规的测试 充分考虑到各种合法的输入和不合法的输入以及各种边界条件。边界值往往是最容易出现异常的情况,特殊的情况下甚至要制造极端的状态和意外状态,比如网络突然中断,和电源突然断电等情况。

4.对测试错误结果一定要有一个确认的过程

一般有A测试出来的错误,一定要有一个B来确认。5.制定严格的测试计划

测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。6.回归测试的关联性一定要引起充分的注意

在开发人员刚修复Bug之后的地方,再找一找,往往开发人员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。修改一个错误而引起更多的错误出现的现象并不少见。

7.测试文档要尽可能详细

《测试用例表》中的功能点可尽量的详细,如实、详细地记录每次运行测试案例的输入数据,输出数据,出错提示,进行测试的时间,完成测试的时间等,便于以后对测试工作的回溯。8.重视交流和沟通

包括和程序开发人员的交流,同是测试人员之间的交流,网上技术论坛和网友的交流,和客户的交流等。多思考,多交流,多提问,通过多种沟通交流的途径,可以少走很多弯路,同时可以学到很多东西。9.善于总结

在测试过程中发现的所有问题,异常情况,发现程序开发人员易犯,常犯的错误,各种有价值的经验教训,使用系统和操作数据库时发现或者学到的技巧,使用测试工具时的心得等等,都可以随手记录在笔记本或者电脑上。这些都将是今后工作中可以参照的珍贵资料,同时也会成为自己的宝贵经验。10.妥善保存一切测试过程文档。

这次软件测试实训为我们以后从事软件测试工作打下了良好的专业基础,为我们的进一步学习提高打下了扎实的理论基础。对测试过程有了初步的认识,测试计划、测试设计、测试开发、测试执行、测试评估、测试报告贯穿整个软件开发过程。单元测试、集成测试、系统测试、验证测试每个阶段都应以用户需求为依据。这些基本的概念虽然比较抽象,但对以后的实践是大有益处的。总的来说,这次培训效果不错,对自己有一定的提升,这完全不同与学校的学习,因为它更加贴近工作,针对以后工作的内容作了很多实例的练习与工具的使用,为我们更快的加入工作提供的很好的前提。接下来一段时间,我将利用假期进入相关测试部门进行实际项目的训练,我相信在我有了很好的理论基础后,会在工作中很好的加以应用,让测试工作做得更好。同时,我会更加努力的学习与工作,遇到问题会及时多渠道寻找解决方法,积极上进,希望早日成为一名优秀的测试人员。

第二篇:软件测试学习

软件测试学习

1. 什么是软件测试?

答:软件测试是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程,其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位、解决缺陷,最后交付一个高质量的软件产品给用户。

2.软件测试的分类有哪些?

答:软件测试活动可以分为以下几类:

 黑盒测试:

黑盒测试又叫功能测试,数据驱动测试或基于需求规格说明书的功能测试。(主要用于系统测试和确认测试中)

 白盒测试

白盒测试又称结构测试、逻辑驱动测试或程序代码内部构成的测试。

 灰盒测试

灰盒测试结合黑盒和白盒测试两种方法,一方面考虑程序代码的功能性表现,另一方面,又需要考虑程序代码的内部结构。(主要用于性能测试、自动化功能测试) 静态测试

静态测试就是用眼看,阅读程序代码、文档资料等,与需求规格说明书中的客户需求进行比较,找出程序代码中设计不合理及文档集料有错误的地方

 动态测试

动态测试即为实际的执行被测对象的程序代码,输入事先设计好的测试用例,检查程序运行得到的结果与测试用例中设计的预期结果之间是否有差异,判定实际结果与预期结果是否一致,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能状况。

动态测试由四个部分组成:设计测试用例、执行测试用例、分析比较输出结果、输出测试报告。

动态测试有三种方法:黑盒测试、白盒测试、灰盒测试。

 手动测试

手动测试大部分的测试就是模拟用户的业务流程,来使用软件产品,从而发现软件产品中的缺陷。手动测试是最传统的测试方法,也是现在大多数公司都是用的测试形式。他是测试人员设计测试用例并执行测试用例,然后根据实际结果去和预期的结果相比较并记录测试结果,最终输出测试报告的测试活动。

优点:可以充分发挥测试工程师的主观能动性,将其智力活动体现于测试活动中,能发现很多的缺陷。

缺点:手动测试有一定的局限性与单调枯燥性。

 自动测试

自动测试就是利用一些测试工具,模拟用户的使用流程,让它们自动运行来查找缺陷。也可以编写一些代码,设定特定的测试场景,来自动寻找缺陷

优点:能够很快、很广泛的查找缺陷,同时可以做很多重复性的工作,大大提高了测试的效率和测试的准确性,而且写出的比较好的测试脚本,还可以在软件生命周期的各个阶段重复使用。

3.软件测试的流程:需求测试、单元测试、集成测试、系统测试、性能测试、用户测试、回归测试

 需求测试:主要从以下几个方面考虑

①完整性:每一项需求都必须将所要实现的功能描述清楚,从而为开发人员设计和实现这些功能提供所有必要的需求依据。

②正确性:每一项需求都必须准确的陈述其要开发的功能

③一致性:一致性是指与其它软件需求或高层(系统、业务)需求不相矛盾,或者与我们的项目宣传资料一致。

④可行性:每一项需求都必须是在已知系统和环境的权能和限制范围内可以实施的。⑤无二义性:对所有需求的读者都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的用户语言表达出来。

⑥健壮性:需求的说明中是否对可能出现的异常进行了分析,并且对这些异常进行了容错处理。

⑦必要性:“必要性”可以理解为每项需求都是用来授权你编写文档的“根源”。要是每项需求都回溯至某项客户的输入,如需求用例或别的来源。

⑧可测试性:每项需求都能通过设计测试用例或其它验证方法来进行测试。

⑨可修改性:每项需求只应在SRS(软件需求规格说明书)中出现一次。这样更改时易于保持一致性。另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明书更容易修改。

 单元测试

单元测试又成为模块测试,是对程序代码中最小的设计模块单元进行测试。(可以发现大约80%的软件缺陷,大多数公司中,由对应的开发工程师负责)单元测试方法:主要采用静态测试和动态测试相结合的办法。

单元测试工具:Juint等。

单元测试优点:在软件生产过程中及时的开展单元测试可以降低编码的错误率,提

高编码质量。

 集成测试

集成测试又称为组装测试,就是将软件产品中的各个模块组装起来,检查其接口是否存在问题,以及组装后的整体性能、性能表现。

集成测试方法:一般采用非增式集成方法、增式集成方法(自底向上集成;自顶向下集成;组合方式集成)等策略进行测试,利用以黑盒测试为主,白盒测试为辅的测试方法进行测试。

(集成测试一般由测试工程师但当)

集成测试的目的:主要解决的是各个软件组成单元代码是否符合开发规范、接口是否存在问题、整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求等。

 系统测试

系统测试是将通过集成测试的软件部署到某种较为复杂的计算机用户环境(指一般用户的计算机环境)进行测试。

系统测试的目的:通过与系统的需求进行比较,发现软件与系统的定义不符合或与之矛盾的地方。主要考察被测软件的功能和性能表现。

系统测试方法:主要采用黑盒测试方法,进行的是安装卸载测试、兼容性测试、功能确认测试、安全性测试等。

系统测试过程其实也是一种配置检查过程,检查软件在生产过程中是否有遗漏的地方,在此时做到查漏补缺,以确保交付的产品符合用户的质量要求。如果软件可以按照用户合理期望的方式来工作的时候,即可认为通过系统测试。

 性能测试

性能测试就是要求被测软件在业务处理速度、处理能力和所耗用的硬件系统资源比率满足用户的需求。

对测试人员的要求:测试人员要掌握编程语言,精通业务流程,拥有深厚的项目经验。所以,想顺利的开展性能测试,需要测试工程师不断的学习,掌握相应的知识。例子:对于某个论坛,我们需要测试论坛支持10000个用户同时使用,并且在这种情况下,打开帖子的速度能否控制在4秒钟以下,论坛服务器的CPU使用率不超过80%,内存的占用率不超过75%等,这些都是典型的性能测试指标。

性能测试优点:一方面可以验证被测软件是否符合用户需求,另一方面,可以得到相关的性能数据,为被测软件的优化提供参考。

性能测试工具:LoadRunner自动化性能测试工具等。

 用户测试

用户测试可以称其为用户确认测试。在正式验收前,需要用户对本系统做出一个评价,用户可对交付的系统做测试,并将测试结果反馈回来,进行修改、分析。用户测试在整个软件生产流程中非常重要,这个环节是被测软件首次作为正式系统交由用户使用,用户会根据他们的实际使用情况进行测试、试用,并提出实际使用过程中的问题。

用户测试是软件生产流程中的最后质检关。

 回归测试

回归测试就是过一段时间以后再回过头来对以前修复过的Bug重新进行测试,看该Bug是否会重新出现。

回归测试的目的:检查以前的测试用例能否再次通过,是否还有需要补充的用例等。

回归测试工具:QTP等。

第三篇:软件测试总结

1.软件测试定义:由人工或自动方法来执行或评价系统或系统部分的过程,以验证它是否满足规定的需求,或识别出期望的结果和实际结果之间的差异。2.软件测试的分类:

测试对象或范围分类:需求评审、设计评审、单元测试、程序测试、系统

测试、文档测试、Web应用测试、客户端测试、数据库测试等;

测试目的分类:集成测试、功能测试、压力测试、性能测试等等; 静态测试、动态测试; 白盒测试、黑盒测试。3.软件测试的基本流程与原则

基本流程:

测试用例设计-输入数据、预期结果; 测试执行-输入数据执行被测对象; 检查实际输出与预期结果。基本原则:

开始测试时认定软件有错,测试要证明有错; 测试应该由独立的测试团队来完成; 测试设计必须设计对应的预期输出;

要对合理、不合理(有效、无效)输入数据都进行测试; 检查软件的完备性、多余; 完整保留测试文档;

一个被测对象中有错误的概率与已发现错误的个数成正比。4.Beizer测试成熟度级别:

0级:没有区分测试与调试;

1级:测试的目的是证明软件能用; 2级:测试的目的是证明软件不能用;

3级:测试的目的不是为了证明什么,而是为了降低软件使用风险; 4级:测试是一种智能训练,能够帮助专业人员开发出更高质量的软件。5.软件测试与软件工程,软件过程的关系:

软件工程:在给定的条件下(成本、时间)开发出高质量的软件产品。软件生产过程的特性决定了软件产品中不可避免包含有错误。软件测试则是尽可能多地发现错误,从而保障软件产品的质量。6.McCall的质量因素:

产品修改:

可维护性,灵活性,可测试性 产品转移:

可移植性,可复用性,互操作性 产品运行:

正确性,易用性,可靠性,效率,完整性 7.软件质量困境

软件质量必须足够好:存在价值

软件产品无法完美:需要消耗过多的资源、时间、成本

软件开发需要在两个极端之间进行平衡:软件足够好的同时又不完美。8.质量控制、质量保证和质量管理

软件质量控制其实是基本方法,通过一系列的技术来科学地测量过程的状态。如缺陷率、测试覆盖率等。

软件质量保证则是过程的参考、指南的集合,如ISO9000、CMM/CMMI等,着重内部的检查,确保已获取认可的标准和步骤都已经遵循。

软件质量管理则是实际操作的思想,质量管理控制和协调组织的质量活动,包括质量控制、质量保证和质量改进。9.WebApp应用的属性:

网络密集型应用;并发性;大负载量;性能;高可靠性、高可用性;安全性-内容敏感;

10.软件评审的目的,评审度量及其应用

评审的目标在于:尽早发现软件过程中的错误,防止错误传递、蔓延至后续活动,防止错误转化为缺陷。

准备工作量Ep-实际评审会之前所需工作量; 评估工作量Ea-实际评审所花费的工作量 返工工作量Er-修改评审所发现错误的工作量 工作产品规模WPS-评审对象的规模

发现的主要错误数Errmajor-多于预期的改错工作量的错误数目 发现的次要错误数Errminor-少于预期的改错工作量的错误数目 总评审工作量Ereview = Ep+Ea+Er 错误总数Errtot = Errmajor+Errminor 错误密度:评审的每单位工作产品发现的错误数Ed = Errtot / WPS 错误密度数值的含义:较小(产品质量非常好或评审不够彻底);较大(产品质量存在缺陷)

11.软件测试计划:描述对计算机软件配置项、子系统、系统进行测试的计划安排,内容包括测试的环境、测试工作的标识及测试工作的时间安排。

软件测试报告:是对计算机软件配置项、软件系统或子系统,或与软件相关项目执行合格性测试的记录 12.软件测试活动

制订测试计划(测试分析员)

测试设计(测试设计人员)-方案设计 测试及测试用例设计 测试过程

桩模块、驱动模块设计

测试实施(测试设计员)-实现测试设计 单元测试(测试员)集成测试(测试员)系统测试(测试员)

评估测试(测试设计人员)

13.无向图的相关定义:

连接性:节点ni、nj是连接的,当且仅当ni、nj在同一条路径上。组件:图的组件是相连节点的最大集合

图G的圈复杂度V(G)=e-n+2p,其中e为G的边数,n为节点数,p为组件数。14.图覆盖:给定一个关于图G的准则C的测试需求集合TR,测试集合T在图G上满足准则C当且仅当对TR中每个测试需求tr,path(T)中至少存在一条测试路径p满足tr。

简单路径:如果从ni到nj的一条路径中,除了始节点和终节点可以相同外,没有任何节点出现次数多于一次,则该路径为简单路径。

主路径:如果从ni到nj是一条简单路径,并且它不作为任何其他简单路径的子路径出现,则称之为主路径。

主路径覆盖(PPC)准则:TR包含图中每一条主路径。

指定路径覆盖(SPC):TR包含一个测试路径集S,S为指定参数。15.白盒测试方法

白盒测试:根据被测对象的内部结构和运行机制来设计测试用例的方法,又称为结构测试、逻辑驱动测试、覆盖测试

被测对象的独立路径至少覆盖一次; 所有逻辑取值测试[真、假]; 循环边界测试;

检查内部数据结构、边界条件。16.黑盒测试方法

黑盒测试方法又称功能测试方法、数据驱动测试方法,测试设计时不考虑被测对象的内部结构,以检查系统功能(功能的正确、完整、逻辑流程、人机界面、文档内容、系统安装/初始化)

以被测对象的外部特征为测试依据。17.模糊测试方法

模糊测试方法:构造大量的随机数据作为系统的输入,从而检验系统在各种数据情况下是否出现问题。

18.增量测试:单元测试、调用依赖的模块集成测试,逐步扩展直到形成整个软件系统。

19.突击测试:所有模块一次性集成为一个完整的系统,然后进行完全测试。20.等价类划分:

等价类划分基于对输入或输出数据情况的评估,划分成两个或多个子集(等价类),然后从每个子集中选取一定的代表进行测试的测试用例设计方法。21.极限测试

极限编程:利用轻量、敏捷的开发过程,使开发人员能够更快地完成应用程序的开发。强调频繁测试、测试驱动的方式保证软件质量。

极限测试:为满足极限编程思想和过程而设计的一套测试策略和流程,原来的测试技术、方法均可以使用 22.配置项测试的内容

功能: 适合性

准确性:功能的准确与精度要求 互操作性:与外部设备、系统的接口 安全保密性:数据访问的可控制性 可靠性: 成熟性:容错处理、平均无故障时间

容错性:边界条件、功能、性能的降级情况、误操作模式、故障模式 易恢复性:自动修复能力/时间、平均宕机时间、平均恢复时间、恢复能力等 易用性

易理解性:功能描述清晰、准确;界面含义精确

易学性:在线帮助、帮助定位、各类手册的易学、易用 易操作性:数据的有效检查、解释信息明确、界面切换 吸引性:人机界面定制 效率

时间特性:响应时间、平均响应时间、响应极限时间、吞吐量、平均吞吐量、极限吞吐量,多任务并行测试

资源利用:大量并发任务下I/O设备利用、极限负载下I/O设备的负载、大量并发任务下用户等待时间、内存使用情况、数据传输能力等

维护性

易分析性:运行状态数据易分析 易变更性:软件的可配置、修改能力 易测试性:变更之后的易测试情况 可移植性

适应性:不同软件、硬件环境的适应能力 易安装性:安装、配置的复杂程度、难以程度 共存性:与其他软件协同的能力 易替换性:版本的替换难以程度 依从性

以上所有特性遵循标准、规范的情况测试

23系统测试:系统非功能性测试,以检验系统在超常数据规模或负载下,线程、CPU、内存资源的利用和响应时间、数据传输等性能指标是否满足要求

24.测试计划

确定测试充分性要求:覆盖范围、覆盖程度 确定测试终止要求; 确定测试所需资源; 确定测试的软件特性; 确定测试技术、方法; 确定测试准出条件; 确定测试进度计划; 测试风险分析。

25.测试设计:测试设计人员、测试程序员

测试用例设计:依据测试特性; 获取测试数据;

确定测试顺序:资源、被测特性; 获取测试资源:软硬件、工具; 编写测试程序; 建立测试环境; 撰写测试设计说明。

26.测试总结:

测试分析员-测试报告

总结测试计划、测试说明的变化情况; 异常终止时测试未覆盖范围; 未能解决的测试问题; 总结测试结果(发现问题); 编写测试报告;

根据问题报告、测试记录,编写测试问题报告。

27.软件可靠性:在给定的运行时间内和给定的系统配置环境下,运行给定的软件功能时所 表现出来的质量能力 28.系统性能指标

系统资源利用率:分析性能指标,改善性能系统行为指标 请求响应时间:一次请求完成时间

事务响应时间:一个事务所有请求完成的总时间

数据吞吐量:单位时间内服务器接收、发送的数据量。

29.验收测试:用户执行的、使用真实数据进行的测试,依据需求规格中的确认标准进行测试。回归测试:验证已测试过的内容不受变更影响,确认变更没有引入新的错误。

30.α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操 作环境下进行的测试。

Beta测试由软件的最终用户在一个或多个客户场所进行,开发者通常不在Beta测试的现场。

31.WebApp测试关注的主要内容 Web内容测试 界面 构件

导航测试 安全性 性能

32.测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

33.软件生存期定义:从软件产品设计到软件被淘汰的时间段。又称软件生命周期、生存周期。进一步划分为两个阶段:开发阶段和维护阶段(40%+60%)。

34.软件安全定义:一种软件质量保证活动,他主要用来识别和评估可能对软件产生负面影响并促使整个系统失效的潜在灾难。

35.软件评审的目标在于:尽早发现软件过程中的错误,防止错误传递、蔓延至后续活动,防止错误转化为缺陷。36.V模型

优点:既有底层测试又有高层测试。底层:单元测试。高层:系统测试。

将开发阶段清楚的表现出来,便于控制开发的过程。当所有阶段都结束时,软件开发就结束了。

缺点:容易让人误解为测试是在开发完成之后的一个阶段。

由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源。

实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试,返工量大。37.W模型:

优点:

将测试贯穿到整个软件生命周期中,且除了代码要测试,需求、设计等都要测试。更早介入软件开发中,能尽早发现缺陷并修复。

测试与开发独立起来,并与开发并行。缺点:

对有些项目,开发过程中根本没有文档产生,故W模型无法使用。

对于需求和设计的测试技术要求很高,实践起来很困难。

从N0中某节点开始到Nf中某节点结束的一条路径称为一条测试路径。

1.软件缺陷:(符合下列规则的叫软件缺陷):

1).软件未达到产品说明书的功能

2).软件出现了产品说明书指明不会出现的错误

3).软件功能超出产品说明书指明范围

4).软件未达到产品说明书虽未指出但应达到的目标

5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。3.回归测试

指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。

4.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

第四篇:软件测试总结

面向对象程序的软件测试方法

在软件生命周期过程中,软件测试是保证软件质量的关键环节之一。面向对象方法学在软件工程中的引入极大地方便了软件的设计、开发和维护,为创建高可靠性的软件系统提供了重要保证。但面向对象程序的封装、继承、多态和异常处理机制等新特性却给测试带来新的挑战。一方面需要调整、改进传统的测试策略和方法;另一方面探索出适应面向对象程序特征的测试理论与技术也尤为必要。

面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

面向对象的定义或说明对象的定义的非常少。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。

1、面向对象的基本概念

(1)对象。

对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)对象的状态和行为。

对象具有状态,一个对象用数据值来描述它的状态。

对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。

对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中

(3)类。具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。

类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。

类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

(4)类的结构。

在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。

②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。

(5)消息和方法。

对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。消

2、面向对象的特征

(1)对象唯一性。

每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

(2)分类性。

分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

(3)继承性。

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。

在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。

在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。

采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

(4)多态性(多形性)多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

多态性允许每个对象以适合自身的方式去响应共同的消息。

多态性增强了软件的灵活性和重用性。

面向对象方法的基本思想是一:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。

二: 面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(解空间)的方法。由于问题空间和解空间都是由对象组成的,这样可以消除由于问题空间和求解空间结构上的不一致带来的问题。简言之,面向对象就是面向事情本身,面向对象的分析过程就是认识客观世界的过程。

面向对象方法从对象出发,发展出对象,类,消息,继承等概念。

面向对象方法的主要优点是:符合人们通常的思维方式;从分析到设计再到编码采用一致的模型表示具有高度连续性;软件重用性好。

面向对象软件测试的特点是: 1.掌握代码检查、走查与评审的基本方法和技术; 2.掌握白盒测试和黑盒测试的测试用例的设计原则和方法; 3.掌握单元测试和集成测试的基本策略和方法;

4.了解系统测试、性能测试和可靠性测试的基本概念和方法; 5.了解面向对象软件和WEB应用软件测试的基本概念和方法; 6.掌握软件测试过程管理的基本知识和管理方法; 7.熟悉软件测试的标准和文档;

8.掌握QESuite软件测试过程管理平台和QESat/C++软件分析和工具的使用方法。

第五篇:软件测试学习纲要

《软件测试》学习纲要

一、202_年春季学期期末考试题型如下:

1、选择题:15题、每题2分;共30分

2、填空题:15空、每空1分;共15分

3、论述题:6题、每题5分;共30分

4、软件测试实践题:4题、共25分

学习要点:

1)软件测试目的、原则、误区、对象、分类

2)软件缺陷

3)软件测试V模型

4)测试用例概念、设计原则、设计步骤

5)黑盒、白盒测试

6)边界值、等价类测试用例设计

7)因果图法

8)场景法

9)逻辑覆盖测试分类、关系

10)环路复杂度

11)单元测试概念

12)单元测试的策略

13)集成测试概念

14)集成测试策略10个字

15)系统测试的概念

16)回归测试概念

17)验收测试概念、过程

18)动态测试与静态测试

19)系统性能参数

20)性能测试分类

21)测试计划、测试报告文档内容

22)白盒测试用例设计

23)黑盒测试用例设计

24)Junit单元测试用例设计及编程

软件测试学习总结
TOP