[软件测试技术总结] 软件测试项目个人总结

  最近发表了一篇名为《软件测试技术总结》的范文,感觉很有用处,希望大家能有所收获。

篇一:软件测试技术总结

IT公司面试手册提供最全的IT类面试题,包括

Java:Java面试题 J2EE面试题 Hibernate面试题 Spring面试题 Struts面试题EJB面试题.NET:.net面试题 ASP.NET面试题 C#面试题

数据库:数据库面试题 Oracle面试题 SQL Server面试题 MySql面试题

网络:网络技术面试题 网络安全面试题

Web开发:PHP面试题 Web开发面试题

Linux Unix:Unix面试题 Linux面试题

软件测试: 软件测试面试题

其他类: 英语面试 外企面试 Python面试题 程序员面试

更多面试题请访问:

软件测试技术总结

软件测试就是为了发现程序中的错误而分析和执行程序的过程。——概念

+基本知识+软件开发过程-定义-计划-实现-稳定化-部署

一、软件开发模型(四种典型的模型)

1、瀑布模型

概述:包括计划,需求分析,设计,编码,测试,运行维护六个阶段。六个阶段自上而下、相互衔接,以固定的次序进行。

特点:1.阶段的顺序性和依赖性;2.文档驱动;3.推迟实现的观点;4.质量保证。

缺点:不适合需求模糊的系统

2、原型模型

概述:先建立一个能够反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型系统进行反复的扩充、改进、求精,最终建立符合用户需求的目标系统。

特点:1.快速开发工具;2.循环;3.低成本。

分类:按照对原型的处理方式,可以分为渐进型和抛弃型。

3、增量模型

概述:在增量模型中每个阶段都生成软件的一个可发布版本,最全面的范文参考写作网站阶段交错进行,版本逐渐完善。同原型模型的最大区别在于,在原型模型中每个阶段发布一个原型而在增量模型中则完成一个正式版本。

4、螺旋模型

概述:适用于大型软件的开发,它将瀑布模型和快速原型模型结合起来,并加入了风险分析。特点:1.每个阶段都包括制定计划,风险分析,实施工程,评审四个阶段;2.开发过程迭代进行,每迭代一次螺旋线增一周,工程前进一个层次,系统生成一个新版本,投入新的时间成本,最终得到客户满意的版本。-软件测试从需求开始:现代的软件测试将测试渗入到软件开发的各个阶段,即使瀑布模型,表面看测试工作是在测试阶段开始的,事实上,在计划、需求、设计阶段,测试人员便已经开始了他们的工作,如:了解软件需求,编写测试计划,搭建测试环境。

二、测试用例

1、三要素:前提条件和操作步骤、预期结果、实际结果。2、必须以需求为依据。

三、软件测试分类

1、是否关注软件结构和算法

-黑盒测试:基于软件需求的测试方法。-白盒测试:基于软件内部设计和程序实现的测试方法。

2、是否执行被测试软件

-动态测试:在测试过程中执行被测试软件的测试方法。-静态测试:------------不----------------------。

3、基于不同的测试阶段:

1、单元测试:主要测试软件的单元模块,需要编写额外的测试驱动程序,采用白盒测试的方法,一般由 开发人员完成。

2、集成测试:将一些“构件”集成在一起时测试他们是否能正常运行,构件可以是程序模块,也可以是客户机-服务器程序等,需要编写测试仿真程序,采用白盒和黑盒相结合的方式,通常由 开发人员承担。

3、系统测试:测试软件系统是否符合所有的需求,包括功能性测试和非功能性测试。一般由独立的测试人员完成,通常采用黑盒测试方法。

4、验收测试:(α、β)与系统测试类似,但由客户或最终用户执行,测试软件是否符合需求规格说明书。

5、回归测试:指在软件开发过程中,每次错误被修正后或软件的功能、环境发生变化后进行的测试。

四、软件测试的三个步骤:

1、测试计划:测试人员首先对需求进行分析,最终定义一个测试集合,通过刻画和定义测试发现需求中的问题,然后根据软件需求同测试主管制定并确认“测试计划”。

2、测试设计和开发:软件测试人员根据软件需求和软件设计说明书完成测试用例的设计和必要的测试驱动程序的开发。

3、执行测试:需要做的工作包括搭建测试环境、运行测试、记录测试结果、报告软件缺陷、跟踪软件缺陷、分析测试结果,必要时进行回归测试。

五、测试工程师的能力要求:

1、5C

-Controlled /kEn"trEuld/ 接受管理,有条理的

-Competent /"kCmpitEnt/了解正确的测试技术

-Critical /"kritikEl/专注于发现问题范文写作

-Comprehensive /.kCmpri"hensiv/ 注意细节

-Considerate /kEn"sidErit/能够和开发人员很好的交谈

2、职业素质 -责任心-学习能力-怀疑精神 -沟通能力 -专注力-洞察力 -团队精神-注重积累

六、制定测试计划的五个步骤:

1、分析和测试软件需求 2、定义测试策略3、定义测试环境 4、定义测试管理

5、编写和审核测试计划

如果在需求分析阶段发现并结果问题需要花费$1,则在设计阶段解决同样的问题需花费$5,在编码阶段需$10,交付后解决同样的问题需花费$200。——越早测试越好

七、在需求分析过程中测试人员需要进行如下工作:

1)理解需求,参与审核需求文档;2)理解项目的目标、限制,了解用户的应用背景;

3)编写测试计划;4)准备测试资源。

八、需求测试

-需求测试测试的对象是主意而不是代码,针对文档进行测试。

九、好的需求文档的特征

1、具有清晰的格式和文档结构2、需求的内容正确 3、需求的内容完整

4、需求具有可行性需求的必要性 5、对不同的需求优先等级进行定义 6、描述明确

7、可证性和可测试性 8、范文TOP100可修改性-可追踪9、需求文档被及时更新

十、需求测试内容

1、需求文档是否符合公司的格式要求 2、是否正确

3、要保证需求文档中所描述的内容是真实可靠的

4、这是“真正的”需求吗?描述的产品是否是要开发的产品?

5、需求是否完备?第一个发布的版本是否需要更多的功能?列出的需求可以减少一部分?

6、需求是否兼容?需求有可能是矛盾的。

7、需求是否可实现?如:需求设想的设备是否比实际运行的要快?需求要求的内存、I/0设备是否太多?需求的输入或输出设备要求的分辨率是否要求过高?

8、需求是否合理?在开发进度、开发费用、产品性能、可靠性和内存使用之间存在着平衡关系。

9、需求是否可测?对于软件测试人员来说判断需求是否可测是这个过程中最重要的工作。

十一、需求测试方法

1、复查review 2、走查walkthrough 3、审查inspection

十二、测试策略的内容

1、确定测试范围 软件是无法被完全测试的 2、确定测试方法 不同的系统需要不同的测试方法

3、定义测试标准 入口标准,暂停和继续的标准,出口标准等

十三、软件测试结束的标准

-基于测试用例的使用规则

1)构造测试用例(由相关人员进行评审)

2)执行测试用例中,当测试用例的不通过率达到20%则拒绝继续测试,思想汇报专题待开发人员修正软件后再继续。

3)当功能性测试用例通过率达到100%,非功能性测试用例通过率达到90%时,允许正常结束。

-基于“测试期缺陷密度”规则---------含义:对软件测试一个CPU小时发现的缺陷数,比较适用于系统测试-基于“运行期缺陷密度”规则---------含义:把软件运行一个CPU小时发现的缺陷数,比较适用于验收测试 注:一个阶段的出口标准!=下一个阶段的入口标准

系统测试结束的标准!=软件的发布标准 发布标准!=软件0缺陷

-选择测试工具 是否需要,需要什么工具,怎么获取

-降低软件测试代价是企业普遍关注的问题,可通过

a.减少冗余和无价值的测试;b.减少测试阶段(万般无奈下)

十四、测试环境

-基本内容:设备环境、软件环境、数据环境

-需考虑的因素 -计算机平台-操作系统 -浏览器 -软件支持平台 -外围设备 -网络环境 -其他专用设备 -搭建测试环境时的配置原则:-使用的频度或范围-实效的可能性-最大限度的模拟真实环境

十五、测试管理

由于测试工程中设计的人员、活动、工具是很多的,在制定测试计划时需要对这些因素进行管理 -选择缺陷管理工具和测试管理工具 -定义工作进度

-建立风险管理计划

(1)可能遇到的风险

1.由于设计、编码阶段出现大量质量问题,导致测试工作量时间增加

2.开始测试时所需的硬件、软件没有准备好 3.未能完成对测试人员的技术培训

4.测试时的人力资源安排不足 5.测试过程中,发生了大量的需求变更

6.测试过程中,项目的开发计划被大幅度调整 7.不能及时准备好测试所需的环境

8.不能及时准备好测试数据

(2)风险管理的过程

1.识别风险 2.评估风险 3.制定对策 4.跟踪风险

+测试设计与开发

+总体设计

-投入产出:测试设计的输入是测试计划,输出是评审过的测试用例集合

-定义设计目标遵循的原则

(-清楚地说明没项测试的目标-使每项测试的目标单一,可以对应到规格说明书中的一项需求-只说明测试应该完成什么工作,而不说明如何完成)

-流程:总体设计-开发测试用例-评审测试用例

I.定义设计目标 II.定义输入说明 III.定义测试环境和配置

IV.测试设计文档 V.开发测试用例

+测试用例——概念:为特定目标开发的测试输入、执行条件和预期结果的集合。

+好的测试用例:

1.容易发现软件的错误 2.精确的重复某测试失败的情景,可重复性

3.清晰的定义一个或多个期望的结果 4.没有冗余

+测试用例的作用

-指导测试的实施 -作为编写测试脚本的“设计规格说明书” -评估测试标准的度量基准 -分析缺陷的标准 +白盒测试用例设计

+设计方法

+逻辑覆盖法

( -语句覆盖 -判定覆盖 -条件覆盖 -判定-条件覆盖 -条件组合覆盖 -路经覆盖 -基本路经法)

+辅助模块设计

(1.驱动模块:相当于被测程序的主程序。接受测试数据,把这些数据传给被测模块然后输出实际测试结果。

2.桩模块:用于调用被测模块调用的子模块。可以做少量的数据操作,不需要把子模块的所有功能都带进来,但不容许什么都不做。)

+黑盒测试用例设计

-等价类划分法

-边界值法 ——“缺陷遗漏在角落里,聚集在边界上。”

-因果图法 弥补等价类和边界值法的不足

篇二:软件测试心得

软件测试心得体会

软件测试工作是一个系统而复杂的工程,软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。

而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。

软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。

以下是就自己的个人工作经历谈一些浅见:

1.标准文档的制定:

1.1.任何一个公司要让自己的产品面市,都要有自己的一

套完整的品质标准,这个标准一定是在符合国标及客户

标准的基础上形成的企业标准,系统而全面地描述一款

产品的功能、性能、可靠性、健壮性、安规要求等一系

列的产品标准,并根据客户特定要求相应调整。

1.2.测试仪器的作业指导书(SOP)及保养说明等。定义仪器

的使用步骤、操作指南和保养细则等。

2.测试资料的归档:

标准媒体文件、测试报告、BUG LIST库(电子类问题、结构

类问题、软件类问题:方案自存问题、品证测试问题、生产

测试问题、客户反馈问题、终端消费者反馈问题等)、认证测

试文档归纳总结(认证公司培训资料、认证过程中出现并改善

的问题)、测试工程师经验分享、常见问题解答FAQ等。

3.功能测试:

3.1.这是软件测试工作中最核心和最基本的一项测试,该测

试的主要内容是检查软件是否符合需求定义,并通过构

造正常的操作来检查的动作是否正确;在这个测试里,

正确性是最最重要的软件质量要素。

3.2.功能测试按照可见性可以分为两类:显性功能和隐性功

能。

显性功能:指在菜单里可以看得到的功能。

隐性功能:指在菜单里看不到的功能。

例如,电话本的显性功能有增加、编辑、删除、拨打等,

这些功能可以在电话本的菜单里面看得到,姓名列表排

序则属于一个隐性功能,因为在电话本的菜单里没有这

样一个子菜单,但它却是一个实实在在的功能。

如以下这些隐性功能都测试中都需重点关注:

a.电话本上下页切换,是否有遗漏联系人信息?

b.是否支持手机内存、SIM卡电话本的同时下载?还是

支持从一种介质里下载?

c.断电后再上电,系统设置的时间是否有记忆功能?

d.GPS信号正常时,导航地图中时间是否有更新?

e.TFT屏在Power off→on,ACC off→on时,屏的角度

是否有记忆?

f.模拟导航时,是否有双工功能?后台源声音输出是否

正常?

g.路试语音产品外置麦克风使用效果时,考虑车速、风

声、车内讲话噪声、汽车底盘/发动机噪声等对麦克

风录音效果的影响,软件多线程开启时导致的资源占

用/系统繁忙对后台录音系统的影响。(也可从结构方

面考虑:外置麦克风型腔开孔的接触面积,是否360

度可旋转等来增加录音的路径等。)

h.地图上的POI信息通过后台语音搜索获取不到,解决

措施:要求方案商讯飞完善后台语音库。

3.3.在实际的测试过程中,显性功能通过菜单遍历可以很容

易地进行无遗漏的测试,但是隐性功能却很容易为我们

所忽略!一个有效的解决办法是去检查软件的功能定义

列表(Feature List),从这个列表里面找出那些隐性的

功能。

3.4.制定测试用例时,要充分考虑各功能模块软件的显性功

能和隐性功能。

4.健壮性测试:

橘生淮南则为橘,生于淮北则为枳。是说明橘的健壮性太差。

该成语充分说明了我们对产品进行健壮性测试的必要性。

4.1.健壮性是指在异常情况下,软件还能正常运行的能力。

健壮性有两层含义:一是容错能力,二是恢复能力。

健壮性测试主要包括:电子硬件健壮性(如:遥控距离测

试、高低电压适应性测试、插拔电及开关机测试、静电

抗扰度测试、热插拔测试)和机械健壮性(如:整机结构

设计基准测试、模拟运输测试、常温包装跌落测试)。

4.2.这项测试主要是检查软件对异常操作的容错能力,异常

操作通常要考虑异常输入操作及异常条件两个方面。例如:测试蓝光媒体播放器时,反复把HDMI连接线拔掉,造成通信异常中断,再接上复合视频(CVBS)信号输出,即由数字信号输出转为模拟信号输出。恢复测试重点考察一下几项:(1)系统能否重新运行;(2)有无重要的数据丢失;(3)是否毁坏了其它相关的软件或硬件;(4)若软件出现系统报错,是否有自恢复能力。

4.3.软件的很多功能的实现是有很多隐含的条件的,在健壮

性测试中,要检查当这些条件不满足的时候的反应。例如:目前大多数3G智能手机,与各电信运营商形成利益捆绑,每款手机支持特定的电信运营商提供的通信服务,其它运营商提供的服务则被拒之门外。当使用移动SIM卡安装在只支持联通通信服务的3G手机上,关注该手机表现:是否在执行自动更新时重启?还是执行自动更新后提示不支持移动运营通信服务:SIM card not supported,emergency calls only?

例如:在做完常温包装跌落测试后,再测试机芯的读碟能力,读取偏芯碟、面振碟、偏重心碟、刮痕碟、指纹碟等等碟片,与未做跌落测试前读碟能力进行比较。如果读碟能力比以前更差,则考虑改进措施:软件适当增加录轨时间或机芯托盘加固等。

篇三:软件测试学习总结

软件测试学习总结

姓名:某某 学号:20090001

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

我在大学期间的专业是信息与计算科学,原本打算从事网络方面的工作,对活动目录、数据库、操作系统等的知识比较感兴趣。经过这次理论学习,了解到要做好软件测试,要求掌握的知识并不仅仅是测试方面的,网络、数据库、操作系统等的知识对做好测试也是很有帮助的。这让我明确了以后学习的目标,在不断学习软件测试的同时,也应该继续其他相关知识的深入学习。

通过此次学习,对整个软件测试行业的了解大大的加深。以前认为软件测试只是枯燥的反复的使用被测试软件来发现异常的问题,以为软件测试并不重要,低开发一等。现在认识到了软件测试的重要性,软件测试是软件产业向软件工业化生产时代迈进不可缺少的重要组成部分,是保证软件质量达到客户需求不可缺少的环节。软件测试在国内是一个新的职业,发展得比较晚,但它的重要性正在为行业所重视。

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

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

1.功能点的细化

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

2.注意测试中的错误集中发生的现象

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

3.尽可能多的使用非常规的测试

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

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

一般有A测试出来的错误,一定要有一个B来确认。

5.制定严格的测试计划

测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

6.回归测试的关联性一定要引起充分的注意

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

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

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

8.重视交流和沟通

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

9.善于总结

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

10.妥善保存一切测试过程文档。

这次软件测试实训为我们以后从事软件测试工作打下了良好的专业基础,为我们的进一步学习提高打下了扎实的理论基础。对测试过程有了初步的认识,测试计划、测试设计、测试开发、测试执行、测试评估、测试报告贯穿整个软件开发过程。单元测试、集成测试、系统测试、验证测试每个阶段都应以用户需求为依据。这些基本的概念虽然比较抽象,但对以后的实践是大有益处的。

总的来说,这次培训效果不错,对自己有一定的提升,这完全不同与学校的学习,因为它更加贴近工作,针对以后工作的内容作了很多实例的练习与工具的使用,为我们更快的加入工作提供的很好的前提。接下来一段时间,我将利用假期进入相关测试部门进行实际项目的训练,我相信在我有了很好的理论基础后,会在工作中很好的加以应用,让测试工作做得更好。同时,我会更加努力的学习与工作,遇到问题会及时多渠道寻找解决方法,积极上进,希望早日成为一名(来自:WWw.fwwang.cn :软件测试技术总结)优秀的测试人员。

  以上就是这篇范文的全部内容,涉及到测试、软件、需求、是否、软件测试、功能、过程、人员等方面,希望对大家有用。