新人培训(软件测试基础)

上传人:仙*** 文档编号:244969147 上传时间:2024-10-06 格式:PPT 页数:42 大小:224.49KB
返回 下载 相关 举报
新人培训(软件测试基础)_第1页
第1页 / 共42页
新人培训(软件测试基础)_第2页
第2页 / 共42页
新人培训(软件测试基础)_第3页
第3页 / 共42页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件测试基础培训,不便透露,何为软件测试?,测试是发现并指出软件(包含软件经过建模、需求、设计等阶段所产生的大量输出工件)中存在缺陷的过程,这个过程指名和标注问题存在的,正确位置,,详细记录导致问题出现的,操作步骤,,及时储存当时的,错误状态,,以上组合在一起便于测试后问题能够准确,再现,何为软件测试?Cont.,发现问题,记录问题,跟踪问题,再现问题,历史数据,何为软件测试?Cont.,发现问题:第一个行为,表示发现软件中存在的问题。,发现问题,记录问题,跟踪问题,再现问题,历史数据,何为软件测试?Cont.,记录问题:第二个行为,表示通过“发现问题”行为操作指明和标注问题存在的正确位置,详细记录导致问题出现的操作步骤,及时储存当时的错误状态。,发现问题,记录问题,跟踪问题,再现问题,历史数据,何为软件测试?Cont.,跟踪问题:第三个行为表示通过“记录问题”行为操作来跟踪和控制出现过的问题,直到问题关闭。由“再现问题”引出的虚线代表着两个行为之间的关联是隐性存在的。,发现问题,记录问题,跟踪问题,再现问题,历史数据,何为软件测试?Cont.,再现问题:来源于“记录问题”,表示这个过程只是为了演示曾经出现过的错误现象,值得注意的是有些错误现象我们可能没有办法再现了。,发现问题,记录问题,跟踪问题,再现问题,历史数据,何为软件测试?Cont.,比如,由于某次操作引起了操作系统的内存异常出错,我们记录了但是下一次演示的过程中不一定会再出现。虽然有这样的事情发生,但是我们有理由肯定错误还是存在的,只不过我们没有触发相应的条件。,何为软件测试?Cont.,历史数据:从“记录问题”中挑选相同属性的错误,提高下次测试的针对性。因为是虚框,所以可以视为过程的一种补充。,发现问题,记录问题,跟踪问题,再现问题,历史数据,为什么需要软件测试?,测试可以保证你对需求和设计的理解与表达的正确性、实现的正确性以及运行的正确性,任何一个环节发生了问题都会在软件测试中表现出来。,为什么需要软件测试?Cont.,测试同时还可以防止无意识的行为引入一些将来可能出现的错误。,为什么需要软件测试?Cont.,测试也可以帮助设计代码及其用户界面,在编码之前测试人员就代表了客户,这个时候我们需要考虑程序会产生什么样的效果,而不用管它内部是如何工作的。,W模型,软件测试应在软件开发的需求分析阶段介入,需求分析,概要设计,详细设计,编码,代码集成,系统集成,软件验收,测试需求分析,测试概要设计,测试详细设计,单元测试,集成测试,系统测试,验收测试,软件开发过程,软件测试过程,软件测试目的?,软件测试是为了发现错误而执行程序的过程,测试是为了证明程序有错,而不是证明程序无错误,一个好的测试用例是在于它能发现至今未发现的错误,一个成功的测试是发现了至今未发现的错误的测试,by Grenford J.Myers The Art of software Testing,软件测试目的?Cont.,软件测试不以发现错误为唯一目的,查不出错误的测试并非没有价值。,整个测试过程本身就是评定测试质量的一种方法。如果我们的测试过程是可持续增长的在运行多次而未发现软件错误,这样多少都可以得出这样的结论:被测试软件已经完美了,或者就是需要遗弃这套无法正常工作的测试过程而重新构建一套了。,软件测试原则:,1.尽早和不断的测试,2.彻底的测试不可能,3.软件测试是有风险的行为,4.并非所有的软件错误都能修复,5.合理安排测试计划,1.尽早和不断的测试,要尽早地测试,让测试人员在软件的需求和设计阶段就介入而不是等这些工作全部完成了才进行测试。发现软件错误的时间在整个软件过程阶段中越靠后,修复它所消耗的资源就越大,2.彻底的测试不可能,因为存在着输入量太大,输出结果太多,软件实现途径太多和软件实现没有客观标准,从不同的角度看软件缺陷的标准不同这些客观因素的存在,所以我们只能做到有限数量路径测试,如果时间不够,无法进行充分的测试怎么办?,我们要使用风险分析,确定测试的重点,需要考虑下列因素:,对于该项目的用途而言,哪种功能最重要?,哪种功能对用户最明显?,哪种功能对安全影响最大?,哪种功能对用户最有用?,在开发过程中,该应用软件的哪个部分最重要?,如果时间不够,无法进行充分的测试怎么办?Cont.,哪一部分代码最复杂,容易导致出现错误?,哪一部分的应用程序是在急迫或在惊恐的情况下开发出来的?,哪一部分程序与过去项目中引起问题的部分相类似/有关?,哪一部分程序与过去项目中需要大量维护的部分相类似/有关?,开发人员认为在软件中哪些部分是高风险的?,如果时间不够,无法进行充分的测试怎么办?Cont.,哪些问题能造成最差的发行?,哪些问题最能引起用户抱怨?,哪些测试可以容易地覆盖多种功能?,哪些测试在覆盖高风险部分的测试时使用时间最少?,3.软件测试是有风险的行为,我们可以通过对资源的调节,对测试程度和范围进行有效控制。原则是尽量使用有限资源得到最大的回报。测试只能保证尽可能多地发现错误,不能保证发现所有的错误。,4.并非所有的软件错误都能修复,没有足够的时间(项目进度不允许),不算真正的软件错误(沟通理解上发生歧义),修复的风险太大(导致更多的错误,修复成本太高),不值得修复(不太常用的功能),以上都需要经过严格的评估,整个评估决策过程由软件测试人员、项目管理人员和程序开发人员共同参与。,5.合理安排测试计划,好的测试计划树立了一个正确的测试目标、组合了各种有针对性的测试方法、罗列了所有可使用资源等。测试计划制定需要严谨,防止发生测试偏移现象。测试时间安排得尽量宽松(也就是说我们需要预留工作余量),不要指望在极短的时间内完成一个全方位、高水平的测试。任何理想化的概念和无法确定的因素都应该被剔除。,软件测试策略,1.数据和数据库完整性测试,我们在数据测试中必须认真对待默认值、空白、Null值、零值和无效输入等情况。,软件测试策略 Cont.,2.功能测试,功能测试又称正确性测试,它检查软件的功能是否符合规格说明。基本方法是构造一些合理输入,检查是否得到期望的输出。,软件测试策略 Cont.,3.易用性原则,易用性是人机交互中适应性、实用性和有效性的集中体现。,优秀UI常见的七个要素:,符合标准和规范;灵活性;正确性;直观性;舒适性;实用性;一致性。,软件测试策略 Cont.,4.性能测试与压力测试,压力测试:,对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点(极限点),来获得系统能提供的最大服务级别的测试,性能测试:,在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试有密切的关系。所以压力和强度测试应该与性能测试一同进行。,性能测试和压力测试的区别?,他们具有不同的测试目的,压力测试,是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的页面3秒钟内相应;所以一句话概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载。,性能测试,是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。,测试需求分析,在整个软件测试生命周期中,制定项目的测试需求和计划阶段是测试项目的关键。在这个阶段,我们需要制定项目的测试需求,从而确定测试项目的范围和目标;我们也需要对项目进行规划,确定项目所需的资源、分配、风险、方法和策略等等,从而让整个项目有序地、高效的、受控地进行。,什么是测试需求:,人们在接受了一项任务后,总会先想到或去了解这项任务中我们需要做些什么,软件测试也是如此。在确定要开展一个测试项目后,我们就要开始了解“什么是我们要在该项目中进行测试的”也就是测试需求。,在分析和制订测试需求时,我们要考虑的是:,测试范围:,在测试项目中,我们需要进行开发生命周期中各阶段测试(单元测试、集成测试、系统测试和验收测试)的全部还是具体那些阶段。,在分析和制订测试需求时,我们要考虑的是:,测试目标:,系统的哪些特性需要被测试以保证这些特性的质量。测试目标往往要根据目标特点进行分解细化,分解到一个可测试的粒度,即具体的特性;如果不经分解细化,笼统、整体或者概括性的特性不利于测试工作的开展。,要测试的系统特性往往包括:功能、性能、可用性、安全性、兼容性.,测试需求分析,测试需求主要包括两种类型:功能性需求和非功能性需求,功能性需求:,描述了系统的特征或系统提供的服务。主要包括:,系统功能,业务流程,界面功能和风格,系统安装,等,非功能性需求:,描述了施加于系统操作上的约束。主要包括:,性能要求,安全性要求,兼容性要求,等,测试人员素质,五项优秀测试人员所拥有的重要特征:,Controlled(可管理,有条理的)、,Competent(掌握测试技术的)、,Critical(专注于发现问题的)、Comprehensive(注重细节的)、,Considerate(能够和开发人员很好交流的),,简称为测试人员的5C职业特征。,by Bill Hetzel The Complete Guide to Software Testing,Chapter 11,测试人员素质 Cont.,根据5C我们可以对测试人员应该具备的职业素质总结出一下几点:,1.沟通能力。测试人员必须能够同测试涉及到的所有人进行沟通,具有与技术人员和非技术人员交流的能力。,2.共同价值观。测试人员必须和每一类人打交道与他们形成共同的价值观,具备这种能力可以将测试人员与相关人员之间的冲突和对抗减少到最低程度。,测试人员素质 Cont.,3.,技术能力。开发人员轻视那些不懂技术的人是一种普遍存在的现象,测试人员必须很好的理解被测软件概念,会使用其中的一些重要工具。,4.,自信。测试人员和开发人员的工作性质相反,所以经常出现开发人员指责测试人员工作出现错误的事情。测试人员必须对自己的观点保持足够的自信,如果容许别人对自己的工作结果指东指西,就不能完成更多的事情了。,测试人员素质 Cont.,5.,交流。当你告诉某个开发人员的程序出现了错误时,需要用一种婉转且留有余地的商讨口吻和开发人员交流。,6.,记忆。测试人员应该具备将历史类似错误从记忆深处挖掘出来的本领。,7.,耐心。测试工作需要耐心,有时我们需要花费大量的时间去剥离、确认和跟踪一个错误,测试工作是那些坐不住板凳的人无法胜任的。,测试人员素质 Cont.,8.,怀疑。这也是测试人员必须具备的基础品德,开发人员本能地掩盖所有已经出现的或者未出现的错误。测试人员在听取了开发人员的说明后,必须保持怀疑态度知道经过自己认真地核实。,End Thanks,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!