学习协议测试的心得体会.docx

上传人:b****8 文档编号:9355828 上传时间:2023-05-18 格式:DOCX 页数:8 大小:24.19KB
下载 相关 举报
学习协议测试的心得体会.docx_第1页
第1页 / 共8页
学习协议测试的心得体会.docx_第2页
第2页 / 共8页
学习协议测试的心得体会.docx_第3页
第3页 / 共8页
学习协议测试的心得体会.docx_第4页
第4页 / 共8页
学习协议测试的心得体会.docx_第5页
第5页 / 共8页
学习协议测试的心得体会.docx_第6页
第6页 / 共8页
学习协议测试的心得体会.docx_第7页
第7页 / 共8页
学习协议测试的心得体会.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学习协议测试的心得体会.docx

《学习协议测试的心得体会.docx》由会员分享,可在线阅读,更多相关《学习协议测试的心得体会.docx(8页珍藏版)》请在冰点文库上搜索。

学习协议测试的心得体会.docx

学习协议测试的心得体会

学习协议测试的心得体会

篇一:

软件测试学习感悟学习软件测试的感受及体会这学期学习了赵培英老师教授的软件测试这门计算机专业的专业课,我们学院又开设了刘老师的关于这方面的讲座,更彻底的使我们加深了对软件测试的认识。

所以我想谈谈关于软件测试的体会及学到的一些知识。

作为计算机专业的一门很重要的课程,在计算机领域占据着不可替代的角色,随着人类社会的进步,各种领域计算机的普及,计算机软件也越来越多的出现在各个场合,为人们的办公,生活,学习,休闲等提供了前所未有的方便。

软件测试,其目的是:

第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Dotherightthing),另一方面是确认软件以正确的方式来做了这个事件(Doitright)。

作为计算机专业的学生,我想以我自己的观点来阐述一下我对软件测试的理解。

以前,就是在我没有认真了解测试行业之前,我也一直认为测试应该是不重要的,甚至认为有必要有专门的测试职业吗?

认为软件主要是开发人员的事,软件的成果也是由开发人员决定的,当我学了软件工程这门课,真正的了解到它的必要性,事实上真的不是那么一回事哦。

软件无处不在,然而,软件是人编的——所以不完美。

我还查阅了一些资料就是不注意软件测试的案例:

1、迪士尼的狮子王(1994~1995)软件在少数系统中能正常工作,但在大众使用的常见系统中不行。

后来证实,迪士尼公司没有对市场上投入实用的各种pc机型进行正确的测试。

2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软件缺陷拿出4亿美元支付更换坏芯片的费用。

导致付出如此昂贵的代价,其主要原因是发现了软件缺陷没有正确的处理。

3、美国航天局火星极地登陆(1999)该项目使用前有经过测试,两个测试小组双方独立工作都很好,但从未走在一起。

4、爱国者导弹防御系统(1991)一枚导弹在多哈击毙28名美国士兵,症结在于一个软件缺陷:

一个很小的系统时钟错误累积起来就可能拖延14小时,造成跟踪系统失去准确度。

在多哈袭击战中系统被拖延100小时。

5、千年虫(大约1974)估计世界各地更换或升级该系统程序解决原有2000年错误的费用已经超过数亿美元。

这就是不注重测试的一些严重后果,因此我们发现了软件测试的必要性!

在设计有效测试用例之前,测试工程师必需理解软件测试的基本原则,包括:

1、所有的测试都应追溯到用户需求。

正如我们所知:

软件测试的目标在于揭示错误。

而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误。

2、应该在测试工作真正开始前的较长时间内就进行测试计划。

测试计划可以在需求模型一完成就开始,详细的测试用例定义可以在设计模型被确定后立即开始。

因此,所有测试应该在任何代码被产生前就进行计划和设计。

3、Pareto原则应用于软件测试。

简单地讲,Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。

当然,问题在于如何孤立这些有疑点的模块并进行彻底的测试。

4、测试应从"小规模"开始,逐步转向"大规模"。

最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。

5、为了达到最佳效果,应该由独立的第三方来构造测试。

"最佳效果"指最有可能发现错误的测试(测试的主要目标),所以创建系统的软件工程师并不是构造软件测试的最佳人选。

6、不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任的表现.。

还有就是关于软件测试的分类:

从是否需要执行被测软件的角度,可分为:

-静态测试-动态测试从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为:

-白盒测试-黑盒测试关于静态测试和动态测试:

(1)静态测试是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。

其中包括代码测试、界面测试和文档测试3个方面。

对于代码测试,主要测试代码是否符合相应的标准和规范。

对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。

对于文档测试,主要测试用户手册和需求说明是否符合用户的实际要求。

(2)动态测试是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

所以,我们判断一个测试属于动态还是静态测试,唯一的标准就是看是否运行程序。

关于黑盒测试和白盒测试:

(1)黑盒测试指的是把被测软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子,只关心软件的输入数据和输出结果。

黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:

?

是否有不正确或遗漏了的功能?

?

在接口上,输入能否正确地接受?

能否输出正确的结果?

?

是否有数据结构错误或外部信息(例如数据文件)访问错误?

?

性能上是否能够满足要求?

?

是否有初始化或终止性错误?

用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。

但这是不可能的。

黑盒测试的测试用例设计?

等价划分法?

边界值法?

错误推测法?

因果图法

(2)白盒测试指的是把盒子盖打开,去研究里面的源代码和程序结构。

白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。

使用被测单元内部如何工作的信息,允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。

基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。

白盒测试的主要方法:

?

逻辑驱动测试?

基本路径测试主要用于软件验证。

使用程序设计的控制结构导出测试用例。

逻辑驱动测试:

主要是测试覆盖率,以程序内在逻辑结构为基础的测试。

包括以下6种类型:

?

语句覆盖?

判断覆盖?

条件覆盖?

判定-条件覆盖?

条件组合覆盖?

路径覆盖白盒测试的主要目的?

保证一个模块中的所有独立路径至少被执行一次;?

对所有的逻辑值均需要测试真、假两个分支;?

在上下边界及可操作范围内运行所有循环;?

检查内部数据结构以确保其有效性测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Dotherightthing),另一方面是确认软件以正确的方式来做了这个事件(Doitright);第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。

如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。

经过这一门课程的学习和老师的给我们的讲座,意识到测试并非是我想像的从客户角度任意使用软件产品,从而发现有无质量问题,它有它的理论和实践体系。

软件测试是一项严谨的工作,软件测试员一个基本的素质是打破砂锅问到底。

喜欢找出那些深藏不露的系统冲突,乐于处理最复杂的问题,外表上热衷於来回奔忙,追求尽善尽美,为征服系统而额手称庆。

最后特别感谢老师对我们的课程学习的讲授,让我们了解到计算机更多的知识,也让我们了解到求职关于计算机方面的岗位,应具备哪些专业知识,谢谢老师!

篇二:

软件测试培训心得体会软件测试培训心得体会概述2012年8月2日至2012年8月6日,中国软件评测中心的测试技术应用与实践培训课程在武汉召开,本人非常荣幸的参加此次培训,通过这次经验让我系统的梳理了软件测试理论技术,对软件测试有了一个更深入更全面的认识。

下面请准许我简述软件测试的概念及软件测试在软件工程中的重要性。

一:

软件测试历史与发展到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。

这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。

人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,BillHetzel在《软件测试完全指南》(CompleteGuideofSoftwareTesting)一书中指出:

“测试是以评价一个程序或者系统属性为目标的任何一种活动。

测试是对软件质量的度量。

”这个定义至今仍被引用。

软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。

软件测试已有了行业标准(IEEE/ANSI),1983年IEEE提出的软件工程术语中给软件测试下的定义是:

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

这个定义明确指出:

软件测试的目的是为了检验软件系统是否满足需求。

它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。

软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。

进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,而当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。

于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。

人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。

测试工具可以进行部分的测试设计、实现、执行和比较的工作。

通过运用测试工具,可以达到提高测试效率的目的。

测试工具的发展,大大提高了软件测试的自动化程度,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。

采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。

设计良好的自动化测试,在某些情况下可以实现“夜间测试”和“无人测试”。

在大多数情况下,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。

而测试工具的选择和推广也越来越受到重视。

在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等,这些都有严格的版权限制且价格较为昂贵,但由于价格和版权的限制无法自由使用,当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。

幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。

二:

软件测试的概念与目的软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。

执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

1.测试的目的是为了表明软件能够工作2.测试的目的是为了表明软件不能够能够正常工作3.测试的目的不是要证明什么,而是为了把软件不能正常工作的预知风险降低到能够接受的程度4.测试不是行为,而是一种自觉的约束,不用太多的测试投入产生低风险的软件上的。

三:

自我体会体会一:

软件测试在整个软件生命周期中的重要性它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。

这个环节在后续整个项目中占了很大的比重,能主导整个软件项目的走向,成败与否全在于开始阶段的决策。

体会二:

软件测试的真正意义这与发现错误,而不在于验证软件是正确的在严格的测试也不能完全的发现软件当中所有的错误,但是测试还是能发现大部分错误的,能确保软件基本可用和软件的适用性,所以在后使用的过程中还需要加强快速响应的环节。

结合软件测试理论,故障暴露在最终客户端之前及时主动的去发现并解决。

这点需要加强研发队伍的建设。

体会三:

在系统性能方面需要重视经过这次培训中多个案例的讲解,让我了解到系统在上线之后会有很多不能预知的性能问题,需要在上线之前实现进行模拟,以避免风险,包括大数据量访问,高并发数等等。

当然也有很多应对手段,没有那种手段可以称最完美的,只有最合适的,需要灵活的掌握,综合运用以达到最优程度,这个很值的大家一起研究。

四:

个人想法根据软件部门目前的情况,接下为了我们的软件能在质量上得到保障减轻项目后期维护验收的风险,在此做以下想法和建议;想法一:

有效制定软件测试流程;由于前期软件工程项目中,未对软件进行系统化的测试,导致后期维护成本较高,变相增加了软件开发人员的工作量。

方案:

1:

测试需求分析?

明确需求范围?

明确每个功能业务处理流程?

不同的功能点作业务的组合?

挖掘显示需求背后隐藏的需求?

测试需求分析:

单功能点输入输出------业务流分析-------篇三:

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

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

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

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

1.标准文档的制定:

1.1.任何一个公司要让自己的产品面市,都要有自己的一套完整的品质标准,这个标准一定是在符合国标及客户标准的基础上形成的企业标准,系统而全面地描述一款产品的功能、性能、可靠性、健壮性、安规要求等一系列的产品标准,并根据客户特定要求相应调整。

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

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

2.测试资料的归档:

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

方案自存问题、品证测试问题、生产测试问题、客户反馈问题、终端消费者反馈问题等)、认证测试文档归纳总结(认证公司培训资料、认证过程中出现并改善的问题)、测试工程师经验分享、常见问题解答FAQ等。

3.功能测试:

3.1.这是软件测试工作中最核心和最基本的一项测试,该测试的主要内容是检查软件是否符合需求定义,并通过构造正常的操作来检查的动作是否正确;在这个测试里,正确性是最最重要的软件质量要素。

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

显性功能和隐性功能。

显性功能:

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

隐性功能:

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

例如,电话本的显性功能有增加、编辑、删除、拨打等,这些功能可以在电话本的菜单里面看得到,姓名列表排序则属于一个隐性功能,因为在电话本的菜单里没有这样一个子菜单,但它却是一个实实在在的功能。

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

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

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

还是支持从一种介质里下载?

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

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

e.TFT屏在Poweroff→on,ACCoff→on时,屏的角度是否有记忆?

f.模拟导航时,是否有双工功能?

后台源声音输出是否正常?

g.路试语音产品外置麦克风使用效果时,考虑车速、风声、车内讲话噪声、汽车底盘/发动机噪声等对麦克风录音效果的影响,软件多线程开启时导致的资源占用/系统繁忙对后台录音系统的影响。

(也可从结构方面考虑:

外置麦克风型腔开孔的接触面积,是否360度可旋转等来增加录音的路径等。

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

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

3.3.在实际的测试过程中,显性功能通过菜单遍历可以很容易地进行无遗漏的测试,但是隐性功能却很容易为我们所忽略!

一个有效的解决办法是去检查软件的功能定义列表(FeatureList),从这个列表里面找出那些隐性的功能。

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

4.健壮性测试:

橘生淮南则为橘,生于淮北则为枳。

是说明橘的健壮性太差。

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

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

健壮性有两层含义:

一是容错能力,二是恢复能力。

健壮性测试主要包括:

电子硬件健壮性(如:

遥控距离测试、高低电压适应性测试、插拔电及开关机测试、静电抗扰度测试、热插拔测试)和机械健壮性(如:

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

4.2.这项测试主要是检查软件对异常操作的容错能力,异常操作通常要考虑异常输入操作及异常条件两个方面。

例如:

测试蓝光媒体播放器时,反复把HDMI连接线拔掉,造成通信异常中断,再接上复合视频(CVBS)信号输出,即由数字信号输出转为模拟信号输出。

恢复测试重点考察一下几项:

(1)系统能否重新运行;

(2)有无重要的数据丢失;(3)是否毁坏了其它相关的软件或硬件;(4)若软件出现系统报错,是否有自恢复能力。

4.3.软件的很多功能的实现是有很多隐含的条件的,在健壮性测试中,要检查当这些条件不满足的时候的反应。

例如:

目前大多数3G智能手机,与各电信运营商形成利益捆绑,每款手机支持特定的电信运营商提供的通信服务,其它运营商提供的服务则被拒之门外。

当使用移动SIM卡安装在只支持联通通信服务的3G手机上,关注该手机表现:

是否在执行自动更新时重启?

还是执行自动更新后提示不支持移动运营通信服务:

SIMcardnotsupported,emergencycallsonly?

例如:

在做完常温包装跌落测试后,再测试机芯的读碟能力,读取偏芯碟、面振碟、偏重心碟、刮痕碟、指纹碟等等碟片,与未做跌落测试前读碟能力进行比较。

如果读碟能力比以前更差,则考虑改进措施:

软件适当增加录轨时间或机芯托盘加固等。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2