版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试培训教程,研发部,软件测试理论基础,测试工程师的职业发展,软件测试工程师一般有几个方向可走,如图1-2所示。 一个理想的测试工程师应该有开发经验,至少要有开发的概念。仅仅发现Bug是测试的初步,而分析出根本原因,却要有很深的功底。,软件测试定义,定义:软件测试就是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程。 软件测试应该是对软件形成过程的文档,数据以及程序进行的测试,而不仅是对程序进行的测试。 60%以上的软件错误并不是程序错误,而是分析和设计的错误,提倡软件全生命周期测试的理念。,软件测试的目的和原则,基于不同的立场,存在着两种完全不同的测试目的: 用户角度:希望软
2、件测试暴露软件中隐藏的错误和缺陷,已考虑是否接受产品。 软件开发者角度:希望测试成为表明软件产品中不存在错误的过程,验证被测软件已正确的实现了用户的需求,确立人们对软件质量的信心。,软件测试的目的和原则,换言之,测试的目的是: 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。 测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。 实施测试收集到的测试结果数据为可靠性分析提供了依据 测试不能表明软件中不存在错误,它只能说明软件中存在错误,软件测试的目的和原则,软件测试的原则: 所有的软件测试都应追溯到用户需求。 应当把“
3、尽早地和不断地进行软件测试”作为软件测试者的座右铭。 完全测试是不可能的,测试需要终止。 测试无法显示软件潜在的缺陷。也就是说测试只能证明软件存在错误而不能证明软件没有错误。,软件测试的对象,软件测试分类,一般的,我们将软件测试活动分为以下几类: 黑盒测试、 白盒测试、 灰盒测试、 静态测试、 手动测试、 自动测试,软件测试分类黑盒测试,黑盒测试又叫功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试类别注重于测试软件的功能性需求。 测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终端用户使用该软件,检查软件产品是否达到了用户的需求。 如图1-4所示为黑盒测试实例图。 黑盒测
4、试能更好的从用户角度来考察被测系统的功能性需求实现情况。,软件测试分类白盒测试,白盒测试又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。 白盒测试需要测试工程师深入考查程序代码的内部结构、逻辑设计等。 就像前面的例子,我们拆开手机,观察手机电路板的设计,液晶屏的构成等。 对于白盒测试工程师来说,软件产品的内部结构是敞开的。如图1-5所示是白盒测试示例图。,软件测试分类灰盒测试,灰盒测试介于白盒和黑盒测试之间。 灰盒测试一方面考虑程序代码的功能性表现,另一方面,又需要考虑程序代码的内部结构。 通俗地讲,灰盒测试就是白加黑。 像我们的性能测试,自动化功能测试就是采用了灰盒测试的方法。 图1
5、-6是灰盒测试的示例图。,软件测试分类静态测试,定义:静态的、不执行被测对象程序代码而寻找缺陷的过程。 在进行静态测试时可采用一些代码走查工具,如QAC+、C+Test等。,软件测试分类手动测试,它是测试人员设计测试用例并执行测试用例,然后根据实际的结果去和预期的结果相比较并记录测试结果,最终输出测试报告的测试活动。 可充分发挥测试工程师的主观能动性,将其智力体现在测试工作中,能发现许多的缺陷,但同时又有一定的局限性和单调枯燥性。,软件测试分类自动化测试,定义 利用测试工具,模拟用户业务使用流程,让他们自动运行来查找缺陷。 优点 快、广泛、可重复性工作 缺点 只可检查比较主要的问题,如崩溃、死
6、机,无法发现一般的日常错误。编写脚本工作量 也很大,有时会超过手动测试时间。 我们要根据实际情况选择或者不选择测试工具,选择使用何种测试工具,不能为了实用工具而可以的去使用工具。,软件测试人员职业要求,从个人素质角度要求测试工程师需要具备以下6种素质: 责任心 沟通能力 团队合作精神 耐心、细心和信心 时时保持怀疑态度、并且有缺陷预防的意识 不断学习的能力,测试学习路线,对于软件测试初学者,我们要切合实际、循序渐进的学习,在学习中可参考图1-3所示的软件测试学习路线图,从软件测试的理论基础,到项目实战,逐步学习,掌握技术技能,最终胜任软件测试工作。,软件测试流程图,软件测试虽然是软件生存周期的
7、一个独立阶段,但测试工作却渗透到从分析、设计直到编程的各个阶段中(1-7是软件测试所经阶段的一般流程)。 需求测试、单元测试、集成测试、系统测试、性能测试、用户测试、回归测试,需求测试,要从以下几个方面考虑需求测试: 完整性 正确性 一致性 可行性 无二义性 健壮性 必要性 可测试性 可修改性,单元测试,又称模块测试,就是对程序代码中最小的涉及模块单元进行测试。 在单元测试中我们主要采用静态测试与动态测试相结合的办法。 单元测试要求需要几年的代码编写经验,并且要十分熟悉当前的被测系统,以及该系统是否与其他系统的接口关联情况。 单元测试在编码阶段占据非常重要的地位。 可以降低编码的错误率,提高编
8、码质量,集成测试,又称组装测试,是将软件产品各个模块组装起来,检查接口是否存在问题,以及组装后的整体功能、性能表现。 一般可采用非增式集成方法、增式集成方法(自底向上集成、自顶向下集成、组合方式集成)等策略进行测试,利用一黑盒测试为主,白盒测试为辅的测试方法进行测试。 主要解决各个组成但源代码是否符合开发规范、接口是否存在问题,整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求等。,系统测试,将通过集成测试的软件部署到某种较为复杂的计算机永华环境进行测试。 目的:通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。 这个阶段主要进行的是安装卸载测试、兼容性测试、功
9、能确认测试、安全测试等。 采用黑盒测试法,主要考察被测软件的功能与性能表现。,性能测试,性能测试要求被测软件在业务处理速度、处理能力和所耗用的硬件系统资源比率满足用户的需求。 不要尝试用手动方式进行性能测试,应当编写一段相应的程序或者使用专门的工具进行,如利用LoadRunner自动化性能测试工具。 性能测试相对难度较大,要求测试人员掌握编程语言,精通业务流程,拥有深厚的项目经验。,用户测试,可称为用户确认测试。 正式验收前,需要用户对本系统做出一个评价,用户可对交付的系统做测试,并将测试结果反馈回来,进行修改、分析。 用户测试环节是被测试软件首次作为正式的系统交友用户使用,用户会根据他们的实
10、际使用情况进行测试、使用,并提出实际使用过程中的问题。 用户测试是软件生产流程中的最后质检关。,回归测试,回归测试是经过一段时间以后再回过头来对以前修复过的Bug重新进行测试,看该Bug是否会重新出现。 有些时候可采用自动化测试工具来进行回归测试,如利用QTP 一般情况下,都由测试工程师手动的执行一千的测试用例。来检查用例通过情况。,软件项目运作图,市场调研,1、主动模式 将公司或者企业作为需求接收的被动方,而需求的提出作为主动方。 2、被动模式 在没有明确的需求提出者时,有公司或企业主动提出给特定使用用户群提供某种产品的模式。 市场调研主体:市场人员、销售人员 调研方式:客户走访,市场观察,
11、报刊媒体等 输出文件:XXX项目市场调研分析报告,可行性研究,以预测为前提,以投资效果为目的,从技术上、管理上进行全面综合分析研究的方法。 基本任务:对新开发产品或升级产品从技术经济角度进行全面的分析研究,并对其投产后的经济效益进行预测,在既定的范围内进行方案论证的选择,以便最合理的利用资源,达到预定的社会效益和经济效益。 主体:市场人员、销售人员 对象:在市场调研阶段产生的XXX项目市场调研分析报告 输出文件:XXX项目可行性分析报告,产品立项,在前期的市场调研、可行性研究经过评审可行后,则由需求调研人员牵头,进行产品立项,并进行产品小组的建立,同时制定产品的运作计划,如需求调研、产品设计、
12、产品测试、产品发布等一系列的工作步骤及时间点。 立项负责人:市场调研人员 工作内容:提交产品立项申请,审批通过后,指定产品计划书,确定产品各个阶段的工作流程及时间进度表。,需求调研,1、主动模式 2、被动模式 需求调研参与人员:市场人员、开发人员、测试人员等 调研对象:客户或假象客户(广泛应用群) 输出:需求规格说明书,设计开发,由系统架构师进行系统的概要设计,主要从稳定性、安全性、扩展性、可维持性等方面进行设计。 设计人员:系统架构师、项目开发小组 输出:项目开发计划、概要设计文档、详细设计文档、数据库文档等,系统测试,按照前期的测试计划,利用测试用例进行系统的功能、性能测试。在经过多次版本
13、的迭代后,完成系统测试,输出测试报告。 测试人员:项目测试小组 输出:测试计划、测试方案、测试用例、功能测试报告、性能测试报告等,产品发布,经过开发部门、测试部门和其他部门的努力,产品在预定的日期完成,有项目组择日发布。 发布人员:项目实施人员、市场部等 输出:客户现场项目实施报告等,产品维护,交付使用后,需根据需求调研阶段协议,制定产品维护流程,出现问题需及时解决,直到产品使用废弃或升级,进入新的生命周期。,产品升级,在软件产品使用到一定期限后,可以根据先前的约定进行升级,或根据客户新的需求,再次进行新需求的调研开发等。,测试工作流程,测试工作流程,1、测试准备阶段 测试计划制定 测试小组建
14、立,测试工作流程,需求测试启动 测试需求提取,测试工作流程,测试用例编写,测试工作流程,2、测试开展阶段 搭建测试环境测试组长,可根据说明说中的软件产品运行环境配置要求搭建。测试环境最好与开发环境分开 文档引入工作日报、功能测试报告、性能测试报告等模板 执行测试根据项目的Bug管理流程,经过多次的版本迭代,完成测试工作。,测试工作流程,3、测试输出阶段 测试计划 测试方案 测试用例 测试工程师的工作日报 功能测试报告 性能测试报告,思考与练习,1、软件测试共有几种模型?具体的内容是什么?相互之间有什么区别与联系? 2、简要描述同行评审与阶段评审的区别。 3、软件测试与软件开发的关系是什么? 4
15、、什么叫软件测试?软件测试的目的是什么?,思考与练习,5、软件测试的一般工作流程是什么? 6、软件测试的测试流程是什么?各阶段的工作内容重点是什么? 7、当你接到一个测试任务后,你如何开展测试工作?,软件测试用例设计方法,什么是测试用例,测试用例( Test Case )是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。,测试用例包含要素,每个具体测试用例都将包括下列详细信息:编制人、审定人、编制日期、版本、用例类型、设计说明书编号、用例编号、用例名称、输入说明、期望结果(含判断标准)、
16、环境要求、备注等。 具体可以参考建行测试用例模板,黑盒测试案例设计技术,测试用例设计:将软件测试的行为活动,作为一个科学化的组织归纳。 测试用例:设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。 因为我们不可能进行穷举测试,为了节省时间和资源、提供测试效率,必须从数量极大的可用测试数据精心挑选出具有代表性或者特殊性的测试数据来进行测试。,测试测试用例的好处,在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 测试用例的使用令软件测试的实施重点突出、目的明确。 在软件版本更新后只修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期。
17、功能测试模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。,常见黑盒测试用例设计方法,等价类划分法 边界值分析法 错误推测法 因果图法 判定表驱动法 正交试验设计法 功能图法 场景法,错误推测方法,基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。 错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。,场景法,事件触发控制流程,事件触发时的情景便形成场景。 同一事件不同的触发顺序和处理结果就形成事件流 用例场景用来描述流经用例的路径,从
18、用例开始到结束遍历这条路径的有基本流和备选流。,软件缺陷,什么是软件缺陷,符合下面 5 条规则之一的问题称为软件缺陷: 1、软件未达到产品说明书标明的功能。 2、软件出现产品说明书指明不会出现的错误。 (如果软件含有产品说明中根本没有存在的功能,这是缺陷) 3、软件功能超出产品说明书指明的范围。 4、软件未达到产品说明书未指出但应达到的目标。 (产品说明书虽然没有提到,但是按照常理应该达到的功能) 5、软件测试人员或用户认为软件难以理解,不易使用,运行速度缓慢等问题。,缺陷的生命周期,简单周期: 测试员找到并登记软件缺陷,软件缺陷移交到程序员=程序员修复软件缺陷,软件缺陷移交到测试员=测试员确
19、定软件缺陷被修复,测试员关闭软件缺陷。,缺陷的生命周期,复杂周期: 发现缺陷(测试员发现并登记缺陷,软件缺陷转到程序员)=软件缺陷移交到项目管理员=(以不修复形式解决)项目管理员认为软件缺陷不重要,软件缺陷移交到测试员=重新激活缺陷(测试员不同意,找出通用失败案例,软件缺陷移交到项目管理员)=项目管理员同意缺陷需要修复,缺陷转给程序员=以修复形式解决(测试员确认软件缺陷得以修复,测试员关闭软件缺陷)=缺陷关闭,报告缺陷的要点,复杂周期: 发现了软件缺陷,需要记录下来,不但要记录结果,同时需要详细描述发现的步骤,以备程序员重现问题,并解决它。 要求报告写的清楚明了和准确。有时利用截屏技术把当时的
20、情况保存成图片,可以达到一图胜千言的效果。 参考软件测试缺陷跟踪管理说明.pdf文档 ( vss09_测试团队公共规范说明),缺陷的严重性分类,A类致命性: 不能完全满足系统要求,基本业务功能未实现系统崩溃、不稳定或挂起等导致系统不能继续运行、导致系统出现不可预料的严重错误的问题。,缺陷的严重性分类,B 类 严重错误: 严重地影响系统要求或基本功能的实现,且没有办法更正(重新安装 或重新启动不属于更正办法)。使系统不稳定、破坏数据、产生错误结果,部分功能无法执行 。,缺陷的严重性分类,C 类 一般性错误: 1、界面错误。 2、非重要功能无法正确执行, 实现不正确, 实现不完整,但不影响功能 3
21、、非严重性产生错误结果,但不影响一起功能。 4、正确性不受影响,但系统性能和响应时间受到影响。,缺陷的严重性分类,D 类 轻微错误: 使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能, 或对最终结果影响有限的问题。,缺陷的严重性分类,E 类 测试建议: 不影响系统运行,对系统的可用性等提示的建议性的问题。 例如: 1、系统各个位置初始值的建议。 2、流程优化建议等等。,结构测试技巧,操作测试 安全测试,操作测试,目标 确定计算机的操作文档已经完整 如何使用 作为计算机正常操作的一部分来执行测试 例子 操作的介绍被文档化,操作者被培训 什么时候使用 预先将程序进行产品化。操作性是系统的一个重要指标的时候。,安全性测试,目标 安全性的缺陷很难被发现。 大多数的情况下组织能够防止一般性的破坏者。 如何使用 对安全性的需求进行评审 分析与安全性有关的处理流程 转包给专业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 女性出游活动策划方案(3篇)
- 儿童面霜营销方案(3篇)
- pos机应急预案(3篇)
- 外地酒吧营销方案(3篇)
- 情感公司营销方案(3篇)
- 授课营销方案模板(3篇)
- 施工方案演示文件(3篇)
- 欠薪欠资应急预案(3篇)
- 清河广场活动策划方案(3篇)
- 环保活动策划方案题目(3篇)
- 换肤综合征讲解
- 公司售后服务培训
- 造纸助剂项目实施方案
- JGJT251-2011建筑钢结构防腐蚀技术规程
- 中药贴敷疗法
- 2023年5月软考高级信息系统项目管理师真题及解析(综合知识+案例分析+论文)
- 2022室外排水设施设计与施工-钢筋混凝土化粪池22S702
- 桥梁工程2-2桥面构造课件
- 诺瓦星云SHL测评题库
- 语文教育与学生心理健康
- 计算机应用基础项目教程(Windows 10+Office 2016)课件全套 第1-6单元 计算机基础知识-互联网应用(Internet)
评论
0/150
提交评论