BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

对遗留项目开始自动化测试

| 作者 Vikas Hazrati 关注 0 他的粉丝 ,译者 侯伯薇 关注 0 他的粉丝 发布于 2011年1月31日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

为遗留应用程序编写自动化的回归测试总会是一项非常艰巨的任务。 我们所要面临的问题包括从哪里开始、对多少程序实行自动化测试、并且决定自动化的最佳策略等等。

Mark Levison在敏捷软件测试新闻组中发布了一个帖子,Hubert Matthews对此做出了回复,他所建议的方法是一种基于风险的方法。

你无法对一切都进行测试,所以你需要选择在哪里花费你的时间和金钱。对我来说,测试主要是关于信息和风险的,而不是要完全覆盖或者对所有功能完全测试的。

Hubert提到了几点,它们有助于评估所要关注的领域。 他所提出的内容包括:

  • 当前客户感觉质量最差的地方在哪?
  • 功能的关键区域是什么(例如,是什么让他们创收)?
  • 客户想要更多的特性,而不需要更高的质量吗?
  • 对于他们的系统来说,最大的风险是什么?
  • 如果客户想要对一项功能做出提升,那么会是什么呢?
  • 探索式的手工测试会找到更重要的缺陷吗?

Rakesh Patel在回应时提出 一种类似的方法,

  1. 只需要对应用程序图形化界面的最重要操作进行自动化。很多应用程序都拥有 常用的操作,它们占所有情况的80%。如果这些操作崩溃了, 那么你的业务就遇到麻烦了!!
  2. 如果你可以绕过图形化界面, 而直接到达后端并测试业务功能,那么就一定要那么做。那意味着与图形化界面特定的整合测试只是要确保前端的数据能够到达后端。

Mark Fink指出,在开始对遗留项目进行自动化测试之前,他喜欢先对项目有总体的印象,以识别出需要注意的特定区域。 他建议使用一系列工具,这些工具对于获得总体印象非常有用。与此类似,Nat指出关键在于要为你所想要关注的区域创建端对端的测试。他建议,对于遗留系统,如果存在手动测试,那么经常是非常好的脚本,可以快速成为自动化测试的成果。

Ralph Bohnet和Gerard Meszaros谈到了测试驱动移植,其中的一个结论是,对于任何遗留应用程序,如果想要移植成功的话,那么最重要的业务场景一定要有自动化的回归测试。

Lisa Crispin同意在特定的情况下,你或许能够一下子对整个遗留应用程序进行自动化测试。对Lisa来说,起作用的是多种因素的组合。 其中的一些因素包括:

  • 请客户对应用程序的关键部分按优先级排序
  • 为每个部分编写手动的回归测试脚本
  • 在每个sprint中估计时间,从而为那些部分编写GUI的冒烟测试
  • 使用CI框架,至少每天执行一次测试套件
  • 所有新的开发都应该有充分的测试

据Lisa所说,使用这种方法,他们能够在八个月的时间内对遗留应用程序编写充分的自动化测试。

因此,为整个遗留应用程序编写自动化的回归测试,是一项长远而且耗费时间的工作。我建议的方法是,为对业务重要的功能构建足够覆盖率的测试,然后逐渐围绕系统创建测试用具。

InfoQ上的相关新闻: 针对缺少测试的应用程序的测试技术

查看英文原文:Starting Test Automation for a Legacy Project

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

没有具体指导 by zhu kun rong

具体的难道要去看那本书吗?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT