实施自动化功能测试的解决方案.docx_第1页
实施自动化功能测试的解决方案.docx_第2页
实施自动化功能测试的解决方案.docx_第3页
实施自动化功能测试的解决方案.docx_第4页
实施自动化功能测试的解决方案.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

【转载】实施自动化功能测试的解决方案摘要:当今的企业需要掌控其关键业务应用的所有功能测试,以确保所有业务流程工作符合预期。通过实施自动化的功能测试,企业可以极大提高测试速度和精度,从挼间项目中得到更高的投资回报并且显著地降低风险。本文简要描述了自动化功能测试的优势和挑战,帮助企业考虑实施最佳测试自动化的方法。1.介绍毫无疑问,严格的功能测试是成功开发应用的关键。开发人员,测试小组和管理人员所面临的挑战是,如何加速测试流程和提高测试的精确性和完备性,同时还不能增加已然很紧张的预算。通过将功能测试的关键环节自动化,可以满足有挑战性的发布时间安排,测试得更加全面和可靠,检验业务过程功能的正确性,从而从上线的运营中,获得极高的产值和客户满意度。然而,功能测试的自动化会产生一些新的顾虑: * 测试过程自动化的成本是多少?其投资回报率(ROI)是什么? * 哪些应用/过程适合做自动化测试,哪些不合适? * 是否需要新的培训,这将对当前的开发计划安排产生怎样的影响? * 自动化测试得正确地方法论是什么? * 自动化测试时涉及到哪些情况? * 当比较自动化测试产品时,哪些功能最重要?在自动化测试项目开始之前,以上和其他一些问题应该得到全面地调查和了解。2.功能测试与单元测试功能测试是指确保应用按期望运行,也就是按照用户的期望运行。功能测试以一种有效的方式捕获用户的需求,让用户和开发人员对业务过程满足需求充满信心,同时使得QA团队可以检验软件已发布就绪。功能测试是单元测试的补充,但有很大不同。简言之,单元测试说明了代码执行是否正确;功能测试说明了完成的应用是否做正确的事情。单元测试往往是从代码开发人员的角度来看,而功能测试是从最终用户和业务过程角度来看。3.为什么将功能测试过程自动化?现在,IT部门的压力越来越大。管理部门希望IT部门通过软件可以交付新功能,抓住新的商业机会和提供有竞争力的优势。这就意味着需要完成更多的业务应用开发项目,而时间会很紧迫,并不是都有更多的预算或资源。同时,管理部门越来越意识到软件和销售额的重要关系。Web Services,联机事务处理和ERP应用不仅是非常关键的,而且,它们直接关系到公司的产值能力。现在企业非常依赖非常复杂的计算机基础设施。如图,一个典型的企业可能依靠多个应用,运行在不同的系统上,使用几种不同的前端客户端,涉及到大量的业务过程并且与很多种数据集交互。 当软件出现故障时,其代价是非常大的,包括销售额下降,员工的低效率,客户的不满和开发和QA人员的士气低落。在软件开发周期中,缺欠发现的越晚其代价越高。上线后发现的缺欠的改正成本可能比在设计阶段发现的高出100倍。自动化是提高软件测试过程的速度,精确度和灵活性的关键,使公司可以更早发现和改正缺欠。4.手工功能测试的挑战手工功能测试过程本身存在很多挑战:时间过长。有限的IT资源和紧张的交付时间使得手工测试对于满足业务目标来说过于耗时。采用手工测试,测试和开发人员不得不计划冗长的每步测试过程,然后手工执行,再现问题,快速消耗了有价值的时间和资源。根据Aberdeen Group,一个独立行业分析公司,90%的IT项目交付出现延迟,手工测试是其中一个因素。覆盖不完全。平台,操作系统,客户端设备,业务过程和数据集等的组合对于手工测试过程来说,工作量非常大。需要验证功能的测试用例数量非常巨大。所以当修改完成后手工回归测试花费的时间过长,以至于不能做全面的回归测试。风险更高。手工测试过程比计算机过程的错误和疏忽更多。人们会变得疲倦,输入数据错误,不能总是正确执行测试,并不是总有时间测试所有应该测试的内容。5.自动化测试的好处自动化测试有很多好处,包括:快速执行。计算机在执行功能测试脚本的时候比人快得多,因此在有限的时间里能测试的更多,在给定的时间里更多的应用可以被测试,可以按时完成更多的工程。并且和人不同,计算机一天工作24小时,还包括晚上,周末和假期;他们不会感到无聊或者疲倦;而且他们从不对该作的事情和不该作的事情自作主张。提高测试覆盖。自动测试产品支持在所有流行的浏览器,操作系统等上执行测试脚本,用自动化的工具对不断变化的应用和环境做回归测试,要比手工测试容易得多。通过整合的数据驱动表单的功能,自动化测试产品允许开发和测试团队执行计算,操作数据集,以及快速创建多种反复的测试,使得扩大测试覆盖范围。使用自动测试工具可以仿效任何混合的事务和任意的用户负载。提高测试精确度并提早发现更多错误。自动化测试给开发人员提供了一种再现和记录软件缺陷的非常容易的方法。这将在所有环境,数据集和业务过程等之间确保功能的正确性,同时对开发过程起到加速作用。提供规范化的过程。自动化测试鼓励测试团队规范化他们的过程,以得到更高的一致性和更好的文档记录。提高测试的重用性。测试一旦脚本化,开发人员可以使用和重用这些脚本,可以将脚本添加到测试套件中,以适应应用的变化。没有必要为每个应用的相同功能而重新创建脚本。支持ERP/CRM。现在越来越多的用户使用ERP/CRM解决方案,对端到端的回归测试的需求正变得越来越频繁和越来越重要。6.在什么情况下采用自动化测试?一般来说,把自动化测试的工作集中在关键的业务过程,复杂应用,以及由这些组成的用例方面(相对于低级别任务,例如系统级的验证)是很有意义的。如果一个企业拥有众多每天工作很多小时的软件测试人员,但是产品仍然出现质量和功能问题,那么这家企业肯定能从自动化测试中受益。是否决定实行自动化测试应当充分考虑到投资回报,但是一般情况下,如果一个应用需要多次构造/补丁/修改;需要在大量的硬件或软件配置下进行测试;并且支持众多并发用户等,那么将会是值得采用自动化测试。另外,如果涉及到重复性的工作,例如数据装载和系统配置等,或者应用需要满足特定的服务等级协议(SLA),那么自动化测试当然也会节约成本。7.如何确定自动化测试的投资回报?任何投资回报都可以从一个简单的计算得出:投资回报=投资的净现值/总初始成本当采用测试过程的自动化时,成本是切实可见的,但是净现值仍旧包含许多无形的因素。最好的方法就是尽量精确计算直接成本,然后与自动化测试产生的直接和间接的效益进行对比。在ROI计算中需要考虑的直接成本包括:购买成本:购买自动化测试软件产品的成本。硬件成本:功能测试所必需的硬件成本。有代表性的是,功能测试不需要特殊的硬件,只需带有以太网端口的标准台式电脑或者工作站即可。劳动力成本:培训职员编写测试用例脚本或进行手工测试的成本因素。确认要包括招聘,雇佣,支付工资,和保留熟练的QA工程师的成本。培训成本:依赖于所选择的测试产品,培训使用者精通编写自动测试脚本是值得的。当然,公司可以选择雇用专业的服务公司创建最初的自动化测试。当衡量自动化的潜在益处时,考虑隐性效益是很重要的,例如测试人员高涨的士气和对工作的满意度,改进的客户满意度和忠实度,还有因为最终用户使用的可信赖的软件而不断提高的知名度。总结功能测试

温馨提示

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

评论

0/150

提交评论