写点什么

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

  • 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:551580
用户头像

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

关注

评论

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

迁移 Nacos 和 ZooKeeper,有了新工具

阿里巴巴中间件

zookeeper 阿里云 云原生 nacos 迁移

云原生2.0构建数字化

科技云未来

监控告警怎么搭建比较合理?B站SRE实践总结了4大关键步骤

TakinTalks稳定性社区

高可用 稳定性 SRE 监控告警 大厂实践

陈大好:持续创造小而美的产品丨独立开发者 x 开放麦

声网

人工智能

C++文件读写操作分析文本文件与二进制文件

CtrlX

c c++ 面向对象 8月月更 opp

Tomcat 的安装与环境配置

楠羽

开源 #开源

天翼云通过2022可信云安全首批云工作负载保护平台评估

Geek_2d6073

每日一R「13」数据结构(四)闭包

Samson

学习笔记 8月月更 ​Rust

Java: 为Word文档添加水印

Geek_249eec

Java word 水印 watermark

科普达人丨一图看懂块存储&云盘

阿里云弹性计算

阿里云 云盘 块存储

中国掀起数字化浪潮的4个显著变化

优秀

数字化转型 数字化

华为云助力论坛服务

科技云未来

21个赛区,7大赛题,鲲鹏应用创新大赛2022区域赛期待与你相遇

科技热闻

IPv6过渡技术的推进策略

穿过生命散发芬芳

ipv6 8月月更

开放下载 | 飞天技术峰会-云原生加速应用构建分论坛资料开放下载

阿里巴巴中间件

阿里云 阿里云云原生

leetcode 697. Degree of an Array 数组的度(简单)

okokabcd

LeetCode 数据结构与算法

正式线上环境下微服务平台落地实践

HelloGeek

微服务 微服务架构 Spring Cloud Service Mesh 服务网格 mesh

企业应用现代化实用教程 | ​IT架构师必读的DevOps落地行动指南

York

DevOps 云原生 数字化转型 一体化架构 应用现代化

redis持久化持久化的方案与各自存在的问题

想要飞的猪

程序员过中秋

楠羽

中秋节

火力全开!鲲鹏应用创新大赛2022区域赛即将陆续开赛

科技热闻

FlyFish|前端数据可视化开发避坑指南(二)

云智慧AIOps社区

JavaScript 大前端 低代码 数据可视化 大屏可视化

K8s小白?应用部署太难?看这篇就够了!

北京好雨科技有限公司

Kubernetes 云原生

灵魂拷问:你精神内耗了吗?由TA来治愈吧

脑极体

融云,把企业文化放在“场景”里

融云 RongCloud

企业文化

网站建设流程

源字节1号

网站开发

加密世界的福音,Galaxy Project上领取专属Zebec OAT

鳄鱼视界

Monorepo 能给前端工程带来什么

领创集团Advance Intelligence Group

前端工程师 Monorepo

秒云获得阿里云首批产品生态集成认证,携手阿里云共建云原生智能运维生态服务

阿里巴巴中间件

阿里云 云原生 云原生加速器

[教你做小游戏] 用86行代码写一个联机五子棋WebSocket后端

HullQin

CSS JavaScript html 前端 8月月更

华为云数字化

科技云未来

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