软件工程及软件方法学
-
自动化软件测试实施指南(美)达斯汀,(美)加瑞特,(美)高夫 著,余昭辉 等译本书讲解什么是自动化测试,为什么要进行自动化测试,以及实施自动化测试过程中的各种方法和需要注意的问题。全书分为两部分。在第一部分,作者以自身的经验向我们阐释自动化测试的重要性以及好处。第二部分用6个要点来讲解需求收集、制定自动化测试的策略、开发自动化测试框架(主要是开发原则)、制定测试计划以及人员安排。附录A是一个测试阶段一览表,附录B快速地讲解了各种类型的测试以及在这些测试中如何应用自动化。附录C用了大量的篇幅介绍各种主流测试工具,以及评估这些工具的方法,附录D是一个真实的自动化框架的案例研究。本书适合软件测试人员、质量评估人员、项目管理人员和软件开发人员阅读。测试占新软件开发的时间和成本的百分比越来越大。使用自动化软件测试(AST),开发人员和软件测试人员可以优化软件测试生命周期,从而减少成本。随着技术和开发发展得越来越复杂,AST将变得不可或缺。本书是根据一些已经证明的实践和自动化测试生命周期方法学(ATLM)而写,提供了更新的实践,为成功实施AST提供了全面指导。在本书中,三位权威专家详细地阐释了AST,系统地回顾了AST的组成元素、能力以及限制。他们利用在防御系统和商业中部署AST的经验,带领你浏览整个实施过程——确定最佳实践、关键的成功因素、关键隐患,以及避免这些隐患的解决方案。本书内容·为AST构建实际可行的商业案例,使用AST获取主动权·澄清测试需求,并开发一个自动化策略反映这些需求·构建高效的测试环境,为该环境选择合适的自动化工具和技术·使用经过证明的指标持续地跟踪过程,并做出相应的调整不管你是测试专业人员、QA专家、项目经理还是开发人员,本书都会带给你前所未有的有效测试,然后使用AST改进整个开发生命周期。 -
开源软件之道蔡俊杰 主编《开源软件之道》将开源运动的前世今生和游戏规则完整地呈现给读者。第一篇帮助大家认识开源,包括其定义、历史、现状、优势、使用成本、商业模型等。第二篇探讨使用开源软件时需要注意的各项具体事宜,特别是与知识产权相关的方面,例如软件著作权、许可证等,然后分享搜索所需开源软件的技巧,并罗列了一些流行的开源软件。第三篇全面介绍如何参与开源社区的工作,引导大家融入开源社区从而探析各个开源软件的技术精髓,深入认识开源文化,提升个人在技术、交流等各方面的能力,希望能帮助提高国内开发人员的整体水平——这对于中国软件行业的发展善莫大焉!《开源软件之道》适合对开源软件感兴趣的人员、IT从业人员、致力于开源健康发展的人员阅读和参考。 -
用户故事与敏捷方法(美)科恩 著,石永超,张博超 译,李国彪,滕振宇 审校《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户需求的、有价值的功能需求。《用户故事与敏捷方法》对于软件开发人员、测试人员、需求分析师和管理者,具有实际的指导意义和重要的参考价值。 -
探索式软件测试(美)惠特克 著,方敏,张胜,钟颂东 等译谈论软件质量的方法有很多,感兴趣的听众也有很多。本书是为软件测试人员而写的,写的是一种我认为比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。 任何一个软件公司发布的产品都有缺陷。缺陷是怎么引入的?为什么没有在代码审核、单元测试、静态分析或其他面向开发人员的活动中把它们找出来?为什么自动化测试没有找出它们?那些缺陷有些什么特质使其能逃过手工测试? 什么是找出产品缺陷的最好方法? 本书针对的正是最后一个问题。在第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章“软件测试的未来”中,我更进一步讨论在未来几年中,诸如虚拟化、可视化甚至电视游戏之类的技术将如何改变测试的面貌。附录包括我对测试职业生涯的看法,收集了我以前一些深受读者喜爱的文章(加入了一些新的注解),其中一些文章已经无法在其他地方看到了。 写这本书对我来说是一种享受,我希望你阅读本书也是一种享受。 -
软件自动化测试成功之道陈能技 编著自动化功能测试是目前测试领域的发展方向,自动化功能测试能有效地降低测试成本、提高测试效率和测试覆盖面。《软件自动化测试成功之道:典型工具·脚本开发·测试框架和项目实战》结合项目实践全过程,对自动化测试前期准备阶段、测试框架搭建方法、自动化测试的过程管理进行了详细讲解,并介绍了各种自动化测试技巧,包括GUI控件的测试技巧、自动化脚本编写技巧等,以便让读者更好地学以致用。《软件自动化测试成功之道:典型工具·脚本开发·测试框架和项目实战》分成两篇,第一篇是项目实践篇,主要介绍如何借助测试工具有效地开展功能自动化测试项目,包括自动化测试的计划、设计、脚本开发和维护的全过程管理。第二篇是实用技巧篇,主要介绍如何基于流行的自动化测试工具QTP设计测试框架,除介绍几个常用的框架外,还将重点介绍笔者设计的自动化测试框架QTestWare。《软件自动化测试成功之道:典型工具·脚本开发·测试框架和项目实战》适合自动化测试工程师、自动化测试项目管理者、项目经理、希望从事自动化测试工作的测试人员,以及希望了解自动化测试框架搭建技术的测试人员阅读。 -
软件工程初级教程陶华亭 主编《软件工程初级教程》汇总了作者多本教材的精华,融入了多年的教学经验,吸收了软件工程学科较新内容编写而成。在内容和体系结构上都有了新的调整和补充,不失为一本实用教材。软件工程内容分为软件工程管理和软件工程技术两大部分。传统的教材把理论部分放在前面,工程技术部分放在中间,最后介绍软件工程管理内容,这样往往在教学中会忽略软件工程管理部分的内容,使教学过程不好安排。本教材在体系上做了一些调整,将软件工程理论和软件工程管理部分的内容放在前面,逐步由理论深入到实践,连贯性较强; 避免了进入软件工程技术甚至实践部分以后,再回头讲软件工程管理内容时,教学过程不易组织。本教材在介绍了软件工程基本概念和原理的基础上,着重对从结构化方法到面向对象方法的过渡进行了合理安排,强调从方法论和软件工程思想的角度理解这种过渡,指出了结构化方法的优点、缺陷和面向对象方法的优势,并从内容上加大了面向对象方法的比重。书中安排了贯穿全程的实例,通过面向对象的建模过程实践,使得针对面向对象的方法的教学过程更具有可操作性。课程进行到后半学期,对于面向对象的部分可以安排适当的上机实践,本教材对这一部分提供了较详细的建模操作实例。《软件工程初级教程》实例丰富,注重对学生实践能力的培养,对初次开设软件工程课程的计算机及相关专业本科层次、大专层次都适用。 -
软件工程与项目管理王素芬 主编《软件工程与项目管理》全面、系统地介绍了软件工程的概念、原理和典型的技术方法。全书共分12章。第1章概括介绍了软件工程的发展和基本原理,还对具有代表性的CAsE工具进行了简要介绍,讨论了软件工程职业道德规范,并对软件工程的发展趋势进行了展望;第2章讨论了软件过程的基本活动和常用的软件开发方法,并介绍了典型的软件过程模型和微软公司的软件开发过程实例;第3章主要介绍了常用软件项目立项的方法、可行性分析、软件项目团队的建立以及软件项目立项文档的编写;第4章主要介绍了需求分析的过程、方法和软件需求分析文档的编写:第5章、第6章分别介绍了软件的总体设计和详细设计;第7-9章分别介绍了软件编码、测试与调试、维护;第10章介绍了面向对象的方法学;第11章介绍了统一建模语言(UML);第12章介绍了软件项目管理。为加强对学生实践能力的培养,各章最后大都设置了“实战训练”和“讨论”环节。《软件工程与项目管理》可作为高职高专学校软件工程课程的教材,也可作为软件开发人员的参考书。 -
软件工程形式化方法与语言李莹,吴江琴 编著《软件工程形式化方法与语言》选取并介绍了三种代表性的形式化方法,它们分别是以集合论和一阶谓词演算为基础的Z语言,以时态逻辑为基础的XYZ,还有以直觉数学学派为基础的类型理论。 《软件工程形式化方法与语言》既可以作为计算机专业的研究生的形式化课程教材,又可以用作专业人员的参考书。虽然真正从事形式化方面的工作的人员不多,但是有必要通过对该课程的学习,使学生在理论、技术和方法上都得到了系统而有效的训练,有利于提高软件人员的素质和能力。 -
实训教程·常用工具软件实训教程部绍海,黄琼,刘忠云 主编本书主要面向职业技术院校,并被列入全国职业教育“十一五”规划教材。全书共15章,首先介绍了常用工具软件的下载、安装、汉化和卸载,然后分别介绍了文件处理工具、个性化电脑工具、图像处理工具、多媒体播放和修复工具、多媒体制作和编辑工具、网络浏览和传输工具、网络通信工具、电子书阅读和制作工具、翻译与英语学习工具、光盘刻录与虚拟光驱工具、电脑安全防护工具、系统测试与优化工具、磁盘管理工具,以及行业管理软件的使用方法。本书具有如下特点:(1)满足社会实际就业需要。对传统教材的知识点进行增、删、改,让学生能真正学到满足就业要求的知识。(2)增强学生的学习兴趣。从传统的偏重知识的传授转为培养学生的实际操作技能,让学生有兴趣学习。(3)让学生能轻松学习。用实例(实训)讲解相关应用和知识点,边练边学,从而避开枯燥的讲解,让学生能轻松学习,教师也教得愉快。(4)包含大量实用技巧和练习,网上提供课件下载。本书可作为中、高等职业技术院校,以及各类计算机教育培训机构的专用教材,也可供广大初、中级电脑爱好者自学使用。 -
工程师突击唐骏华 编著《工程师突击:SAPABAP实用程序开发攻略》根据国内外实施SAP系统的企业对专业员工的培训步骤及技能要求编写,以介绍SAP R3 ABAP/4开发技术为重点,内容涵盖SAP基础知识、ABAP语法详解、ABAP中高级专业开发工具的使用等。通过《工程师突击:SAPABAP实用程序开发攻略》的学习,读者能够逐步深入SAP编程并掌握SAP开发技能,快速成长为SAP实用型人才。《工程师突击:SAPABAP实用程序开发攻略》以实例讲解为主,包括具体的需求分析、程序执行效果展示、完整代码解析等。这些实例均为SAP商务应用开发中的常用实例,既可作为入门起步之用,又可作为高级进阶的参考。《工程师突击:SAPABAP实用程序开发攻略》不但适合于SAP初学者、SAP中高级开发工程师及咨询顾问,也可作为企业及学校SAP培训参考图书。
