软件工程及软件方法学
-
精通软件性能测试与LoadRunner实战于涌 编著《精通软件性能测试与LoadRunner实战》在介绍软件性能测试概念的基础上,结合对实际测试案例的剖析,重点讲解了性能测试实战技术、LoadRunner工具的使用技巧和实践工作中的问题解答。全书分为4个部分。第一部分为“基础篇”,介绍了软件测试的基础知识,描述了软件测试中典型的性能测试场景、工具的安装、性能测试的基础概念,介绍了脚本的调试技术,并以典型的B/S、C/S实例讲解了多个协议、事务、集合点、检查点、思考时间、关联、IP欺骗、多机联合测试等技术在工具中的应用。第二部分为“提高篇”,则分别讲解了测试人员最关心的数据库、邮件协议(SMTP)、文件传输协议(FTP)脚本、Sockets协议脚本、RTE协议脚本的开发,为大家提供了广阔的性能测试思路。同时还为.NET平台的测试人员提供了另一种面向代码进行性能测试的手段,详细讲解了.NET插件的应用,并就大家经常遇到的问题提供了几十个解决方案。第三部分为“实战篇”,则以讲解两个完整的性能测试案例为主线,把前面的知识整体贯穿起来,介绍了性能测试的全过程,用以培养读者具有大型项目测试的实战能力。第四部分为附录部分(见光盘),提供了性能测试中经常用到的非常重要的模板文件和规范化的软件测试相关文档。《精通软件性能测试与LoadRunner实战》图文并茂,通俗易懂,适合性能测试设计人员、性能测试开发人员、性能测试分析人员、项目经理和测试组长参考学习。 -
不是三维何小朝 著《不是三维:软件项目的设计、开发与管理》从软件与三维实物的本质性不同出发研究软件生产方法论。今天,软件生产中许多传统问题并没有得到质的改善,以“爆炸”形容的技术发展的实质究竟是什么?先进管理模式下的管理现状如何?《不是三维:软件项目的设计、开发与管理》首先深入分析以上问题,指出软件的本质及其至今不能实现工业化生产的内在原因;接着,从软件设计,测试与管理三个方面,系统地介绍了作者多年实践中总结出来的有效实用方法;最后从软件本质出发,提出了全新的先进软件生产模式与方法——代码驱动生产(Code Driving Production),并指出这将是适合软件本质的新途径。《不是三维:软件项目的设计、开发与管理》适合于从事软件工程研究的科研人员、管理人员与设计人员阅读,也可作为高等学校与计算机相关专业师生的教学参考读物。 -
软件项目管理康一梅 著本书系统介绍了软件项目管理的理论、方法与案例,全书共分15章,内容包括软件项目管理、组织平台、软件项目立项、软件开发过程、软件估算、软件项目计划、软件配置管理、软件质量管理、软件度量、风险管理、软件外包管理、人力资源管理与团队建设、软件知识产权管理、项目经理面临的政治、项目管理技巧。本书适合软件工程及计算机相关专业的研究生使用,也町作为软件领域开发人员的参考书。 -
软件工程教程孙涌 主编《软件工程教程》全面系统地介绍了软件工程的有关概念、原则、方法和工具。全书共15章,内容包括:软件工程中面向过程、面向对象的开发方法,技术度量,质量保证,软件项目计划与管理,用统一建模语言UML开发软件的方法等。另外,还对设计模式、敏捷软件开发、Web工程等软件工程相关领域进行了介绍和讨论。《软件工程教程》既注重科学性和系统性,又注重实用性和新颖性。《软件工程教程》可作为大学计算机及相关专业本(专)科学生的教材或教学参考书,也可作为研究生的参考教材。 -
基于Quartus II的FPGA/CPLD设计与实践陈忠平,高金定,高见芳 编著《基于Quartus II的FPGA/CPLD设计与实践》从实验、实践、实用的角度出发,通过丰富的范例讲述基于Quartus II 9.0软件进行FPGA/CPLD应用产品的开发和应用。全书共6章,主要讲述了编程基础知识、简单逻辑门电路的设计、常用逻辑门电路的设计、时序电路的设计,以及实际系统的应用及开发过程。《基于Quartus II的FPGA/CPLD设计与实践》是结合作者丰富的教学与实践经验编写而成的,语言简洁、结构清晰,内容由浅入深。书中的范例具有很强的实用性,并且均通过了软、硬件调试与仿真验证。《基于Quartus II的FPGA/CPLD设计与实践》适合从事FPGA/CPLD研发的技术人员阅读,也可作为高等学校相关专业的教学用书。 -
自动化软件测试实施指南(美)达斯汀,(美)加瑞特,(美)高夫 著,余昭辉 等译本书讲解什么是自动化测试,为什么要进行自动化测试,以及实施自动化测试过程中的各种方法和需要注意的问题。全书分为两部分。在第一部分,作者以自身的经验向我们阐释自动化测试的重要性以及好处。第二部分用6个要点来讲解需求收集、制定自动化测试的策略、开发自动化测试框架(主要是开发原则)、制定测试计划以及人员安排。附录A是一个测试阶段一览表,附录B快速地讲解了各种类型的测试以及在这些测试中如何应用自动化。附录C用了大量的篇幅介绍各种主流测试工具,以及评估这些工具的方法,附录D是一个真实的自动化框架的案例研究。本书适合软件测试人员、质量评估人员、项目管理人员和软件开发人员阅读。测试占新软件开发的时间和成本的百分比越来越大。使用自动化软件测试(AST),开发人员和软件测试人员可以优化软件测试生命周期,从而减少成本。随着技术和开发发展得越来越复杂,AST将变得不可或缺。本书是根据一些已经证明的实践和自动化测试生命周期方法学(ATLM)而写,提供了更新的实践,为成功实施AST提供了全面指导。在本书中,三位权威专家详细地阐释了AST,系统地回顾了AST的组成元素、能力以及限制。他们利用在防御系统和商业中部署AST的经验,带领你浏览整个实施过程——确定最佳实践、关键的成功因素、关键隐患,以及避免这些隐患的解决方案。本书内容·为AST构建实际可行的商业案例,使用AST获取主动权·澄清测试需求,并开发一个自动化策略反映这些需求·构建高效的测试环境,为该环境选择合适的自动化工具和技术·使用经过证明的指标持续地跟踪过程,并做出相应的调整不管你是测试专业人员、QA专家、项目经理还是开发人员,本书都会带给你前所未有的有效测试,然后使用AST改进整个开发生命周期。 -
用户故事与敏捷方法(美)科恩 著,石永超,张博超 译,李国彪,滕振宇 审校《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户需求的、有价值的功能需求。《用户故事与敏捷方法》对于软件开发人员、测试人员、需求分析师和管理者,具有实际的指导意义和重要的参考价值。 -
探索式软件测试(美)惠特克 著,方敏,张胜,钟颂东 等译谈论软件质量的方法有很多,感兴趣的听众也有很多。本书是为软件测试人员而写的,写的是一种我认为比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。 任何一个软件公司发布的产品都有缺陷。缺陷是怎么引入的?为什么没有在代码审核、单元测试、静态分析或其他面向开发人员的活动中把它们找出来?为什么自动化测试没有找出它们?那些缺陷有些什么特质使其能逃过手工测试? 什么是找出产品缺陷的最好方法? 本书针对的正是最后一个问题。在第2章“手工测试”中,我提出了一个观点:因为用户是在使用软件过程中找到这些缺陷的,所以我们的测试人员也应该通过使用软件来找到它们。无论使用自动化测试和单元测试,还是其他一些手段,都难以接触到这些缺陷。无论测试人员怎么实现自动化测试,即使全部都自动化,这些缺陷还是会处处作怪,并在产品中屡屡重现从而伤害最终用户。 问题在于很多现代化手工测试实践都缺乏目的性,随机性强且重复性强。有些人可能还会加上一条:手工测试无聊透顶。本书试图为手工测试流程提供一些指导、技术和规划。 在第3章“局部探索式测试法”中,针对测试人员在运行任何一个测试用例时都需要做出很多细微的战术层面决定,我给出了详尽的指导建议。测试人员必须决定对于某个特定的输入字段应该使用什么输入值,或者给应用程序使用的文件提供什么数据。在测试过程中,必须做出许多这样的小决定。在缺乏指导的情况下,这些决定常常是未经分析且不是最优化的。在向一个文本框内输入一个数时,选择整数4难道就胜过整数400么?应该用长度为32字节的字符串还是长度为256字节的字符串?选择一个而不选另一个是有一定道理的,这一切都取决于处理该输入的软件的具体情况。鉴于测试人员每天都要做出数百次这样的小决定,在这里提供有效的指导建议显得至关重要。 在第4章“全局探索式测试法”中,针对测试人员在编制测试计划和测试用例设计时需要考虑哪些广泛的战略性问题,我也给出了一些指导建议。这些技术都基于“漫游测试”(tour)概念,如同一个导游带领旅游团队参观大都市中一系列著名景点一样,这种漫游测试法指出的路线可以指导测试人员如何探索软件的方方面面。这里的探索并不一定是随机的或者漫无目的的。本书所记录的方法已经成为微软和谷歌的许多测试人员日常工作的一部分。诸如“地标测试法”(landmark tour)和“极限测试法”(intellectual’s tour)等词汇已经列入了手工测试人员的标准词汇表中。测试技术以前确实被称作“漫游”,但是用整个旅游业来隐喻软件测试,并在测试实际发布的应用程序时,大规模使用这些隐喻的名称,还属于本书的一个创举。 全局探索式测试法对于制定完整的测试策略给出了指导建议。例如,如何创建一组特性覆盖率(feature coverage)较高的测试用例?如何确定是否要在一个单独的测试用例中使用多个特性?如何创建一个完整的测试用例套件(test case suite),从而使软件尽可能地满负荷工作以便能找到更多重要的缺陷?这些都是设计测试用例和保证测试套件质量时必须解决的重大问题。 在第5章“混合探索测试技术”中,通过把探索式测试和传统的脚本或基于场景的测试技术相结合,进一步扩展了漫游的概念。我们将讨论如何修改各种端到端场景(end-to-end scenario)、测试脚本(test script)或用户故事(user story),来创造更多的变化情况,以激发传统静态测试技术查找缺陷的潜力。 在第6章“探索式测试的实际应用”中,来自微软不同产品组的五位客串作者提供了他们使用漫游技术后得到的经验报告。这些作者和他们的团队在真实的开发环境中,把漫游方法应用在真实的软件上。他们记录了各自是如何使用漫游、修改漫游甚至创建自己的漫游的。这些内容来自于使用漫游法测试重要的关键软件产品的测试人员,属于真正的第一手资料。 最后,我用两章内容总结前面各章所讨论的内容。在第7章“漫游测试的棘手问题”中,描述了我认为的测试中最困难的几个问题,以及如何将那些具有高度针对性的探索式测试方法融入一个更广泛的解决方案中。在第8章“软件测试的未来”中,我更进一步讨论在未来几年中,诸如虚拟化、可视化甚至电视游戏之类的技术将如何改变测试的面貌。附录包括我对测试职业生涯的看法,收集了我以前一些深受读者喜爱的文章(加入了一些新的注解),其中一些文章已经无法在其他地方看到了。 写这本书对我来说是一种享受,我希望你阅读本书也是一种享受。 -
开源软件之道蔡俊杰 主编《开源软件之道》将开源运动的前世今生和游戏规则完整地呈现给读者。第一篇帮助大家认识开源,包括其定义、历史、现状、优势、使用成本、商业模型等。第二篇探讨使用开源软件时需要注意的各项具体事宜,特别是与知识产权相关的方面,例如软件著作权、许可证等,然后分享搜索所需开源软件的技巧,并罗列了一些流行的开源软件。第三篇全面介绍如何参与开源社区的工作,引导大家融入开源社区从而探析各个开源软件的技术精髓,深入认识开源文化,提升个人在技术、交流等各方面的能力,希望能帮助提高国内开发人员的整体水平——这对于中国软件行业的发展善莫大焉!《开源软件之道》适合对开源软件感兴趣的人员、IT从业人员、致力于开源健康发展的人员阅读和参考。 -
架构实战—软件架构设计的过程(英)伊乐斯,克里普斯 著,蔡黄辉,马文涛 译本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”中,作者补充说明了架构师和软件开发项目其他方面的关系,后面又说明了各种软件开发项目可能存在的困难及相应的处理方法。本书理论结合实践,介绍了一些可以应用到整个或部分的架构设计流程中的最佳方法。不管你是一位资深的架构师还是一位有志于成为架构师的初级使用者,通过阅读本书都能从中获益。
