当前位置:文档之家› 软件测试 技术前沿

软件测试 技术前沿


敏捷测试与一般测试的区别:
1、项目相当于开发与测试并行,项目整体时间较快。 2、模块提交较快,测试时较有压迫感。 3、工作任务划分清晰,工作效率较高。 4、项目规划要合理,不然测试时会出现复测的现象,
加大工作量。
5、发现问题需跟紧,项目中人员都比较忙,问题很容 易被遗忘。
6、耗时、或较难解决对项目影响不大的问题一般会遗 留到下个阶段解决。
需要强调一下,敏捷之思想。这里描述的,只是一种常 用的软件开发模式。
敏捷方法中,需求变化比较快、产品开
发周期很短,我们目前采用四周时间,也 就是每个月发布一个新版本。开发周期短, 功能不断累加,给软件测试带来很大的挑 战,软件测试流程要做相应的调整。
在敏捷测试流程中,如前所述,测试是一 个持续的质量反馈过程,测试中发现的问题要 及时反馈给产品经理和开发人员,而且某些关 键方面也要得到我们足够的关注,主要有:
强。
(4)、软件行业质量监督体系不够好。 (5)、软件从业人员的素质不够高。 (6)、软件测试的经济效益短期内不够明
显。
3、测试现状的解决方法 (1)、政府搭台,企业唱戏。 (2)、呼唤客户质量和过程控制意识。 (3)、加大软件测试人才培养和现有人员
的技能培训。
(4)、软件测试从事后测试向质量控制上 转移。
确细致的工作,计算机就最适合于代替人工去
完成这样的任务。因而进行自动化测试能够提
高软件测试工作效率,提高开发软件的质量,
降低开发成本和缩短开发周期。从而有了敏捷 测试方法和测试驱动开发方法。
1、软件测试的现状
在软件业较发达的国家, 软件测试不仅早已成为 软件开发的一个重要组成部分,而且在整个软件开 发的系统工程中占据着相当大的比重。例如,在美 国的软件开发中,需求分析和规划确定的比重只有 3%,设计占5%,编程占7%,而测试要占到15%,其 余67% 是投产和维护。
(5)、加大软件测试产业的开发力度。 (6)、多向国外学习,加大对软件测试理
论、测试技术、测试管理的创新和测试工 具的开发。
Hale Waihona Puke 敏捷测试应该是适应敏捷方法而采用的新的测试流 程、方法和实践,对传统的测试流程有所剪裁,有不同 的侧重,例如减少测试计划、测试用例设计等工作的比 重,增加与产品设计人员、开发人员的交流和协作。在 敏捷测试流程中,参与单元测试,关注持续迭代的新功 能,针对这些新功能进行足够的验收测试,而对原有功 能的回归测试则依赖于自动化测试。由于敏捷方法中迭 代周期短,测试人员尽早开始测试,包括及时对需求、 开发设计的评审,更重要的是能够及时、持续的对软件 产品质量进行反馈。简单地说,敏捷测试就是持续地对 软件质量问题进行及时地反馈。
2、驱动开发基本原理 测试驱动开发的基本思想就是在开发功能代码之前,
先编写测试代码,然后只编写使测试通过的功能代 码,从而以测试来驱动整个开发过程的进行。这有 助于编写简洁可用和高质量的代码,有很高的灵活 性和健壮性,能快速响应变化,并加速开发过程。
测试驱动开发的基本过程如下:
7、发现BUG能够很快的解决,对相关的模块的测试影 响比较小。
8、版本更换比较勤,影响到测试的速度。 9、要多与开发沟通。 10、要注意版本的更新情况。 11、测试人员几乎要参加整个项目组的所有会议。
1、驱动开发概要
测试驱动开发,简称TDD,是一种不同于传 统软件开发流程的新型的开发方法。它要 求在编写某个功能的代码之前先编写测试 代码,然后只编写使测试通过的功能代码, 通过测试来推动整个开发的进行。这有助 于编写简洁可用和高质量的代码,并加速 开发过程。
1、测试人员不仅要全程参与需求、产品功能 设计等讨论,而且要面对面地、充分地讨论 (包括带语言、视频的即时通讯),仅仅通过 邮件是不够的;
2、参与代码复审(Code Review),并适当辅 助开发人员进行单元测试;
3、在流程中增加一个环节“产品走查 (Product Walk-through)”——测试人员和产 品经理、开发人员等在一起,从头到尾将新功 能看一遍,可直观、快速地发现问题;
6、用户界面测试(User interface test) 验证界面层的功能是否正常。
7、“狗粮”测试(Dog-food test) 这里用了一个有趣的名字“Dog-food test”,自己的“狗粮”自
己先尝尝!在企业内部使用自己开发的产品,通过这种实际地 使用来确保功能正确,满足使用要求。
敏捷开发中的测试分为7种类型: 1、自动化回归测试(Automated regression test) 运行自动化测试代码来验证当前的修改没有破坏已有的功能。
2、单元测试(Unit test) 验证单元级别的代码工作是否正常。
3、公共API测试(Public API test) 验证被第三方开发人员调用的API可正常工作,并且得以文档化。 4、私有API测试(Private API test) 验证内部使用的API工作是否正常。 5、命令行测试(Command-line test) 验证在命令行输入的命令工作正常。
而在我国,由于总体上,国内软件项目过程不
规范,导致重视编码和轻视测试的现象,对于软件 测试的重要性、测试方法和流程等还存在很多错误 的认识。
2、现状的原因分析 在研究中我们发现,软件测试处于目前
这种状态主要有以下几个因素:
(1)、国内软件产业本身不强大。 (2)、对软件测试的认识和重视程度不够。 (3)、软件管理者与用户的质量意识不够
本章重点: 了解软件测试的现状 掌握敏捷的测试方法 掌握测试驱动开发
计算机科学发展至今,最根本的意义是解
决人类手工劳动的复杂性,成为替代人类某些
重复性行为模式的最佳工具。而在计算机软件
工程领域软件测试的工作量很大,一般测试会 占用到40%的开发时间;一些可靠性要求非常 高的软件测试工作量巨大,测试时间甚至占到 60%开发时间。而且测试中的许多操作是重复 性的,非智力性的和非创造性的,并要求做准
相关主题