We do “TDD.” Oh really?
August 21st 2011 at 4:50 PM Posted to Agile,Development,Testing
During Agile 2011 I tried to speak to people about what technical practices they did, and to what degree as well. Unfortunately I left the conference slightly disappointed and now understand why Uncle Bob champions the Software Craftsmanship movement as a way of addressing a balance the agile community at large has lost.
Don’t get me wrong. I appreciate that we need to focus on people and system issues in software development just as well. However, it’s laughable to think that software development is the easy part. I’m not the only one who feels this way. In order to succeed at real agility, you need just as much discipline and attention to detail to the technical practices, tools and methods just as you do everything else. It seemed like people were trying to be a good sports team, by finding the best people, hiring the best coaches, and then forgetting to schedule time for the drills and training.
One particular conversation stuck with me. We had this in the airport lounge at Salt Lake City before departing for Chicago. It kind of went something like this:
Other: We only tend to TDD the happy path
Me: Oh? Out of interest, what sort of test coverage do you end up with?
Other: About 20 or 30%. Why, how about you?
Me: Depends on what sort of application. Adding up the different types of tests (unit, integration, acceptance), I’d probably guess in the high 80s to 90s.
Other: Wow. That’s really high.
This conversation got me thinking about whether the other person’s team really benefits from doing TDD. I’m guessing not. They are probably getting some value from the tests, but probably equal value by doing test after. If you really wanted to be a pedant, you could argue, how do you do TDD without actually driving (most of) the code with tests? I’m not a TDD zealot. I’ve even blogged about when to skip TDD, however one of the biggest benefits of writing tests is the feedback they give and the way that it changes the way that you design code. I’m guessing by skipping the “unhappy paths”, there’s plenty of feedback they miss out on.
----From Patrick Kua (ThoughtWorks)
Comment:
At the first, the unit test shouldn’t cover only 20%-30%, it’s not TDD and maybe the unit test code just to satisfied supervisor or somebody else, if we do it like that, the unit test has lost the original meaning and to be frank, it’s just a overloaded methodology in this situation.
There’re two many metrics in TDD, actually i’m interested in TDD and i’m a zealot on process or skill which will make the team to be successful, not just the “Successful delivery” only. TDD is the way to try to extract the marketable value, because it will be come true from the customer perspective. It will push the communication with stakeholder and make some important and massive business defect in the beginning phase.
We should consider about some cost-value rate, balance the resource ,short-term advantage and long-term advantage.
Perhaps I’m interested in Automate testing as well, but we should be sober on any disciplines and methodologies, we can do all thing which will push our team and project to be better. We will adopt all techs if it's necessary, includes the TDD and Automate.
-----From Phoebus
分享到:
相关推荐
I argue on the one hand that its emphasis on pragmatism falls short of providing a reflective and principled methodology, and that on the other hand conceptualism is doomed by its neglect of reality....
**Argue tuProlog-开源**是一个基于Java的推理引擎,专为逻辑推理和自动证明设计。这个项目的核心目标是提供一个强大而灵活的平台,用于实现和测试各种逻辑推理算法,尤其是那些与Prolog编程语言相关的算法。Prolog...
"Argue-crx插件"是一款专为网页互动讨论设计的Chrome浏览器扩展程序,它允许用户在浏览网页的同时,与其他访问者就页面上的内容进行实时的、深入的交流。这款插件特别强调了跨文化交流,因为其语言设置为英语(美国...
- argue about/on sth.: 争论某事 - argue sb. into/out of doing sth.: 说服某人做/不做某事 - 在句子"When they argue, it’s like a big, black cloud hanging over our home."中,argue表示“争吵”。 4. **...
这些句子展示了不同的语言结构,如宾语从句("that I can’t get on with my family"),时间状语从句("When they argue"),以及结果状语从句("it’s like a big, black cloud hanging over our home")。...
表达正反观点:使用对比句型,如“On the one hand, some people argue that… On the other hand, others hold the view that…”来表述正反两方的观点。 阐述原因:使用原因句型,如“One of the main reasons...
- 反方观点:On the contrary, others argue it lacks interaction and may lead to distractions. - 反驳:Critics of online learning claim it cannot replace traditional classroom settings, while advocates ...
While one of the first steps in many NLP systems is selecting what pre-trained word embeddings to use, we argue that such a step is better left for neural networks to figure out by themselves. To ...
- argue:通常指个人间的争论,可以是正式或非正式的,常接with/to/about sth.,例如argue with sb.(与某人争论);argue about a problem(讨论一个问题)。 - discuss:通常指讨论、商议,较正式或非正式,可接...
We argue that informative entities in KGs can enhance language representation with external knowledge. In this paper, we utilize both large-scale textual corpora and KGs to train an enhanced language...
We argue that this is a fragile method because it relies entirely on landmark detec- tion performance, the extraneous head model and an ad-hoc fitting step. We present an elegant and robust way to ...
Some argue that appearance does hold an edge over competence in certain situations. However, is this truly the case? On one hand, proponents of the view that appearance matters more point out that a...
例如:The singer was accompanied on the piano by his pupil.(演唱者由他的学生担任钢琴伴奏。) accompany 也可以用来表示“随附”等义项。例如:All orders must be accompanied with cash.(所有的订货单必须...
Conversely, critics argue that it lacks personal touch and may lead to fraudulent activities.” 5. **危害分析**(弊):进一步深入探讨现象的负面影响。以网上购物为例,可提及网络诈骗、个人信息泄露等...
15. "pay one's attention to"(注意): 集中精力或专心于某事,可以使用focus on、center on、concentrate on、set one's mind on、be lost in、be occupied in或be attentive on。 16. "depend on"(依赖,依靠)...
While some argue that mobile phones can facilitate communication and help with educational apps, others worry about potential negative impacts like addiction, reduced physical activity, and exposure ...