写点什么

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

  • 2011-01-30
  • 本文字数:1129 字

    阅读完需:约 4 分钟

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

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

2011-01-30 07:551690
用户头像

发布了 340 篇内容, 共 133.4 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

一步步实现React-Hooks核心原理

helloworld1024fd

JavaScript

聚焦技术创新实力,时序数据库 TDengine 荣登中国技术先锋年度评选两大榜单

TDengine

数据库 tdengine 时序数据库

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

字节前端必会vue面试题集锦

bb_xiaxia1998

Vue

构建自组织团队,让敏捷管理更好地落地

敏捷开发

项目管理 敏捷开发 项目管理软件 自组织

架构实战 - 模块 6 作业

mm

#架构实战营 电商微服务分析

阿里云办公安全产品专家高传贵:零信任,让全球办公安全更简单

云布道师

阿里云

社招前端二面必会手写面试题总结

helloworld1024fd

JavaScript

乐视每周工作四天半?我们也可以

不想敲代码

程序员 效率工具 协同办公

学习java技术哪些方法比较靠谱

小谷哥

大数据开发培训怎么来选择?

小谷哥

深航携手华为云,共建数字化智慧民航标杆

Geek_2d6073

小游戏引擎如何选?看完这篇就够了

FinClip

【从零开始学爬虫】采集食品行业最新报价数据

前嗅大数据

数据采集 爬虫软件 爬虫案例 爬虫入门教程 爬虫分享

2023年新云南等级保护测评机构名录!

行云管家

等保 等级保护 等保测评机构

FinClip 12 月大事件 | IDE支持小游戏开发调试和预览

FinClip

软件测试/测试开发 | 相比 Selenium,Web 自动化测试框架 Playwright 有哪些强大的优势?

测试人

软件测试 测试框架 测试开发 playwright Web自动化测试

简单几种云成本优化方法讲解-行云管家

行云管家

云计算 云成本 云支出

前端一面必会手写面试题(边面边更)

helloworld1024fd

JavaScript

支付系统就该这么设计(万能通用),稳的一批!

Java全栈架构师

程序员 面试 支付系统 架构设计 架构师

Hyperledger AnonCreds:开源、开放规范下,保护隐私的可验证凭证

BSN研习社

FLStudio水果萝卜最新汉化21版本下载

茶色酒

flstudio FLStudio21 FLStudio21.0.0

写过vue自定义指令吗,原理是什么?.m

bb_xiaxia1998

Vue

2023前端二面必会vue面试题指南

bb_xiaxia1998

Vue

学习前端技术选择培训还是自学比较好?

小谷哥

培训大数据技术怎么学

小谷哥

web前端开发培训怎么入门

小谷哥

Java中不可或缺的关键字「volatile」

小小怪下士

Java 程序员 volatile

我在京东做研发 | 京东云算法科学家解析爆火的ChatGPT

京东科技开发者

AI 技术 算法 经验分享 ChatGPT

从零到一手写迷你版Vue

helloworld1024fd

JavaScript

cookie、session,、token,还在傻傻分不清

华为云开发者联盟

前端 华为云 企业号 1 月 PK 榜

对遗留项目开始自动化测试_研发效能_Vikas Hazrati_InfoQ精选文章