软件工程
有效的单元测试 豆瓣
Effective Unit Testing
作者: 科斯凯拉 (Lasse Koskela) 译者: 申健 (Jacky Shen) 2014 - 11
《有效的单元测试》是一本关于单元测试的专著,由资深敏捷技术实践专家撰写,不仅系统且深入地阐释了单元测试用于软件设计的工具、方法、原则和最佳实践,而且对各种测试常见问题进行了深入分析,包含大量实践案例,可操作性强,能为用户高效编写优秀测试提供有效指导,让组织持续创造成功的产品和服务。
《有效的单元测试》分为三部分,共9章。第一部分(第1~3章)主要阐述测试的目的与原因,并分析作为常用工具的测试替身的作用。第1章先从整体阐释测试先行所带来的价值,以及各种对测试和测试质量的影响。第2章定义如何才能写出优秀的测试。第3章讨论现代程序员最基本的工具之一——测试替身。第二部分(第4~6章)的目标是帮助我们更好地识别并修复测试代码中的坏味道。第4章展示破坏测试可读性的坏味道。第5章继续对破坏可维护性的测试提供建议。第6章涉及有关脆弱或不可靠的测试坏味道。第三部分(第7~9章)涉及Java程序员在编写测试时随时可能碰到的话题。第7章介绍可测的设计的定义与作用。第8章探讨JVM语言的共生,以及如何用另一门语言来测试Java代码。第9章专门讨论对构建进行加速的问题。此外还包括两个附录,附录A介绍使用JUnit编写测试的入门知识。附录B探讨通过JUnit的API来扩展其内置功能。
构建之法 豆瓣 Goodreads
作者: 邹欣 人民邮电出版社 2014 - 9
内容简介:
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。作者邹欣有长达20年的一线软件开发经验,他利用业余时间在数所高校进行了长达6年的软件工程教学实践,总结出了在16周的时间内让 同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此基础上,作者对软件工程的各个知识点和技能要求进行了系统性整理,形成教材。
本书共分17章,对照美国ACM/IEEE2013年新出版的计算机科学教学指导(Computer ScienceCurricula 2013)中的软件工程相关部分,这本教材覆盖了其中大多数Core-Tier1和Core-Tier2的内容。可以说,全书对软件工程内容的覆盖不逊于任何一本现行的教材,同时讲述了业界最新实践方法。
本书评论:
推荐软件工程专业学子阅读,了解软件工程真正内涵,懂得“工程”二字真正含义,知道软件工程和计算机科学的区别。了解之后,就知道为何软件工程是就业含金量较高的行业了。
——朝红阳(http://weibo.com/u/1794892070)/中山大学软件学院
书中 设想了大量的场景“学”和“习”,并且用了大量的类比,非常生动有趣。这本教材也对软件工程课老师提出了更高的要求;对学生而言,同样面临着要付出怎样的努力才能学到“干货”的选择。
——鞠小林(http://weibo.com/jukxy)/南通大学软件学院
关于计算机科学与软件工程的差别?这是我们学生问的最多的,这下有解释啦!包括书中谈到的师生关系、软件工程师的职业发展、职业道德等,这些内容我上课时都可以用。
——牛慧娟/华中科技大学软件学院
面对在软件开发方面经验很少的学生,邹欣老师通过丰富生动的故事和隐喻帮助学生建立软件工程的思维习惯,通过严格扎实的动手训练与考核帮助学生总结归纳自己的“最佳实践经验”。读这本书,软件工程课不再枯燥沉闷,而是变得出乎意料的生动有趣。
——王忠杰(http://weibo.com/travellingwithme)/哈尔滨工业大学计算机科学与技术学院
读完《构建之法——现代软件工程》,不禁惊叹,软件工程的书还可以这样写!像团队和流程、敏捷流程、需求分析、设计与实现这些章节我看了又看,看完之后不禁拍大腿(书里说的“拍脑门、拍胸脯、拍屁股”的三拍有点不全,还差“拍大腿”):为什么邹欣老师会把原本无趣的问题写得这么吸引人?我深深地感觉到,不会讲故事的软件工程老师不是好老师!这本书给我最大的感受是,作者能把一个个鲜活的例子(或故事)与软件工程的相关问题恰到好处地结合起来,让软件工程的理论和方法更好地落地。
——王赞(http://weibo.com/scswz)/天津大学软件学院
将对软件工程思想的理解内化为软件工程师的职业习惯,是软件工程教学的核心目标,本书的实验设计恰恰非常有助于这一内化过程。个人项目、两人项目和团队项目由易到难,循序渐进,不断总结。我在教学中借鉴这一思路,从学生较为熟悉的编程训练入手,以范例演示基本编码规范、 No Design时的代码、经过基
本Modularity (also called separation of concerns)设计的代码、writing code to make it reusable on future projects以及一些特殊的接口设计……从编码实践中理解软件工程思想,就会跳出纸上谈兵的框框。
——孟宁(http://staff.ustc.edu.cn/~mengning/,http://weibo.com/mengning997 )
/中国科技大学软件学院
软件工程在大学是最难讲,也是最容易讲的一门课,容易在这门课涵盖的内容和外延特别丰富,这些内容学生基本没概念,短期也无法落到实处来验证有用没用,所以老师可以大讲特讲,人畜无害;难在你要在学生一片空白(没有很强的代码能力、没有团队概念、没有项目经验)的情况下去让他们懂得这些东西。在我认识的人中,能有丰富的项目经验又愿意花时间在教学实践上,最终能把各种知识理论体系化的人寥寥无几。邹欣老师恰好这几点都具备。快速翻完整本书,最大的感受是这本书出版得恰逢其时,传统的软件工程教材早就该翻新了!
——徐亚波(http://ss.sysu.edu.cn/~xyb,http://weibo.com/arber)/中山大学软件学院
研磨设计模式 豆瓣
作者: 陈臣 / 王斌 2011 - 1
《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,培养正确的“设计观”;中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。
《研磨设计模式》在内容上深入、技术上实用、和实际开发结合程度很高,书中大部分的示例程序都是从实际项目中简化而来,因此很多例子都可以直接拿到实际项目中使用。如果你想要深入透彻地理解和掌握设计模式,并期望能真正把设计模式应用到项目中去,那么这是你不可错过的一本好书。
《研磨设计模式》难度为初级到中级,适合与所有开发人员、设计人员或者即将成为开发人员的朋友。也可以作为高效学生深入学习设计模式的参考读物!
2015年5月14日 已读
不知道是不是吃到第七个包子的缘故,总之看完感觉比《大话设计模式》收获多。另外别被厚度吓到了,大部分是代码,看起来很快的
java 程序设计 编程 计算机 设计模式
软件测试的艺术 豆瓣
The Art of Software Testing, 3rd
作者: Glenford J. Myers / Tom Badgett 译者: 张晓明 机械工业出版社华章公司 2012 - 4
路遥知马力,日久见人心。本书从第1版付梓到现在已经30余年,尽管这30年来计算机软硬件都发生了显著的变化,但是这本书经受住了时间的考验,显示出强大的生命力。市面上多半的软件书籍都偏重于讲流行的开发技术、编程语言以及测试方法,往往是风光一阵不再,而这本书却像醇香的好酒历久弥新。这一次修订的第3版仍然延续之前的写作风格,结构和语言简明扼要,全面而细致地展示了那些久经考验的软件测试方法和智慧。如果你参与重要的软件项目开发,对本书仔细研读绝对值得,将给你带来长期收益。
第3版阐述了如何将经典软件测试法则应用到解决当今计算机行业所面临的最紧迫的问题之中,这些问题包括:
移动设备的应用测试
各种设备上的软件代码走查、代码审查(从技术以及如何发现错误的角度讨论)
可用性测试(随着直接面向广大终端用户的应用在数量上呈爆发性增长,可用性变得越来越重要)
互联网应用、电子商务和敏捷编程环境的测试
2015年5月4日 已读
奉旨读书...全是全,但都是蜻蜓点水。另外翻译有些地方看着就不对头,下了个英文版对照才懂。
测试 计算机 软件工程
敏捷软件测试 豆瓣
Agile Testing: A Practical Guide for Testers and Agile Teams
作者: (美)克里斯平//格雷戈里|译者 译者: 崔康 2010 - 10
《敏捷软件测试:测试人员与敏捷团队的实践指南》内容简介:测试是敏捷开发的关键组成部分。敏捷方法的广泛应用使人们开始关注如何有效测试,同时敏捷项目改变了测试人员的角色。但是,测试人员的许多职责还是得到了不少误解,测试人员的真正职能是什么?敏捷团队真的需要具有QA背景的成员吗?“敏捷测试人员”到底意味着什么?
业界经验最丰富的两位敏捷测试实践者和顾问Lisa、Crispin和Janet Gregory在《敏捷软件测试:测试人员与敏捷团队的实践指南》中给出了这些问题和更多问题的答案。在《敏捷软件测试:测试人员与敏捷团队的实践指南》中,crispin和Gregorv定义了敏捷测试的概念,并通过来自现实敏捷团队的示例阐述测试人员的职责。她们讲述如何利用敏捷测试象限来识别需要哪些测试,谁来做,以及哪些工具有帮助。《敏捷软件测试:测试人员与敏捷团队的实践指南》从测试人员的角度记录了敏捷软件开发迭代的一个完整周期,并解释了敏捷测试的七大关键成功要素。
读者将从《敏捷软件测试:测试人员与敏捷团队的实践指南》中收获
测试人员如何参与敏捷开发
测试人员和QA经理如何适应敏捷团队
敏捷测试人员的招聘要求是什么
如何从传统模式迁移到敏捷模式
如何在短期迭代中完成测试任务
如何利用测试指导开发
如何克服困难实现测试自动化《敏捷软件测试:测试人员与敏捷团队的实践指南》是敏捷测试人员、敏捷团队及其经理和客户的必备书籍。