软件测试的任务.ppt
《软件测试的任务.ppt》由会员分享,可在线阅读,更多相关《软件测试的任务.ppt(46页珍藏版)》请在三一文库上搜索。
1、第一章 软件测试的任务,由安博测试空间技术中心http:/ 2009年9月-2010年01月 SEI of ECNU 版权所有 1-2,本章要点,讨论软件测试的背景,包括 缺陷是什么 软件测试的定义和目的 软件测试工程师 工作职责 工作流程 工作产品 职业道德 易混淆的专业术语,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-3,软件中的错误是客观存在的,原因 在可以预见的未来,人仍将是软件开发中的主角。我国有句古话“人非圣贤孰能无过”,由于在软件开发各个环节中产生的人为错误,使得软件中必然存在着大大小小的问题,而这些问题在一定的触发条
2、件下被激活,便会使软件的运行出现差错,导致或大或小的经济损失,而且更为严重的是这些激活的错误可能会威胁人类生命,会导致令人痛心疾首的人间悲剧。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-4,软件中的问题导致的可怕后果,阅读下面的代码,标出你认为有问题的地方 / If the signal ahead is clear then increase the speed. void increase_speed_if_safe (int speed, int signal) if (signal = CLEAR) ; increase_
3、speed (); ,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-5,软件中的问题导致的可怕后果,阅读下面的代码,标出你认为有问题的地方 typedef int Time; typedef int Distance; typedef int Speed; const Speed SAFETY_SPEED = 120; void increase_speed (Speed s); void check_speed (Time t, Distance d) Speed s = d/t; if (s SAFETY_SPEED) incre
4、ase_speed (t); ,void perform_safety_checks () Time t = get_time (); Distance d = get_distance (); check_speed (d, t); ,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-6,缺陷是什么,定义 到目前为止,没有标准的定义,不同组织对缺陷的定义不同。有的组织称缺陷为偏差、异常、故障、错误或事故。在实际活动中,不用太在意缺陷的到底该怎么叫,最重要的对缺陷有相同的理解 在软件测试中,有一组专门用于描述软件中的错误的术语,下面的一些
5、定义已经被大多数专业人员所接受 软件错误:在软件生存期内的不希望或者不可接受的人为错误。 软件缺陷: 存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差, Bug是口语化的缺陷。缺陷在没有被激活的状态下,软件可以正常运行,但是一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-7,缺陷是什么,定义 下面的一些定义已经被大多数专业人员所接受 软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。此时,如果没有适当的处理措施的话,软件故障就会导致软件失效。 软件失效:
6、软件运行时产生的一种不希望或不可接受的外部行为结果。比如死机就是一种严重的软件失效。软件失效是软件用户所能直接感受到的。当软件出现失效时,必然说明软件中存在缺陷,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-8,缺陷的代价,缺陷的代价是非常高昂的 经济上 一项统计数据表明,大约62%的项目成本用于修复软件缺陷。 据美国NIST在2002年发布的一项研究估计,美国经济每年因软件Bug会损失600亿美金,约合0.6%的国民生产总值 对人类生命的威胁,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU
7、 版权所有 1-9,结论,结论 软件已经越来越多的被使用在日常生活中,我们需要更多的高质量、高可靠性、高安全性的软件产品,但是缺陷,软件世界中的“恐怖分子”,影响着软件的质量,威胁着软件的正常运行。 我们无法避免人类犯错,但是可以通过努力将隐藏在软件中的缺陷,尤其是那些致命的,严重的缺陷,尽可能多地寻找出来,尽早定位,尽早解决,避免人间悲剧一次又一次地上演。 寻找软件中的缺陷就是软件测试的主要目的,承担这个使命的就是软件测试工程师。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-10,软件测试是什么,定义 到目前为止,没有标准的定义
8、不同组织有不同的定义 下面的一些定义被大多数专业人员所接受 Myers程序测试是为了发现错误而执行程序的过程 Bill Hetzel 测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量 请记住 软件测试的目的就是发现软件中的缺陷 测试对象不只包括程序代码,也包括与软件相关的交付件,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-11,软件测试的目标,目标 软件测试的目的就是寻找软件中的缺陷 为了获得更高质量的软件,软件测试的目标是尽量多的寻找软件中的缺陷 另外,考虑到测试成本,软件测试的目的是在可允许的时间跨度
9、内可管理的工作量的条件下尽可能多地寻找软件中的缺陷,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-12,软件测试方法的分类,通常有如下几种分类: 站在对被测对象内部实现情况了解程度的角度:白盒测试、灰盒测试和黑盒测试; 站在是否执行被测系统的角度:静态测试和动态测试; 站在测试工具支持的程度:手工测试和自动测试; 站在被测内容的角度:功能测试、结构测试和非功能性测试; 站在以显示被测对象是否工作的角度:正向测试和反向测试; 站在测试过程推进的角度:单元测试、集成测试、系统测试。,2007级本科软件测试与质量保证 2009年9月-201
10、0年01月 SEI of ECNU 版权所有 1-13,白盒测试、灰盒测试和黑盒测试,白盒测试(White-box Testing) 是指基于被测对象的内部实现结构进行测试的方法。 黑盒测试(Black-box Testing) 是指把被测对象看成一个不透明的黑盒,在完全不考虑被测对象内部实现的情况下进行测试的方法。 灰盒测试(Grey-box Testing) 是白盒测试和黑盒测试的混合体,是指在部分了解被测对象实现的情况下进行测试的方法。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-14,静态测试和动态测试,静态测试(Stati
11、c Testing) 是指不运行软件系统,而是通过采用检查或者评审的方式寻找被测对象中的缺陷。 动态测试(Dynamic Testing) 是指运行系统进行测试的过程。动态测试可能是大多数人认为的测试,即通过运行软件进行的测试,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-15,手工测试和自动测试,手工测试(Manual Testing) 是指在不借助测试工具的情况下,完全由人类完成对软件产品的测试。 自动测试(Automated Testing) 是指通过测试工具或者其它手段,按照测试工程师的预定计划对软件产品进行自动的测试。,20
12、07级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-16,正向测试和反向测试,正向测试(Positive Testing) 是指以验证被测对象的正常行为为测试目标,根据其行为表现判断被测对象中是否存在缺陷的一种测试方法。 反向测试(Negative Testing) 是指以破坏被测对象的正常行为为测试目标,根据其行为表现判断被测对象中是否存在缺陷。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-17,单元测试、集成测试和系统测试,单元测试(Unit Testing) 是指以构成软件的基
13、本单位-单元为测试对象,验证其功能是否正常,是否符合设计要求。 集成测试(Integration Testing) 是指将经过单元测试的构件按照设计要求组装成子系统或系统,以验证按设计要求组合在一起的各单元能够按照既定的意图协作。 系统测试(System Testing) 是指将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起, 在实际运行环境下,对应用系统进行的一系列组装和确认测试,以验证系统是否符合用户需求。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-
14、18,功能测试、结构测试和非功能测试,功能测试(Functional Testing) 是指依据功能需求规格说明书评估被测对象的功能是否符合需求。 结构测试(Structured Testing) 是指基于被测对象的内部结构或者逻辑寻找缺陷的测试活动。 非功能性测试(Nonfunctional Testing) 是指依据非功能需求规格说明书评估被测系统的某些整体属性,例如性能测试、安全性、易用性等是否符合需求。,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-19,功能测试vs黑盒测试,功能测试 针对系统或者组件的功能进行的测试 黑盒测
15、试 不考虑系统或者组件的内部结构,仅关注系统或组件在特定输入和一定条件所产生的输出 区别和联系 许多专业人士认为功能测试和黑盒测试是等同的两个事物,我个人并不同意此观点,黑盒测试是一种设计测试用例的方法而功能测试是测试的内容,黑盒测试同样可以用于性能、安全、易用性等非功能测试,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-20,结构测试vs白盒测试,结构测试 基于内部结构或者逻辑寻找缺陷的测试过程 白盒测试 也叫玻璃盒测试、透明盒测试 基于系统或者组件内部实现方法寻找缺陷的测试方法 区别和联系 白盒测试的方法一般可用于进行结构测试,2
16、007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-21,软件测试工程师的目标,目标 基于软件测试的目标,软件测试工程师的目标就是发现软件中的缺陷 考虑到缺陷修正成本,软件测试工程师的目标是尽早发现程序中的缺陷 缺陷被修正后,测试人员必须确认缺陷被修改正确,同时修改没有引入新的缺陷,也就是说软件测试工程师的目标是尽早的发现软件中的缺陷并确保缺陷被正确的修改,2007级本科软件测试与质量保证 2009年9月-2010年01月 SEI of ECNU 版权所有 1-22,软件测试工程师如何进行测试,方法 根据软件需求规格说明书,设计说明书,代码等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 任务
链接地址:https://www.31doc.com/p-2923694.html