惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
U
Unit 42
Vercel News
Vercel News
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
C
Check Point Blog
N
Netflix TechBlog - Medium
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
博客园_首页
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
Last Week in AI
Last Week in AI
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
V
Visual Studio Blog
小众软件
小众软件

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
搞个产品研发,还能搞出债务问题?
Kris_3zzz · 2025-02-03 · via 人人都是产品经理

在产品研发过程中,我们常常只关注功能的实现,却忽略了隐藏在背后的“债务”问题。测试不充分会积累测试债务,代码结构不健壮会形成开发债务,这些问题随着时间推移会越来越难以解决。本文将探讨如何通过测试驱动研发(TDD)这种敏捷开发思想,从一开始就解决这些问题,避免债务的积累。

一、产品研发的隐形债务,看不见≠不存在

如果只是研发出了产品功能,但是对其测试不充分,这个功能就附着了测试债务,并且随着时间推移,测试债务会越隐藏越深,偿还成本会越来越高。

同理,如果只是研发出了产品,但是代码结构不健壮(比如:代码逻辑繁杂不精简高效、跨模块耦合过高),这个产品也就附着了开发债务,随着产品架构的发展,开发债务越来越高,摇摇欲坠的代码如屎山一般,每次产品的进一步发展你都会被恶心一次。这个问题曾经进行过思考,在《换个视角,再看互联网产品研发效率!》中讨论了技术架构和产品架构的双螺旋发展关系

二、打开新思路,TDD测试驱动研发

面对测试债务,测试驱动研发(Test-DrivenDevelopment,TDD)是一种新的思路以预防这种情况的发生。TDD是一种敏捷开发思想,既然所有的功能点都需要测试,而且是反复测试,为什么不把测试工作提到最前面并自动化呢?

TDD要求在写任何功能代码之前,先写好它的测试代码,以保证所有的功能点都被自动化测试所覆盖。从而规避了【产品–>开发–>测试】这种低效的线性路径以及大概率会出现的信息传输漏斗,导致功能到代码到测试的不断衰减,最终交付质量堪忧、未来again时的巨大难题。

TDD正是从一开始就解决测试债务的方法,当产品变得很庞大的时候,TDD依然可以快速有效地检测各个功能点,这对于没有运用TDD的产品来说是一项不可能完成的任务。从研发驱动测试到测试驱动研发,是一个巨大的转变,其中涉及研发流程、测试人员的编程能力、研发平台对自动化测试的支持程度等环节。

不过,在测试驱动研发出现之前,那么多研发驱动测试的产品也获得了成功,所有这些因素都影响了TDD的普及。

三、TDD的根本是什么?

话说至此,TDD测试驱动研发中的“Driven”一词值得思量,逻辑关系上测试始终是为研发服务,而非代码为测试而生。与其说是测试“驱动”研发,不如说测试“可视化”研发、测试“螺旋化”研发,那么可视化/螺旋化在于什么呢?

研发服务于产品功能,产品功能服务于业务/用户需求,测试服务于研发并有助于研发。测试为纲,更是一种思想,使得研发过程时刻考虑到代码逻辑的可视化、可测试化、可自动化复测,从而促进提升代码质量、可检测性、可持续性。测试代码的领先搭建,有一个现实的例子可以对比。

1️⃣一栋大楼,是一个产品——满足于市场(商业、住宅)需求

2️⃣建筑设计图纸(土建/结构/装修)——可以算是产品设计方案

3️⃣建筑主体、装修装饰——对应代码主体的后端和前端

4️⃣施工自检/监理监察/三方质检——算是测试

在建筑施工管理过程中,本位上来看监理是在施工工序之后进行的,但实际上监理的大纲方案、监理细则,其实在产品设计方案出来之后,就已经在展开了。同样的,施工(研发)过程也会根据监理的监察原则,在指定的关键点做好检验预留。

由此也看出来二者并非严格的先后关系,更像是一种螺旋缠绕关系,监理/测试为纲、为镜,对施工/研发进行约束和检验,这是一种典型的共建、共生。

如果你的产品总是出现无法定位的奇怪问题,那么应该要考虑一下转用TDD了,当然,最终的决策权在测试经理或研发经理,更重要的是需要团队成员接受这种思想并在项目中进行践行。

作者:Kris_3zzz, 公众号:iSpiik产品说

本文由 @Kris_3zzz 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自 Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务