- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章软件测试技术前沿
宁华
287263358@qcom
◇本章重点:
◆了解软件测试的现状
◇掌握敏捷的测试方法
◇掌握测试驱动开发
◆计算机科学发展至今,最根本的意义是解
决人类手工劳动的复杂性,成为替代人类某些
重复性行为模式的最佳工具。而在计算机软件
程领域软件测试的工作量很大,一般测
占用到40%的开发时间
可靠性要求非常
高的软件测试工作量巨大,测试时间甚至占到
60%开发时间。而且测试中的许多操作是重复
性的,非智力性的和非创造性的,并要求做准
确细致的工作,计算机就最适合于代替人工去
完成这样的任务。因而进行自动化测试能够提
高软件测试工作效率,提高开发软件的质量
降低开发成木和缩短开发周期。从而有了敏捷
测试方法和测试驱动开发方法。
软件测试的现状、原因及解
决方法
1、软件测试的现状
在软件业较发达的国家,软件测试不仅早已成为
软件开发的一个重要组成部分,而且在整个软件开
发的系统工程中占据着相当大的比重。例如,在美
国的软件开发中,需求分析和规划确定的比重只有
3%,设计占5%,编程占7%,而测试要占到15%
其余67%是投产和维护。
而在我国,由于总体上,国内软件项目过程不
规范,导致重视编码和轻视测试的现象,对于软件
测试的重要性、测试方法和流程等还存在很多错误
的认识。
◇2、现状的原因分析
◆在研究中我们发现,软件测试处于目前灬
这种状态主要有以下几个因素
◇(1)、国内软件产业本身不强大。
◇(2)、对软件测试的认识和重视程度不够
◇(3)、软件管理者与用户的质量意识不够
强
◆(4)、软件行业质量监督体系不够好
(5)、软件从业人员的素质不够高
◇(6)、软件测试的经济效益短期内不够明
3、测试现状的解决方法
◇(1)、政府搭台,企业唱戏。
◇(2)、呼唤客户质量和过程控制意识
◇(3)、加大软件测试人才培养和现有人员
的技能培训。
◇(4)、软件测试从事后测试向质量控制上
转移。
◇(5)、加大软件测试产业的开发力度
(6)、多向国外学习,加大对软件测试理
论、测试技术、测试管理的创新和测试工
具的开发。
二、什么是敏捷测试
◇敏捷测试应该是适应敏捷方法而采用的新的测试流
方法和实践,对传统的测试流程有所剪裁,有不同
的侧重,例如减少测试计划、测试用
作的比
重,增加与产品设计人员、开发人员的交流和协作。在
敏捷测试流程中,参
关注持续迭代的新功
能,针对这些新功能进行足够的验收测试,而对
能的回归测试则依赖
测试。由于敏捷方法中迭
人员尽早开始测试,包括及时对需
开发设计的
更重要的是能够及时、持续的对软件
质
说,敏捷测试就是持续地对
软件质量问题进行及时地反馈
◇需要强调
敏捷之思想。这里描述的,只是一种常
软件开发模式
敏捷方法中,需求变化比较快、产品
开发周期很短,我们目前采用四周时间
也就是每个月发布一个新版本。开发周期
短,功能不断累加,给软件测试带来很大
的挑战,软件测试流程要做相应的调整
质量文化:缺陷颈防,质量是杓建的全过租的协作、有沟通、质重反绩
测试在务
纸的
测试计划
测试点列表
测试执行
自动化
测试需束
测试
在敏捷测试流程中,如前所述,测试是
个持续的质量反馈过程,测试中发现的问题要
及时反馈给产品经理和开发人员,而且某些关
键方面也要得到我们足够的关注,主要有
◇1、测试人员不仅要全程参与需求、产品功能
设计等讨论,而且要面对面地、充分地讨论
(包括带语言、视频的即时通讯),仅仅通过
邮件是不够的;
2、参与代码复审( Code review),并适当辅
助开发人员进行单元测试
◇3、在流程中增加一个环节“产品走查
( Product Walk-through)”一测试人员和产品
经理、开发人员等在一起,从头到尾将新功能
看一遍,可直观、快速地发现问题;
◆敏捷开发中的测试分为7种类型
◆1、自动化回归测试( Automated regression test)
◆运行自动化测试代码来验证当前的修改没有破坏已有的功能。
2、单元测试( Unit test)
◆验证单元级别的代码工作是否正常。
◆3、公共AP测试( Public api test)
验证被第三方开发人员调用的API可正常工作,并且得以文档化。
◆4、私有API测试( Private api test)
◆验证内部使用的API工作是否正常
5、命令行测试( Command-line test)
◆验证在命令行输入的命令工作正常。
6、用户界面测试( User interface test)
验证界面层的功能是否正常。
7、“狗粮”测试( Dog-food test)
◆这里用了一个有趣的名字“ Dog- food test”,自己的“狗粮”自
屣角确鑫出部是{
发的产品,通
文档评论(0)