写点什么

没有自动化测试的应用应该如何测试?

  • 2010-07-17
  • 本文字数:1263 字

    阅读完需:约 4 分钟

敏捷推荐围绕应用建立足够的单元测试和验收测试,以构建足够强壮的测试套件。然而,实际情况是:不是所有的应用都有配套的测试套件。敏捷测试讨论组中有一个有趣的讨论,提到如何为没有任何自动化测试的应用进行测试,成员们提出了多种方法。

Asad Safari 发起了这个讨论,他说他的一个应用没有任何测试,团队中的开发人员不熟悉单元测试,距离截止日期也只有3 个星期的时间供团队测试。他希望得到一些建议,指导如何在这样的约束条件下测试。

Phlip 回应道:他曾多次处于类似环境,并推荐以下建议:

  • 加入一个可选模块,能够通过任意或是指定的输入来驱动应用;
  • 向程序中加入日志,把错误信息和断言存入日志文件中;
  • 编写一个大单元测试,调用你所有的程序,提供前面提到的输入,然后梳理日志;
  • 编写一个大的断言,在其中指出日志应该没有任何错误;
  • 现在开始一个一个排错。每次去掉一个错误,去掉对它的异常处理。

Phlip 指明:在这个大测试保护伞之下,如果时间允许,团队可以开始编写小规模的、目的更明确的测试。他还指出:虽然团队可以在接下来的三个星期等待上面的做法产生效果,编写和运行更小的单元测试应该马上开始

Adam Sroka 同意 Phlip 的建议,并补充道:

没错,很多团队碰到质量低劣的代码时,会放慢速度,产出的价值也会减少,而这对于质量没有任何好处。我们需要更实用的解决方案……如果没有从一开始就加入测试,那么就很难完全把测试做好,这是没问题的。但是就此认为测试没有价值,这是错误的看法。测试虽然不完美,但仍有其价值所在。

Brian Spears 却没有被他们说服,他认为敏捷不是魔法,在三周时间内恐怕没法产生什么好解决方案。他说:

敏捷不是魔法,对这种紧急情况的解决方案,如果有的话,就是要投入很多很多时间,这明显不是敏捷的做法。

Adam 反对这个看法,指出有很多团队如果进入类似境况,都采用了敏捷。这是团队变得有实效的机会,也是让软件变得更好的启动之旅。

Annette 认为:这种情况最应该做的就是用很多很多时间做手工测试,因为到了这个阶段,自动化测试就太费时间了。推荐从重要的和与收入相关的功能开始测试。Annette 也推荐了Lisa Crispin 和Janet Gregory 合著的 Agile Testing 一书。

Charles Bradley 提出了类似的建议,不过他指出还要获得一个有条件的承诺。他说:

你的时间很有限,所以从业务角度来看,将 ROI 最大化是最佳选择。就使出吃奶的劲头做手工测试吧!但是要从你的老板那里得到承诺:他们无论如何也不会再让你的团队这么做了……他们应该先规划好时间和金钱完成自动化测试……着手下一个发布工作时就应该马上开始,甚至更早,比如开始修复当前版本的 bug 时。

因此,编写完整的测试套件,也许不是最适合当前情形的做法,团队最好开始手工测试。而这并不能削弱在一有机会时就编写适当的测试套件的做法。正如 Jonathan Rasmusson 指出的:

你所能做的就是修复 bug,然后在上线之前尽一切可能完成手工测试。这就是你到这个时候还能做的事情。更大、更重要的问题,是你在三周截止日期到达之后要做什么。

查看英文原文: Testing Techniques for Applications With Zero Tests

2010-07-17 23:443130
用户头像

发布了 479 篇内容, 共 179.2 次阅读, 收获喜欢 53 次。

关注

评论

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

五大平台,构建AI创新转化的“同济方案”

ModelWhale

人工智能 同济医院 医疗大数据平台

天润融通Agent全面接管排障任务,智能锁品牌服务效率翻倍提升

天润融通

全能电子书阅读管理工具OmniReader Pro for Mac

晨光熹微

TapData 出席 2025 MongoDB 用户大会新加坡站,分享构建实时统一数据平台最佳实践

tapdata

mongodb 实时数据平台 实时数据同步 MongoDB用户大会 localSingapore

NineData 社区版 V4.3.0 正式发布!

NineData

DevOps Clickhouse 数据复制 NineData 数据复制工具

浪潮 KWDB 初体验

KaiwuDB

数据库

天润融通Agent的三大进化,从“开口露馅”到“对答如流”

天润融通

谷歌云上海代理商:谷歌云如何构建智能Agent,实现业务流程自动化

Cloud Ace 云一

人脸表情[七种表情]数据集(15500张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】

申公豹

数据集

音频录制软件Audio Hijack for Mac

晨光熹微

闪迪创作者系列闪耀上海国际视觉影像产业展,解锁全场景高效创作新境界

极客天地

谷歌搜索推出 AI 代打电话功能;Hume AI 声音克隆支持说话风格模仿丨日报

声网

30天Java面试突击,秋招成功上岸Java高开岗!(Java面试题及答案分享)

程序员高级码农

程序员 java‘

鞋子坏了拍个照就能报损?天润融通助力品牌用AI把售后玩明白了!

天润融通

KWDB单节点裸机试玩

KaiwuDB

数据库

基于MCP的一体化人工智能部署架构-从训练、调度到性能反馈的闭环系统设计(附代码)

申公豹

MCP

JNPF V6.0震撼上新,解锁低代码新世界

引迈信息

Playwright系列课(2) | 元素定位四大法宝:CSS/文本/XPath/语义化定位实战指南

测吧(北京)科技有限公司

基于YOLOv8的人体检测、行人识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

音频语音转文字工具VoiceInk for Mac

晨光熹微

分布式系统高可用性设计 - 监控与日志系统

量贩潮汐·WholesaleTide

分布式

Web前端入门:JavaScript async & await 的异步任务进化之路

电子尖叫食人鱼

前端 Web

Windows系统引入Sudo命令的技术内幕与安全风险分析

qife122

Windows安全 权限提升

工作中常见的OOM?你了解JVM调优吗?

不在线第一只蜗牛

JVM

淘天AB实验分析平台Fluss落地实践:更适合实时OLAP的消息队列

Apache Flink

大数据 flink 流批一体化 Fluss

您的企业需要服务台经理吗?-ManageEngine卓豪

ServiceDesk_Plus

ManageEngine卓豪 卓豪

天润融通呼入Agent三大能力让客服数据从记录变洞察

天润融通

KWDB时序数据库特性及跨模查询

KaiwuDB

数据库

在AI时代,挖掘用户真实需求比技术实现更重要——知名音乐游戏模拟器需求探索

qife122

用户体验 需求分析

云上AI推理平台全掌握 (4):大模型分发加速

阿里云大数据AI技术

大数据 大模型 推理模型 人工智能、 多模态模型

面试官:如何实现大模型连续对话?

王磊

没有自动化测试的应用应该如何测试?_研发效能_Vikas Hazrati_InfoQ精选文章