共 4 页: 上一页 1 2 3 4 下一页
摘要:曾经沧海难为水信息如水 压力如潮功能实现阶段,我们对得要处理的信息分析得很细致,很透彻,所谓细如丝,透如水。然而,到了产品的阶段,要处理的信息却如同潮洪而至,原本的假设预想,通通被击成了碎片。这时候产生的错误和问题,很难在开发机上重现。如果说用户验收测试是对功能实现的检查,需要滴水不漏;压力测试则是容量的考验,迎接浪的洗礼。(本文版权属于© 2012 - 2013 予沁安 )环肥燕瘦压力测试的工具颇多,尤其是HP的LoadRunner甚至成为了行业标准。可是,在研究和考察的过程中,心里却慢慢有了质疑,我是否非得用这些工具吗? 一则,它们是商业软件,价格不菲;二则,还是因为是商业软件, 阅读全文
posted @ 2013-05-04 13:04 予沁安 阅读 (4206) 评论 (13) 编辑
摘要:寻找重构的案例 重构的案例不好选取,我们自己实际的项目当然有不少重构的情况,却不适合作为文章阐述出来。并不是因为保密的考量,而是业务本身的内容太复杂。当然,这个复杂是相对的,对短短一篇文章来说,那怕是最小一部分的业务逻辑拿出来,也显容量不够。而且,过多的阐述业务逻辑,导致喧宾夺主,掩盖了重构的注意力 阅读全文
posted @ 2013-04-22 11:35 予沁安 阅读 (546) 评论 (0) 编辑
摘要:可以说,到了今天,我才真正能开始做我想要的重构/改进。之前,只是补充测试,调整了一下结构。 是的,非常的缓慢,这居然被称为“敏捷”!? 你说奇怪不奇怪? 还好,这种节奏适合我这种大龄青年,合用就好,关它是风花还是雪月。==》 测试覆盖上一次漏掉了最重要的异步,测试覆盖:本以为会秀一个漂亮的100%覆盖率的测试出来,人算不如天算,居然有一个方法是75%! (本文版权属于© 2012 - 2013 予沁安) 恩,无效的生日没有测试。很简单,就增加一个测试而已,就不在这罗嗦了。直接贴覆盖率,显摆一下。再显摆一下代码质量参数:复杂度 最大的就是构造器了。可维护指标还是不错的 76分。==&g 阅读全文
posted @ 2013-04-18 01:56 予沁安 阅读 (1259) 评论 (3) 编辑
摘要:前两天的进度似乎有些慢,今天加快了一点, 不把每一步说的那么详细了. ==》地区信息的提取 继性别和生日之后,最后一个信息块,只是列出测试如下.==》有效性 这是一个比较大的问题. 前面,我临时性的把不同地方的验证去掉了. 代码原作者也过来, 畅叙了他关于验证的看法. 他是对的, 这种完全验证的方式,根本上说是 DDD的设计思想。不过,想我所说,我知识临时性的去掉,保证测试的单元性。验证的功能,由验证的测试来驱动。而第二点考虑,我的验证打算放在构造器中,也就是说,如果,有任何错误的输入,连第一道门都进不来。这里,测试和实现都很简单,看起来很多,只是一些罗列,不同的错误场景而已。 1 [Subj 阅读全文
posted @ 2013-01-05 10:40 予沁安 阅读 (1772) 评论 (2) 编辑
摘要:又是一个清新的早晨, 开始我们新的测试之旅.2 - 第二个测试, 从身份号取到正确的性别信息. ==>很简单,依葫芦画瓢, 容易的写出第二个测试. ==>很惊奇,居然没有过? 却不知, 测试的旅途中,Failed是常态. ==>好吧, 看看错误在哪? 在取性别代码时,作了验证,而且是全套. 为什么取地址时却不验证呢? 这个不一致性来源于---不是测试驱动,赫赫. ==>解决方案,把验证去掉, 呵呵. 一是解耦, 二是敏捷,还没有测试到的东西,不花过多的时间. ==>搞定. ==>可是,回过头来看测试的两个断言,一个生日,一个性别,毫无相关嘛? 于是,就有了下 阅读全文
posted @ 2012-12-21 09:23 予沁安 阅读 (1507) 评论 (8) 编辑
摘要:首先感谢原作者的代码: 《 面向对象的15位、18位中国大陆身份证号码解析、验证工具》. 如果有版权问题,敬请告知。 原代码给了我很好的起点,是的,这些代码都是玉,我在这只是再琢磨琢磨。 即使如此,重构的过程依然很繁琐,文章也许会很长,每一次的重构都需要把全部代码显示一遍。 知易行难, 重构是个动态过程, 不那么容易呈现出来,需要点耐心,慢慢看啊。 1 - 转化为C#代码,增加第一个测试是的,这不是必须的,可以说是我自己的原因,不会Java。但是,你也可以看作是一种重构的场景,不是吗?更改的代码就不再放了,比较简单,与C#和Java的区别有关,留个连接 SocialID.cs。可是,我的测试. 阅读全文
posted @ 2012-12-18 09:02 予沁安 阅读 (2213) 评论 (10) 编辑
摘要:没有太多的罗嗦,代码本身已经足够。如果,要添几个标签的话就是: 中文化,流畅性接口(Fluent Interface),API.只有几点补充说明:1。 这都是真实可运行的代码,请看测试状态: 点击Login as guest2。 测试使用Machine Specification, 重点是Establish部分。 3。仅仅使用于集成测试(用户故事);不建议业务领域和单元测试使用。4。这里只列出最终使用代码(测试说明一切);避免细节/实现的干扰。实现请看: Examples.cs "一个“语法的实现 ”要“语法实现文章发布后,很多的评论,特作出以下解释:这一段代码的技术重点,首先是行为 阅读全文
posted @ 2012-07-19 11:36 予沁安 阅读 (6740) 评论 (79) 编辑
摘要:依赖注入DI很大程度的帮助解耦层与层之间的依赖关系,使得测试单元化。当我们的注意力转移到业务域时,情景有了悄悄的改变。业务域中,类与类之间有更多更复杂的依赖关系。相比之下,三层之间反而简单。 本文一步一步介绍,对于业务域的单元测试,如何从传统nUnit测试走到最高境界。 阅读全文
posted @ 2012-05-09 11:19 予沁安 阅读 (2346) 评论 (7) 编辑
摘要:业务域,是软件的核心价值所在。敌人还是朋友:项目经理和架构师 从Repository到Domain 从MVC到测试 从自动化测试到Domain 代码工厂=CRUD? 敌人还是朋友:项目经理和架构师 无论是买成型的软件产品,还是出资开发项目,客户投资的是软件的业务价值。项目经理直接为这个目标负责,尽量少的成本,尽量短的时间,生产出高业务价值的软件产品。架构师则是跨越单个项目,长期为这个目标负责。 项目经理与架构师是天生的敌人,短期看这是对的,长期来看,他们是真正的朋友,是战略朋友。没有项目经理项目会死得很快;然而没有架构师,公司会死得很惨。 项目经理的角色和作为,我仍比较容易理解... 阅读全文
posted @ 2012-05-05 12:22 予沁安 阅读 (2761) 评论 (14) 编辑
摘要:相对于目前日新月异的新概念,新名词,三层架构已经算得上元老了。虽仍有争议,但业界更多的是共识。 业务域驱动开发(DDD) 近年也是风生水起,红红火火,但它是什么,是怎么回事,似乎就不如三层架构那么妇孺皆知了。 以业务域为系统的核心,所有其它与业务无关的内容对这个核心来谈,都是外部服务/功能。这里,出于本文说明的需要,独立出了两个较为特别的外部功能,持久层和用户接口。 阅读全文
posted @ 2012-04-16 06:40 予沁安 阅读 (10922) 评论 (26) 编辑
共 4 页: 上一页 1 2 3 4 下一页