本书着眼于系统设计前的需求分析,它是整个开发过程(如何设计人们想要的产品和系统)中最有挑战性的一部分。通过对一些需求分析中的常见误区和问题的分析和讨论,从和客户沟通开始,深入研究一些可能的需求,澄清用户和开发者的期望值,最终给出了能够大幅度提高项目成功几率的一些建议方法。 本书由该领域内公认的两位作者合著,搜集了他们在大大小小的公司里加起来超过60年的、在工作中发现、提炼和检验之后的观点。在本书中描述的原则并不局限于软件开发,还涉及到所有需要为他人设计和制作产品的领域。这些技巧已经成功的应用于开发所有类型的产品和系统——包括计算机硬件和软件、家具、建筑和书籍等等。
本书作者根据自己多年测试、研发与实战经验总结了软件测试的实现价值,提出了主要遇到的问题和关键技术。主要内容包括三个部分:第壹部分“引出问题”介绍为何研发、测试自身对测试的价值产生的质疑,以及实践中的测试价值,介绍google、微软、腾讯、华为的测试团队职责,引出测试挑战和价值实现的思路。第二部分“基础价值”介绍测试必须具备的价值,即测试应该有的价值,如发现缺陷、给出性能指标、建设团队的测试能力等。这是进一步拓展测试价值的基础。第三部分“拓展价值”介绍测试可以实现的价值,即测试有条件做到的那些价值,如改善研发过程质量、提升交付效率等。原有的能力加上新的能力和责任,形成值得测试去拓展的、新的价值外延。
本书对当前软件行业中容易忽视的白盒测试通过结合专业化的测试工具Ctest进行了深入的讨论,主要包括软件测试语言基础、软件测试基础、软件测试环境、测试计划、静态测试、数据流分析、逻辑覆盖、CppUnit、单元测试、测试插桩、回归测试、黑盒测试、团队协同开发测试及Ctest常见问题汇总等。这些技术和方法是任何一位合格的测试工程师所的知识,也是软件测试培训、软件测试交流等所涉及的知识点。阅读本书,不仅可以获取软件测试中白盒测试的精髓,还可以得到专业的Ctest的项目实践。本书可供软件测试工程师、测试主管、研发主管、项目经理等人员阅读,也可作为初入测试领域者的引导,还可作为相关职业教育的软件测试培训。
本书主要介绍企业软件测试的流程、方法和技术。本书分部分:理论篇、设计篇、技术篇和扩展篇。理论篇主要介绍软件测试的基础知识;设计篇主要介绍企业中真实的软件测试的流程,包括测试计划、设计、执行、结果报告等,尤其是如何对缺陷进行度量,是本部分内容的一大亮点。技术篇主要介绍系统测试过程中其他的相关测试技术,包括Web测试技术、本地化与国际化测试、兼容性测试和易用性测试。扩展篇主要介绍了当前流行的性能测试和自动化测试,通过实例讲述了性能测试和自动化测试的全过程。本书内容由浅入深、由理论到实践。希望能帮助初学者迅速了解软件测试的全过程及相关技术,同时也可以帮助中高级工程师进一步提高软件测试技能。
《面向模式的软件架构》这一卷是介绍构建面向对象的联网与并发中间件的开山之作,揭开了构建中间件的神秘面纱。本卷以4位大师的经验为导向,讨论了16个模式和一个成例,仔细解释了常见的设计问题、驱动因素、成功的解决方案以及使用效果。 《面向模式的软件架构,卷2:并发和联网对象模式》面向专业的软件开发人员,尤其是开发并发与联网系统的专业软件开发人员。
对于软件设计的初学者来说,面对大量的信息,往往不知从何处开始下手。本书是根据作者多年的授课经验写作而成的,特别针对有以下需求的读者,提供学习的指引。 本书篇,设计了一个完整的案例,并且将LIML的13张图应用在该案例中,利用Q&A的方式,深入浅出地说明UML 13张图的基本精神及其应用,让刚开始接触UML的读者可以通过实际案例了解UML;第2篇,设计了另一个完整的案例,并搭配工具软件,配合UML、MDA及实际的程序代码,让进阶的读者可以了解,应该如何在实际的项目中应用UML。并且在每个章节中,都提供Lab练习,让读者可以“从做中学”;第3篇,作者设计了一个团队合作的情境,通过一个虚拟项目的进行,让读者可以了解团队中的各个角色,如何挑选适合的工具来帮助自己完成工作,以及如何善用工具,让团队合作能够更简单、更顺利。 随书
本书不是要讲述 Python 的基础编程,而是要帮你掌握 Python 独特的优势和魅力。书中总结了 59个 Python 编程的实践、贴士和捷径,并用真实代码示例进行了解释。全书共分 8 章, 章讲述Python 的风格思想,介绍了 Python 中常见问题的推荐解决方案;第 2 章讲述如何使用 Python 函数来阐明意图、提升可重用性,并减少错误;第 3 章介绍如何使用类和继承来表达你对对象的预期行为;第4章介绍了使用这些元类和属性的常用语法;第5章讲述如何在并行和并发的场景下利用好Python;第 6 章讲述 Python 中必要的内置模块;第 7 章教你如何合作开发 Python 程序;第 8 章介绍如何使用Python 调试、优化和测试程序。