软件测试学习心得_第1页
软件测试学习心得_第2页
软件测试学习心得_第3页
软件测试学习心得_第4页
软件测试学习心得_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试学习心得软件测试课学习心得09301028张如这个学期我学习了软件测试这门专业课程,在学期即将结束的时候,我也对这门课程建立基本的了解和理解。软件测试这门课程作为软件工程专业中一门很重要的课程,已经在软件领域占据了不可替代的角色,当一个软件从雏形到真正的在一台计算机上运行的时候,谁也不能保证计算机软件能一步到位的满足人们的需求。所以就有了软件测试,其目的是:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。下面我简单的写一下这个学期对课程的总结和收获。我认为,在整个庞大的软件工程中,不管是需求分析、架构设计甚至是最后的debug,都会产生引入不管的机会,这就要求作为一个软件测试师要掌握丰富的软件工程原理和知识。测试的工作将会存在于整个项目周期,即在项目开始时需要各种分析调研时就开始了。尤其是在形成需求规格说明书时就有对文档的测试需求,甚至主导整个项目的走向。软件测试对逻辑思维、学习能力、反应要求很高,是否有严密的思维和逆向思维也非常重要。做测试还要考虑到所有出错的可能性,有时候还要用一些非常规的的测试方法。软件测试还很注重软件性能问题,也就是要保证软件运行得很好;不同的使用环境下,考虑软件的兼容性同样重要。对于测试员来讲,会比开发人员更加重视软件产品的质量问题。在测试过程中,测试者可能会为客户的需求角度考虑到更多,由此我们可以认为测试人员有权利决定产品是否可以发布。然而,通过一个学期的学期,我们又不得不懂得,软件测试人员不是万能的,测试人员在面对一个设计烂编码烂的软件时,也是无法不低头的,再怎么测试它也变不成优秀的软件。通过课上的理论因为课下的实践和后半学期又因为身体力行于__群论坛里使我对测试方法和设计分析有了大致的接触和深入了解。收印象深刻的有一下几点。1、最基本的测试的分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。2、然后就是,白盒测试中的逻辑驱动测试的覆盖率测试。3、还有就是对于划分等价类和边界值法这一块,让我从模糊到明朗。4、在初次写测试用例的时候,感觉真是纠结,用例写的很死板,看似简单的一个填表工作,要写好真是不简单。一开始写的比较不自然,有些生搬硬套,而且还很慢。在后来负责了对论坛新鲜事版块的测试之后,明白了测试用例其实就是指导怎么去执行测试,而且书写设计测试用例也要以熟悉软件的业务为前提,才能更好的去测试。另外就是一个学期的学习让我纠正了几点误区:1.有位大师曾说过:“软件测试的目的在于发现错误,一个好的测试用例在于发现从来未发现的错误,一个成功的测试是发现了从未发现的错误的测试。”由此我自认为测试就是为了找到bug,然而一个学期的测试学习经验告诉我这是错误的,如果只是为了找到bug,那么bug会成天缠着你。2.在大家协力测试论坛的时期内,我曾认为这种大量的重复性的工作真的很乏味,可是在这乏味中真心发生挺多有意思的bug,意想不到的bug,所以我认为只要掌握了方法,在重复中寻到到创新的小惊喜,任何东西都有它的特点。作为测试新手,通过一学期的学习,我认为能独立写测试计划,设计测试用例,精通一种测试工具,理解一种bug管理软件是新手晋级老手的必备素质。任重而道远?!在最后,我不得不提的就是细心和耐心了。这是我认为这个学期测试课上收获最大的了,课程要求测试时必须细心和耐心,我在想,如果以后真的工作在测试一系列的岗位上,要学会坐得住,用大量的时间和精力和bug斗争,分离、识别还有归类bug,是不是也能真的改变我粗心大意和三分钟热度的毛病。最后感谢刘老师这学期的课程讲授,和实践中的指导和帮助。测试路程,路漫漫其修远兮,吾将上下而求索。《软件测试》学习纲要一、20**年春季学期期末考试题型如下: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单元测试用例设计及编程学习软件测试需要什么基础1、自学能力又是与基础无关的,但自学能力是一个技术人员最重要的能力之一,尤其是在遇到问题时快速学习并找到解决办法的能力。技术人员很重要的一点就是需要不断学习新的知识,这样才能与时俱进。在工作中不要指望别人告诉你该学什么,该怎么学,甚至帮你解决问题,要对自己有个长期的规划,希望往哪方面发展,应该具备什么样的知识。当然知识是学不完的,工作中很可能遇到没学过的问题,因此遇到问题时要知道怎样去寻找解决方法,并自己思考如何解决。2、编程基础至少要了解一门编程语言,c、vb、java都可以,注意是了解而不是精通。了解的意思就是能看懂代码,如果能自己写简单的代码就更好了。关键是了解编程的思想,不至于看到代码相关的内容就不知所措了。只要能看懂一种编程语言,学会其他语言也就不是问题了。其实绝大部分刚刚从事软件测试行业的人都是做功能黑盒测试,并不需要编程能力,但当工作了一段时间,想往更高层次发展时,就需要更全面的能力,编程能力就是很重要的一点。如果想往性能测试、自动化测试方面发展的话,那编程能力更是必不可少的了,因为使用测试工具就需要编程。3、数据库基础与编程基础一样,会简单的sql语句,熟悉一种数据库的使用,sqlserver是首选,毕竟是微软的产品,简单易用。现在的软件系统基本上没有不使用数据库的了,测试人员可能经常会到数据库中查询一些数据,如果能自己进行数据库的操作,那么不但能提高工作效率,也能对系统有更深一步的了解。4、英语基础具备基本的英语读写能力。看到英语就害怕可不是一个软件测试人员应该具备的素质。基本上所有的软件测试工具都是英文界面,很多好的知识文档也只有英文版的,有可能你测试的系统也是英文的,甚至在一些企业里,跟你沟通的开发人员也只会英语。但也不要被吓着,英语其实多用用就熟悉了,再开个金山词霸,难不倒你的。英语不需要多讲了,即使不从事软件测试工作会一门外语也是很有用的。软件测试学习一、软件测试方法:白盒测试、黑盒测试、灰盒测试二、软件测试阶段:执行人测试阶段测试方法开发人员—>1.单元测试(白盒测试)测试人员—>2.集成测试(黑盒+白盒测试)测试人员—>3.系统测试(黑盒多)第三方—>4.验收测试(黑盒多)验收测试包括:正式验收测试、alpha测试、beta测试三种。系统测试包括:功能测试、性能测试、界面测试、安全测试、配置测试、兼容测试、回归测试等。三、软件各种测试的定义:白盒测试:程序内部的结构测试,也叫结构测试或逻辑驱动测试,对程序所有逻辑路径进行测试。?白盒测试的主要方法:逻辑驱动测试和基本路径测试。?白盒测试主要对程序模块进行如下检查:1.对程序模块所有独立的执行路径至少测试一遍。2.多所有逻辑判定,取“真”与取“假”,的两种情况都至少测试一遍。3.在循环的边界和运行的边界内执行循环体。4.测试内部数据结构的有效性,等等。黑盒测试:也叫数据驱动测试,主要是基于需求分析对系统的功能进行测试。?黑盒测试的主要方法:等价类划分、边界值分析、因果图、场景法、错误推测法※(测试用例设计所采用的方法就是黑盒测试的主要方法)?黑盒测试为了发现几类错误:1.在接口上,输入是否正确接收,输出结果是否正确(集成测试)2.功能是否有遗漏,是否正确(系统测试-功能)3.性能是否能满足要求(系统测试-性能)4.是否有数据结构错误或外部信息(例如数据文件)访问错误(系统测试-兼容)5.是否有初始化或终止性错误(系统测试-安全)单元测试:对代码的运行测试(也叫白盒测试),用于判定某个特定条件(或场景)下某个特定函数的行为。集成测试:(也叫组装测试,联合测试),是单元测试的逻辑扩展。模块与模块之间接口的测试。?集成测试的策略:1.模块与模块连接时,穿越模块接口的数据是否丢失。2.各个子模块组合起来,是否达到预期要求的父功能。3.一个模块的功能是否对另一个模块的功能产生不利影响。4.单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。5.全局数据结构是否有问题。系统测试:是将测试的子系统装配成一个完整的系统来测试?系统测试的目的:对最终软件系统进行全面的测试,确保最终软件系统满足产品的需求并遵循系统设计。验收测试:alpha测试、beta测试、第三方验收测试回归测试:对系统的新版本执行上一版本的测试用例检验是否通过。也可以说对于修改后新代码进行测试。?回归测试:作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试功能测试:也叫黑盒测试,利用黑盒测试法进行动态测试,根据需求分析看系统是否能达到预期结果。性能测试:也叫压力测试,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。界面测试:测试界面是否美观,是否能让用户满意,操作功能是否合理。安全测试:检查系统对非法侵入的防范能力(破译密码、保护机制)。配置测试:搭环境时,进行的参数配置是否合理。兼容测试:与其他软件或浏览器是否发生冲突。四、测试活动的生命周期是什么(也可说成测试流程是什么)?是指从测试项目计划建立到bug提交的整个过程。包括五个阶段:1、测试项目计划2、测试需求分析3、测试用例编写4、测试用例执行5、bug提交(总结:测试的集成测试阶段和系统测试阶段,两个阶段会运用“测试活动生命周期”来完成)例如:集成测试→上面的五个阶段(测试项目计划除外)系统测试→上面的五个阶段(测试项目计划除外)?软件测试项目计划的目的、内容:(对应阶段1)软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试策略和测试方法(最好是能先评审)?软件测试项目计划从什么时候开始的,为什么?(对应阶段1)测试过程测试过程软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.?测试用例编写的内容:(也可以说成是缺陷测试报告的组成:)(对应阶段3)简单说分三部分,测试步骤、数据输入、预期结果缺陷测试报告的组成:缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷实际结果的描述,期望正确结果的描述,注释文字和截取的缺陷图像?缺陷的生命周期(也可以说成是bug的管理流程)(对应阶段5)最简单的缺陷生命周期:发现—打开:发现缺陷提交给开发人员打开—修复:开发人员在现,修复缺陷,然后提交测试人员去验证修复—关闭:测试人员验证修复的软件,关闭已不存在的缺陷。复杂的缺陷生命周期:测试人员提交bug入库(qc),错误状态为new高级测试人员验证错误验证错误qc状态验证open状态下错误qc状态高级测试人员是open开发人员是并修复fixed高级测试人员不是declind不是declind是不能修复留下文字说明保存保存bug为open对于不能解决和延期解决的bug,不能让开发人员自己决定,一般要报告给测试经理。五、测试结束的标准是什么:(对应测试活动生命周期记忆)基于“项目计划”的原则(对应阶段1)基于“测试阶段”的原则(对应阶段2)基于“测试用例”的原则(对应阶段3)基于“覆盖率”的原则(对应阶段4)基于“缺陷收敛趋势”的原则(对应阶段5)基于“缺陷修复率”的原则(对应阶段5)基于“缺陷度量”的原则(对应阶段5)基于“验收测试”的原则基于“质量成本”的原则基于“测试行业经验”的原则六、测试工具:测试bug的管理工具:td、qc、bugfree功能测试管理工具:qtp性能测试管理工具:loadrunner[testdirector]:企业级测试管理工具,也是业界第一个基于web的测试管理系统。[qualitycenter]:基于web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。[quicktestprofessional]:用于创建功能和回归测试。[loadrunner]:预测系统行为和性能的负载测试工具七、软件测试的相关概念:软件测试的对象:需求规格说明书、概要设计规格说明书、详细设计规格说明书、源代码程序软件测试:检测系统预期结果与实际结果之间的差别,发现系统中的bug。软件测试与qa的区别:qa:是以第三方的姿态,孤立于项目组以外的身份,对整个开发进行评审,qa负责对每个阶段的软件文档审核。软件测试的目的:1.发现代码错误(单元测试)2.一个成功的测试用例,在于发现至今未发现的错误3.一个成功的测试用例,在于发现至今未发现错误的测试4.依据需求分析确保产品的所有功能,并且用户访问的所有功能附有书面说明书。(系统测试-功能)5.满足性能和效率的要求(系统测试-性能)6.适应用户的环境(系统测试-兼容)软件测试的原则:1.应尽早执行,并贯穿于整个软件生命周期。(软件的生命周期)2.严格执行测试计划(软件的生命周期-测试项目计划)3.应追溯需求(软件的生命周期-测试需求分析)4.穷举例是不能的,要遵循good-enough原则(软件的生命周期-测试用例编写)5.关注缺陷的修复(软件的生命周期-bug提交)6.检查程序是否做了不该做的(单元测试)7.必须确定预期结果(系统测试-功能)8.应由第三方来构造(验收测试)八、v模型:v模型:揭示了软件测试活动分层和分阶段的本质特性。如:集成测试对应概要设计集成测试计划和集成测试说明文档的编写:可以在概要设计阶段就可以开始编写,只要在集成测试实施前完成即可。v模型还有一点意义:1)在需求分析阶段:编写测试用例,可以发现需求文档本身的缺陷,这样就能尽早把需求的缺陷消除,避免使缺陷残留到下一个阶段中。2)在概要设计阶段:编写集成测试用例也会间接地地图软件设计质量。总结:开发人员软件开发阶段:用户需求、需求分析与系统设计、概要设计、详细设计、编码(集成、实施、交付)测试人员软件测试阶段:验收测试准备、系统测试准备、集成测试准备、单元测试准备、单元测试(集成测试、系统测试、验收测试)(测试阶段准备反过来,与开发阶段对应上)九、典型的软件测试过程模型是:v模型、w模型、h模型、前置测试模型。软件测试学**结姓名:某某学号:20**0001在大庆浦东软件平台有限公司经过一周的软件测试实训,从对软件测试没有什么经验的我初步掌握了软件测试的方法和技能,收获颇多。我在大学期间的专业是信息与计算科学,原本打算从事网络方面的工作,对活动目录、数据库、操作系统等的知识比较感兴趣。经过这次理论学习,了解到要做好软件测试,要求掌握的知识并不仅仅是测试方面的,网络、数据库、操作系统等的知识对做好测试也是很有帮助的。这让我明确了以后学习的目标,在不断学习软件测试的同时,也应该继续其他相关知识的深入学习。通过此次学习,对整个软件测试行业的了解大大的加深。以前认为软件测试只是枯燥的反复的使用被测试软件来发现异常的问题,以为软件测试并不重要,低开发一等。现在认识到了软件测试的重要性,软件测试是软件产业向软件工业化生产时代迈进不可缺少的重要组成部分,是保证软件质量达到客户需求不可缺少的环节。软件测试在国内是一个新的职业,发展得比较晚,但它的重要性正在为行业所重视。在学习过程中,我了解了作为一个合格的测试人员所应具备的素质与技能。其中个人素质在测试工作中起到了非常重要的作用,它包括你的信心、耐心、细心和与人交流沟通的能力,它将贯穿你工作生涯的整个过程。在测试理论上,我们系统学习了软件测试的流程,各种测试阶段和测试方法,以及测试工具的使用。通过这些课程的学习,让我们对软件工程也有了更深刻的理解,为以后的测试工作作了很好的理论储备和技能的提升。软件测试作为软件开发过程中一个非常重要的环节,越来越成为软件开发商和用户关注的焦点。完善的测试是软件质量的保证,因此软件测试就成了一项重要而艰巨的工作,要做好这项工作当然也绝非易事,我在做软件测试工作中总结出了一些经验和技巧。1.功能点的细化在进行测试前,先将所要测试的功能细分,填写《测试用例表》,有针对性的运行功能测试案例,逐个对每个功能细分点进行测试。在每次运行测试案例之前,明确此次运行的目的和预期的输出结果,并要做好记录。2.注意测试中的错误集中发生的现象有一些错误是和程序开发人员的编程水平和习惯有很大关系的。例如程序中的拼写错误,习惯用法等。注意收集并记录这些现象,有助于更快、更多地发现类似的错误。3.尽可能多的使用非常规的测试充分考虑到各种合法的输入和不合法的输入以及各种边界条件。边界值往往是最容易出现异常的情况,特殊的情况下甚至要制造极端的状态和意外状态,比如网络突然中断,和电源突然断电等情况。4.对测试错误结果一定要有一个确认的过程一般有a测试出来的错误,一定要有一个b来确认。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论