收藏 分享(赏)

软件测试课件 1绪论.ppt

上传人:精品资料 文档编号:11178039 上传时间:2020-02-12 格式:PPT 页数:57 大小:2.05MB
下载 相关 举报
软件测试课件 1绪论.ppt_第1页
第1页 / 共57页
软件测试课件 1绪论.ppt_第2页
第2页 / 共57页
软件测试课件 1绪论.ppt_第3页
第3页 / 共57页
软件测试课件 1绪论.ppt_第4页
第4页 / 共57页
软件测试课件 1绪论.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、软件测试,你懂测试吗?,编程大师说:没有错误的程序世间难求。(编程之道) 临时抱佛脚行吗?以为有文档模板就会测试了吗? 如果不懂得有效地进行测试,你不仅得不到功劳,也没人欣赏你的苦劳,你拥有最多的将只是疲劳。 职业软件工程师应当掌握需求开发、系统设计、编程、测试、维护所有技能。,机遇和挑战并存,Project/Quality Manager,目前国内软件业的弱点正是发展的前沿,Test Engineer,QA/Supervisor,21世纪什么最贵 软件测试工程师,软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位。中国软件业每年新增约20万测试岗位就业机会,

2、而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。软件测试产品质量的保证软件测试控制成本的关键软件测试软件可靠性确认软件测试让企业具备国际竞争的实力,人力市场的测试人员位置 ?,课程目标,了解软件缺陷不可避免和软件测试的必要性 掌握进行软件测试的数学知识 掌握软件测试的基本理论和基本分析方法 掌握功能性测试、结构性测试、单元测试、集成测试、系统测试的基本方法和基本步骤 了解面向对象测试的基本流程 能够较为熟练的编写测试用例 了解常用的软件测试工具,课程服务于,测试工程师 Test engineerQA工程师/经理 QA Engineer/Manager

3、软件工程过程组成员 The member of SEPG项目经理 Project manager程序员 Programmer软件分析师 Software Analyst软件咨询顾问 Software Consultant,教材与参考书,教材: 软件测试(第2版) Paul C.Jorgensen 著 韩柯 杜旭涛 译 机械工业出版社 参考书 软件测试与质量管理 许育诚等 电子工业出版社 软件测试技术 郑人杰 清华大学出版社 软件测试方法和技术朱少民 清华大学出版社 论坛 ,软件测试所需知识,高级语言程序设计(如:C/C+) 离散数学 图论 软件工程,课程考核,1.该课程为考试 2.比例构

4、成 实验:15%; 平时成绩15%; 期末考试:70%; 3.关于平时成绩 作业和考勤;,绪论,学习目标,了解课程由来 掌握软件测试的相关概念 了解国内外现状 掌握软件测试目的和作用 了解软件测试技术组成 了解软件测试工具 了解软件测试原则和经验 了解软件测试人员的素质要求,1.1课程由来,软件是人编的所以不完美 背景实例:,软件大危机,生病的狮子王 英特尔的陷落 人造陨石坑 生命的代价 千年虫 微软的学费,课程由来,软件危机(1960s) 软件危机主要包含两方面的问题 一是如何开发软件以满足社会对软件日益增长的需求 二是如何维护数量不断增长的已有软件 表现: (1)软件发展速度跟不上硬件的发

5、展和用户的需求 (2)软件成本高,开发进度不能预先估计,用户不满意 (3)软件产品质量差,可靠性不能保证 (4)软件产品可维护性差 (5)软件没有合适的文档资料,课程由来(续),软件危机(1960s)解决: 使用好的软件开发技术和方法。 使用好的软件开发工具,提高软件生产率。 有良好的组织、严密的管理,各类人员相互配合共同完成任务。,软件测试与软件项目的关系,软件测试是为软件项目服务的 目的:提高软件质量,降低软件项目的风险 软件测试只能证明软件存在错误,而不能证明软件没有错误,认识过程,人们对软件测试认识的五个阶段: 阶段1 测试=调试 阶段2 测试是证明软件正确 阶段3 测试是发现软件中错

6、误 阶段4 测试是减小软件不工作的风险 (是度量软件质量要素的过程) 阶段5 测试可产生低风险的软件的一种认识上的训练,测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。,人们对软件测试的误解,误解一: 设计-实现-测试,测试是开发后期的一个阶段 软件测试不等于程序测试。软件测试贯穿整个软件产品生命期。 误解二:软件测试技术要求不高,比编程容易多了 好的测试人员不仅要掌握各种测试技术和测试工具,还要具备丰富的编程经验和对BUG的敏感。,人们对软件测试的误解,误解三:软件测试随便找一个能力差的人就能做。 误解四:有时间就多测试一些,来不及就少测试一些。 误解

7、五:软件测试是测试人员的事,与开发人员无关。 误解六:软件测试就是运行一下软件,看看结果对不对。,千万不要将“测试”与“演示”混为一谈。,SQA,SQA:软件质量保证 过程改进:预防错误 软件测试:发现错误 SQA涉及的工作岗位 过程改进工程师 测试工程师 开发工程师 测试经理,1.2 软件测试概况与定义,概况 软件开发过程必须伴有质量保证活动。 软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。 测试有助于提高软件的质量,但是提高软件的质量不能依赖于测试。 软件的高质量是设计出来的,而不是靠测试修补出来的。,1.2 软件测试概况与定义,定义 测试是以评价一个程序或者系统属性

8、为目标的任何一种活动。测试是对软件质量的度量。 测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试是软件质量控制的重要手段,属于软件工程领域。,1.3国内外软件测试的现状及发展,1.3.1国外软件测试的现状 1.3.2国内软件测试的现状 1.3.3软件测试的发展,国外软件测试的现状,软件测试在软件公司中占有重要的地位 软件测试理论研究蓬勃发展,引领软件测试理论研究的国际潮流 软件测试市场繁荣,国内软件测试的现状,我国著

9、名的软件公司都已经或者正在建立独立的专职软件测试队伍 国家开始对软件测试职业高度重视和认可 对软件产品进行登记认证制度,所有软件除备案登记外,且要经过测试 在计算机系统集成和监理论证中,软件测试能力成为评价公司技术能力的重要指标 通过测试对软件产品进行质量监督抽查,各部委,行业正通过测试规范行业软件的健康发展 用户对软件质量要求越来越高,通过第三方测试机构的严格测试来判定 以测代评正成为我国科技项目择优支持的一项重要举措 软件测试正式成为部分软件学院的一门独立课程 第三方测试机构得到了蓬勃发展,国内软件测试的现状,软件测试基本停留在手工进行的功能性测试上,大部分是在软件开发的后期介入。 大部分

10、的软件测试工作没有明确的目标和可量化的质量要求,对质量的控制基本上靠测试人员自己的经验和责任心。 测试理论和测试方法并没有全面的掌握,没有将测试同公司目前的开发流程紧密的绑定起来。,续,目前状况 软件测试的实践性大于理论性 软件测试理论体系尚不成熟 软件测试工具尚不成熟 软件测试效果对于个人的依赖性比较大 软件测试的发展趋势 软件架构师,开发工程师,QA人员,测试工程师将进行更好的融合 测试职业将得到充分的尊重 设置独立的软件测试部门将成为越来越多的软件公司的共识 测试外包服务将快速增长,1.3软件缺陷,缺陷:最终产品同用户的期望不一致 缺陷的分类 错误 遗漏 超出需求的部分,世上不存在没有缺

11、陷的软件,缺陷产生的原因,硬件方面 软件方面 数据问题 环境方面,缺陷产生的原因(续),测试原因导致的缺陷: 测试目标定义错误 在开发生命周期中,错误的选择了测试介入时期 选择了低效的测试技术 测试人员专业知识培训不够,工作低效 计划不够详细,测试的随意性很大 测试人员同开发人员沟通困难,1.4 软件测试目的和作用,目的 为了寻找错误,并尽可能地为修正错误提供更多的信息 为了证明软件有错误,而不证明软件没有错误 推论:成功的测试在于发现了迄今尚未发现的缺陷。,测试的“成功”与“失败”就在于能否发现错误!,1.4 软件测试目的和作用,作用 发现并管理缺陷 度量质量 评价工作效率和效果 预期项目风

12、险,缺陷!,微软的经验:Windows 95/98 Windows 2000 系统的稳定性有了明显改善,DEV:QA = 1:2,软件测试衡量标准,衡量标准 多 能够找到尽可能多的、以至于所有的BUG 快 能够尽可能早地发现最严重的BUG 好 找到的BUG是关键的、用户最关心的 省 能够用最少的时间、人力和资源发现BUG 测试的过程和数据可以重用,什么才是好的测试属性,“好”测试的属性 发现错误的可能性高 不冗余 在目的相似的测试中,使用最可能找到错误的测试 每一个测试应独立执行,1.5 软件测试技术组成(概况),软件测试技术分类,按测试阶段分 单元测试 测试中的最小单位,测试特殊的功能或代码

13、模块。 集成测试 测试应用程序结合的部分,确定它们的功能结合到一起是正确的。 系统测试 主要测试系统是否符合“需求规格说明书”。 验收测试 与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。,1.6 软件测试工具,单元测试工具的种类 静态分析工具 代码规范审核工具 内存和资源检查工具 测试数据生成工具 测试框架工具 测试结果比较工具 测试度量工具 测试文档生成和管理工具,常用软件测试工具(举例),美国Rational公司的著名套装软件SQA SuiteSQA Suite是美国优秀自动测试工具,它是针对Windows客户机服务器环境中,目前占据着世界Windows自动测试市场65%

14、的市场份额。 SQA Suite的各组件(SQA Manager、SQA Robot、SQA LoadTest)各司其职,又紧密集成,有效地完成了整个测试生命周期。,常用软件测试工具,QuickTest:是一个功能测试自动化工具,主要应用在回归测试中。QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。 WinRunner (简称WR):是基于MS Windows的功能测试工具。 LoadRunner :是一种预测系统行为和性能的工业标准级负载测试工具。,1.7 软件测试原则和经验,软件测试原则 (1)所有的测试都应追溯到用户需求 最严重

15、的错误(从用户角度)是那些导致软件无法满足需求的错误。 程序中的问题根源可能在开发 前期的各阶段解决、纠正错误也必须追溯到前期工作。,软件测试原则,(2)概要设计时应完成测试计划,详细的测试用例定义可在设计模型确定后开始,所有测试可在任何代码被产生之前进行计划和设计。 (3) Bug的80-20原则:测试发现的错误中80%很可能起源于20%的模块中。,软件测试原则,(4)穷举测试是不可能的。 (5)应由独立的第三方来构造测试。(开发和测试队伍分别建立) (6)测试用例应由输入数据和预期的输出结果两部分组成。 (7)兼顾合理的输入和不合理的输入数据。 (8)程序修改后要回归测试。 (9)应长期保

16、留测试用例,直至系统废弃。,测试原则举例,例:测试计算器程序 加法测试 1+0= 1+99999999999999999999999999999999= 2+0= 2+99999999999999999999999999999999= 99999999999999999999999999999999+ 99999999999999999999999999999999= 1.0+0.1= 减法测试 乘法测试 除法测试 求平方根 百分数 倒数,测试原则之一: 完全测试是不可能的,软件测试经验,经验 心理素质最重要 开发人员 我不会犯错任何人都可能犯错 这种错误不能算作错误质量是由用户来评价的 发现

17、我的错误是对我工作的否定是对我的工作的帮助测试人员 没有创造性、枯燥总结经验,培养敏锐度,提升个人价值和权威 反正测试是不可能发现所有错误的,责任心不够职业教育+激励措施 技术比开发人员差,自信心不足代表用户,决定成功的是用户满意,软件测试经验(续),经验 2、测试前必须明确预期的输出结果 否则实际的输出结果很可能成为检验的标准,测试失去意义3、必须检查每一个实际输出结果 很可笑,但是却是事实:不认真检查输出结果,这样的测试是没有意义的。,软件测试经验(续),经验 4、一段程序中存在错误的概率与这段程序中已经发现的错误数成正比 5、可能的情况下,避免测试自己的软件 发现不了思路错误 发现不了环

18、境错误 心理因素导致测试可能不够彻底和全面,在自已的工作中找出缺陷往往是人的心理状态所不容的。,软件测试经验(续),经验 6、依照用户的要求、配置环境和使用习惯进行测试并评价结果,因为产品最终是交给用户的使用的,并为用户服务的 7、测试设计决定了测试的有效性和效率,测试工具只能提高测试效率,不能完全依赖测试工具 8、注意保留测试设计,并注意测试设计的可重用性和说明文档,软件测试经验(续),经验 9、测试活动要有组织、有计划、有选择 穷举测试是不可能的 不充分的测试是不负责任,过度的测试是浪费资源,同样也是一种不负责任的表现。 计划的活动提高效率 10、不要放弃随机测试的方法 测试的不成熟性和艺

19、术性,1.8 软件测试人员的素质要求,职业素质要求包括开发人员和测试人员 1.责任心 包括坚持原则 2.怀疑精神和学习能力 包括好奇 3.沟通能力 用户、项目组 4.专注力 至少需要耐心和记忆力 5.洞察力 来源于经验、逻辑思维能力和敏感度: 6.团队精神,谢谢!,奔腾芯片缺陷,(4195835 / 3145727) * 3145727 4195835 0$450 million 4.5亿美元损失. 2000年 另外一个缺陷发生在1.13 MHz Pentium III,生病的狮子王,1994 年的秋天,迪斯尼公司发布了(狮子王历险记), 1994 年 12 月 26 日起,陷入迪斯尼的“恐慌

20、”。 兼容性问题,人造陨石坑,1999 年 12 月 03 日,美国宇航局的火星登陆飞船在试图登陆火星表面时意外失踪 经宇航局内部错误评定委员会检查,元凶是:登陆飞船携带的电脑某个数据位为意外的更改了!,生命的代价,美国的爱国者导弹系统 一次拦截的错误让 28 名在多哈战斗的美国士兵瞬间失去了生命。 分析专家对系统分析后发现问题-系统时钟,千年虫,1999 年到 2001 年,整个世界不幸还遗留在地球上,并且为这位程序员的“错误”支付了超过 200 多亿美元的代价。,微软的学费,在 80 年代初期,Microsoft 公司的许多软件产品出现了“Bug”。 Microsoft 公司的经理们发觉很有必要引进更好的内部测试与质量控制方法。但是遭到很多程序设计师甚至一些高级经理的坚决反对。 Microsoft损失20万美元,可谓惨重。 1986 年月发行的 Mac 机的 Word 3.0,千呼万唤方于 1987 年 2月问世。这套软件竟然有 700 多处错误,有的错误可以破坏数据甚至摧毁程序。一下子就使Microsoft 名声扫地。公司不得不为用户免费提供升级版本,费用超过了 100 万美元。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报