认识软件测试与测试工程师.ppt_第1页
认识软件测试与测试工程师.ppt_第2页
认识软件测试与测试工程师.ppt_第3页
认识软件测试与测试工程师.ppt_第4页
认识软件测试与测试工程师.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、认识软件测试与测试工程师,本章目录,1.1 什么软件测试 1.2 软件测试的目的 1.3 对软件测试的理解 1.4 软件测试的原则 1.5 测试人员的职责 1.6 测试人员的素质要求 1.7软件测试职业岗位分析,2,1.1什么是软件测试,广义的软件测试定义是:贯穿在整个开发各阶段的复查、评估与检验活动,这远远超出了程序测试的范围,可以统称为确认、验证与测试活动(V,V&TValidation, Verification and Testing)。,3,1.1什么是软件测试,狭义的测试定义为:软件测试是为了发现错误而执行程序的过程。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计

2、一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。,4,1.1什么是软件测试,IEEE在1983年定义是:使用人工或自动手段来进行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。“软件测试以检验是否满足需求为目标”。,5,1.1什么是软件测试,软件测试要发现软件的错误; 软件测试最终要以软件满足用户需求为目标。,6,1.2 软件测试的目的,软件测试最直接的目的是发现软件中的缺陷,包括需求、设计方面的缺陷和程序中包含的BUG。这里缺陷是一种泛称,它可以指软件功能的错误,也可以指性能低下,易用性差以及其他软件工作产品中的缺陷等等。,7,

3、1.2 软件测试的目的,Glen Myers曾提出关于测试目标的规则: 测试是一个为了寻找错误而运行程序的过程。 一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。 一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。,8,1.3对软件测试的理解,需求设计编码测试,软件测试工作在编码完成后才开始 软件测试能否确保软件质量 软件发布后出现了质量问题,这是测试人员的责任。 软件测试工作到底难不难?,9,1.3对软件测试的理解,软件测试工作是否也像设计工作那样具有开拓性和创新性? 软件测试对于软件开发是建设性的,还是摧毁性的? 软件测试是测试人员的事,与开发人员无关。 软件测试与调试工作

4、类似?,10,1.4软件测试的原则,1.4.1 测试技术和策略方面 1.4.2 测试管理方面,11,1.4.1 测试技术和策略方面,测试工作要尽可能地找出关键性的错误。 把Pareto(帕雷托,意大利经济学家)原则应用于软件测试。(Pareto图又称排列图是一种按事件发生的频率排序而成,显示由于各种原因引起的缺陷数量或不一致的排列顺序,是找出影响项目产品或服务质量的主要因素的方法) 100%测试覆盖率。 所有的测试都应追溯到用户需求。 应当尽早地和不断地进行软件测试。 总假定程序是有错误的。 彻底检查和仔细分析每一个测试结果。 不断提高测试策略和技巧。,12,1.4软件测试的原则,1.4.2测

5、试管理方面,测试必须是有计划、有组织、有准备的。 严格执行测试计划并及时进行修订。 有效的BUG跟踪和管理。 由独立的第三方来完成测试工作。,13,1.4软件测试的原则,1.5 测试人员的职责,测试经理/主管的职责 招聘最适合于工作的测试人员。 建立测试技术模型和培训机制。 定期与测试员工进行正式交谈。 对员工的工作充分信任。 以员工期待的方式善待员工。 评价实事求是、以事论事。 规划和开展测试管理工作。,14,1.5 测试人员的职责,测试工程师的职责 制定测试计划。 设计与编写测试用例。 实施测试。 BUG跟踪。 测试报告与总结。 其他软件工程活动。,15,1.6 测试人员的素质要求,测试人

6、员的技术素质要求 软件开发技术。 软件测试技术。 软件工程方面能力。 行业知识。,16,1.6 测试人员的素质要求,测试人员的非技术素质要求 沟通能力 移情能力。 自信心。 幽默感。 外交能力。 超强的记忆力。 足够的耐心。 怀疑精神。 自我督促。 洞察力。,17,1.7 软件测试职业岗位分析,工作起点高 发展空间大 职业寿命长 薪水待遇好 没有性别歧视,18,第二章 软件测试基础,本章目录,2.1 软件测试模型 2.2 确认和验证 2.3 软件测试分类 2.4 软件测试流程概述,20,2.1软件测试模型,随着测试过程管理的发展,测试人员通过大量的实践总结出了很多很好的测试过程模型。这些模型将

7、测试活动进行了抽象,并与开发活动进行了有机的结合,是测试过程管理的重要依据。,21,2.1.1 V模型,V模型主要应用于项目的测试工作中,它强调了测试阶段与开发阶段的对应关系以及测试工作的及早准备和进行。,22,2.1软件测试模型,23,2.1.2 h模型,h模型揭示了: 软件测试不仅仅指测试的执行,还包括很多其他的活动。 软件测试是一个独立的过程,贯穿产品整个周期,与其它流程并发的进行。 软件测试要尽早准备,尽早执行。 软件测试根据被测物的不同是分层次的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。,24,2.1软件测试模型,25,软件测试采用h模型的三个理由为: 有利

8、于测试的分工,从而降低成本,提高效率; 有利于认识到测试的复杂性,从而赢得重视和尊重; 有利于了解测试投入的去处,从而得到测试利益的公正评判。,26,2.2 确认和验证,确认是指在软件开发过程结束时对软件进行评价以确定它是否和软件需求相一致的过程。在软件产品开发完成以后,为了对它在功能、性能、接口以及限制条件等方面是否满足需求做出切实的评价,需要在开发的初期,在软件需求规格说明书中明确地规定确认的标准。,27,验证是指确定软件开发周期中的一个给定阶段的产品是否达到在上一阶段确立的需求的过程。也就是说,验证是要决定软件开发的每个阶段,每个步骤的产品是否正确无误,并与其前面的开发阶段和开发步骤的产

9、品相一致。,28,2.2 确认和验证,验证和确认都属于测试活动。可以这样认为: 验证+确认=测试 验证和确认是不同级别的测试活动。,29,2.3 软件测试分类,1、按要执行被测软件的角度分类: 按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。而动态测试则通过运行被测试软件来达到目的。,30,2、按开发阶段分类: 单元测试 集成测试 确认测试 系统测试 验收测试,31,3、按测试实施组织分类: 测试 测试 第三方测试,32,4、按测试方法分类: 白盒测试 黑盒测试 灰盒测试,33,2.4 软件测试流程概述,2.4.1 软

10、件开发流程概述 通常情况下编码、单元测试、集成测试这几个阶段是可以重叠的,但是对于某一个模块而言还是按顺序发生的。例如对于一个单元,必须是编码完成后才能进行单元测试,必须是通过单元测试后才能和其他模块进行集成测试,但是没必要等到所有单元都完成编码,编码阶段结束后才开始单元测试,同样也没有必要等到所有单元都通过单元测试后才开始集成测试。对于小的模块是顺序的,但是对于开发阶段而言是可以重叠的。,34,2.4.2 软件测试流程概述,科学的软件测试流程主要包括: 测试阶段的划分; 测试周期的制定; 测试工作的质量。,35,2.4 软件测试流程概述,一个好的测试过程的属性有: 整个测试过程被书面化; 测试过程是灵活、可变的; 每个人都同意遵循这个测试过程; 测试过程包含度量,该度量用于测量测试过程的有效性,也是修改测试过程和测试工作改进的基础; 测试过程要被主动管理。,36,37,测试周期的制定,38,图2-4 软件测试周期示意图,测试阶段和测试周期的关系 测试阶段对应于开发生命周期的不同阶段,各测试阶段本身相对独立。在软件的实际开发过程中,可以选择全部的测试阶段,也可以只选择几个测试阶段,现在国内一些小的软件企业都只进行确认测试。 测试周期是针对测试活动定义的,每一个测试阶段都是一个相对独立的测试活动,所以每一个测

温馨提示

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

评论

0/150

提交评论