• 软件测试方法和技术(第4版)
  • 软件测试方法和技术(第4版)
21年品牌 40万+商家 超1.5亿件商品

软件测试方法和技术(第4版)

批量上传,套装书可能不全,下单前咨询在线客服! 正版书 !!!

48.01 7.4折 65 全新

库存6件

四川成都
认证卖家担保交易快速发货售后保障

作者朱少民

出版社清华大学出版社

ISBN9787302617198

出版时间2022-11

装帧平装

开本16开

定价65元

货号29500742

上书时间2024-10-22

百叶图书

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

 


时间如白驹过隙,在本书第3版出版8年后,第4版至今才和大家见面,我心中总有一份歉疚和不安。在日新月异的今天,作者应该更频繁地更新教材,2~3年要更新一个版本,希望未来可以做到这点,不辜负读者的厚望。
本书第3版算是一个比较重要的里程碑,不仅获得清华大学出版社近三年的畅销书奖和上海普通高等学校优秀教材奖,而且被评为“十二五”普通高等教育本科规划教材,
本书被300多所大学选为本科“软件测试”课程的教材,获得了良好的社会效益。正是各位老师的厚爱,那份歉疚和不安更加沉重,在倍感压力和挑战中小心翼翼地修订完本教材。
这几年,不仅Web应用、智能手机等移动设备的App应用等得到迅猛发展,大数据、人工智能、云计算等技术及其应用也有很大进展,而且软件开发模式也向敏捷、精益和DevOps等开发模式转型,持续集成(CI)、持续交付(CD)成为主旋律,软件测试也需要顺应时代发展并做出改变,以适应软件产品研发新的需求。本书的第4版正是在这样的背景下对第3版进行了修订,努力和业界的实践保持同步,例如在后一章细致地讨论大数据的测试、AI系统的测试、AI助力软件测试、软件测试工具的未来和持续测试等。
今天在软件测试行业,一个突出的旋律就是软件测试自动化,一方面体现了测试人员对技术和测试效率的追求,另一方面也是受敏捷、DevOps、CI/CD所迫。没有自动化测试,就很难实现快速迭代,很难实现持续交付。所以,在第4版共有5章(即第5、6、7、9、12章)加强了自动化测试的内容,特别是增加了面向接口(API)、面向Web应用、面向移动应用等自动化测试,以及测试环境的自动部署、自动化测试框架等内容。
我们也需要重新认识测试环境,将它上升到测试基础设施,使之能够和研发无缝集成,能够支持DevOps流水线,助力持续交付。所以,在第12章增加了对容器技术与Docker、集群管理与Kubernetes、应用程序容器化及集群部署、CI/CD流水线等内容的介绍。
今天,软件作为“服务”形式存在胜过作为“产品”形式存在,软件的竞争也比以前更加激烈,用户体验上升到一个新的高度,正如Amazon极度重视用户体验,将它作为核心,由此驱动并产生飞轮效应。所以,我

们需要做好用户体验测试,这其中也包括性能测试、安全性测试、兼容性测试和可靠性测试,为此把之前的非功能性测试一节内容拿出来,补充了一些新的内容(如前端性能测试及其工具、全生命周期的安全开发、用户体验测试、A/B测试),并自成一章——“第7章专项测试”。把原来第7章验收测试的大部分内容(如验收测试、安装测试、文档测试等)删去,虽然这些内容有价值,但不是那么重要,也比较容易掌握,受篇幅所限,就不做介绍了。像验收测试,在敏捷开发中有不同的理解,而且是在研发环境下完成的。在传统的研发模式中,我们只要关注测试环境(包括测试数据)的不同,并加强业务层次的端到端测试,就基本能把握好用户现场的验收测试,而技术方法基本等同于系统测试。

 


测试工具变化是快的,所以第4版尽可能确保各章介绍目前流行的测试工具(包括缺陷跟踪、测试管理等工具)。其他一些地方也做了一些改动,包括增加了“Test Oracle(测试预言)”、缺陷PIE模型、图覆盖准则、精准测试等内容介绍。还有一个重要变化是增加了9个实验,从单元测试、系统功能测试、性能测试、安全性测试到自动化测试框架的部署、缺陷跟踪工具的安装、基于MeterSphere的综合实验等,覆盖了课程教学的关键内容,确保了学生有足够的实践机会。
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、教学进度表、程序源码和综合实验指导书。


资源下载提示
课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载。
源码等资源: 扫描目录上方的二维码下载。
在线作业: 扫描封底的作业系统二维码,登录网站在线做题及查看答案。
视频等资源: 扫描“课件下载”二维码,在课件压缩包中附有视频观看方式。

 

 

在本书第3版使用过程中,得到了不少老师的反馈,在此不一一列举,一并表示深深的谢意。在修改过程中,得到了中科创达测试总监李洁的大力帮助,对第5、9、12章的内容提出了很好的建议,在此深表感谢!同时也要感谢清华大学出版社分社长魏江江对本书的大力支持,感谢同济大学的大力支持,更要感谢家人的大力支持!
虽然本书第4版做了较大改动,但仍有不足之处,敬请各位老师多多指正。我们一起把软件测试教学做好,培养更多、更优秀的软件测试人才,助力我国软件产业的发展,助力中华民族的伟大复兴!

朱少民
2022年10月于同济大学

 


第1~3版前言

 



导语摘要

本书共分为三篇:软件测试的原理与方法,软件测试的技术,软件测试项目实践。第1篇首先系统地介绍了软件测试的基本概念,从不同的视角探讨软件测试的本质及其内涵;全面而系统地讲解了软件测试所需的基本方法、流程和规范,按照 SWEBOK3.0对方法进行了重新分类和组织,使内容结构更加合理、清晰,更好地满足教学需求。第2篇介绍了软件测试各个层次(单元测试、集成测试、系统测试和专项测试)的测试技术及其工具,系统、务实而有效,和业界的实践保持高度一致,学以致用;而且还介绍了软件国际化和本地化的测试、软件测试自动化的原理和框架,可使读者有效地提高动手能力。为了更好地将测试方法和技术应用于实际项目中,第3篇从软件测试需求分析与测试计划开始,逐步深入测试用例设计、测试基础设施部署、测试执行、缺陷报告与跟踪、测试结果分析与报告,贯穿整个软件开发生命周期,后介绍了软件测试的新技术并展望了未来发展趋势。 本书在内容组织上力求自然且条理清晰、丰富且实用,通俗易懂、循序渐进,并提供了丰富的实例和实践要点,使理论和实践能够有机地结合起来,更好地满足软件测试学科的特点,使读者更容易理解所学的理论知识、掌握测试方法和技术的应用之道。 本书可作为高等学校软件工程专业、计算机应用专业和相关专业的教材,也可作为其他各类软件工程技术人员的参考书。



目录

 


 


第1篇软件测试的原理与方法


第1章引论


1.1软件测试的必要性


1.1.1迪士尼并不总是带来笑声


1.1.2一个缺陷造成了数亿美元的损失


1.1.3火星探测飞船坠毁


1.1.4人类容易得健忘症——再次忽视了集成测试


1.1.5错误指令造成骑士资本集团损失4.4亿美元


1.1.6AWS宕机整整4小时


1.1.7预订的酒店住不进去导致旅客露宿街头


1.1.8Uber泄露个人隐私导致用户要求赔偿3亿多元


1.1.9更多的悲剧


1.2为什么要进行软件测试


1.3什么是软件测试


1.3.1软件测试学科的形成


1.3.2正反两方面的争辩


1.3.3软件测试的定义


1.3.4软件测试的其他观点


1.4测试和质量保证的关系


1.5测试和开发的关系


1.6测试驱动开发的思想


小结


思考题


第2章软件测试的基本概念


2.1软件缺陷


2.1.1软件质量的内涵


2.1.2软件缺陷的定义


2.1.3软件缺陷的测试判断准则


2.1.4软件缺陷的产生



2.1.5软件缺陷的构成


2.1.6修复软件缺陷的代价


2.2软件测试的分类


2.3静态测试和动态测试


2.3.1产品评审


2.3.2静态分析


2.3.3验证和确认


2.4主动测试和被动测试


2.5黑盒测试和白盒测试


2.6软件测试层次


2.7软件测试工作范畴


2.7.1测试分析


2.7.2测试策略制订


2.7.3测试计划


2.7.4测试设计


2.7.5测试执行


2.7.6测试结果和过程评估


小结


思考题


实验1完成一个简单的测试过程


 


 


 


第3章软件测试方法


3.1基于直觉和经验的方法


3.1.1Adhoc测试方法和ALAC测试方法


3.1.2错误推测法


3.2基于输入域的方法


3.2.1等价类划分法


3.2.2边界值分析法


3.3基于组合及其优化的方法


3.3.1判定表方法


3.3.2因果图法


3.3.3Pairwise方法


3.3.4正交试验法


3.4基于逻辑覆盖的方法


3.4.1判定覆盖


3.4.2条件覆盖


3.4.3判定条件覆盖


3.4.4条件组合覆盖


3.4.5基本路径覆盖


3.5基于缺陷模式的测试


3.5.1常见的缺陷模式


3.5.2DPBT的自动化实现


3.6基于模型的测试


3.6.1功能图法


3.6.2模糊测试方法


3.7形式化测试方法


3.7.1形式化方法


3.7.2形式化验证


3.7.3扩展有限状态机方法


小结


思考题


第4章软件测试流程和规范


4.1传统的软件测试过程


4.1.1W模型


4.1.2TMap


4.2敏捷测试过程


4.2.1敏捷测试的价值观和原则


4.2.2传统测试和敏捷测试的区别


4.2.3敏捷测试流程


4.2.4SBTM


4.3软件测试学派


4.4测试过程改进


4.4.1TMMi


4.4.2TPI


4.4.3CTP


4.4.4STEP


4.5软件测试规范


小结


思考题



第2篇软件测试的技术



第5章单元测试与集成测试


5.1代码静态测试


5.1.1编码的标准和规范


5.1.2代码评审


5.2代码评审案例分析


5.2.1空指针保护错误


5.2.2数据类型转换错误


5.2.3字符串或数组越界错误


5.2.4资源不合理使用


5.2.5不当使用synchronized导致系统性能下降


5.3代码静态检测工具


5.3.1FindBugs检查代码缺陷


5.3.2PMD检查代码缺陷


5.3.3CheckStyle检查代码风格 


5.3.4SonarQube构建自动的代码扫描


5.4单元测试的目标和任务


5.4.1为何要进行单元测试


5.4.2单元测试的目标和要求


5.4.3单元测试的任务


5.4.4驱动程序和桩程序


5.4.5类测试


5.5分层单元测试


5.5.1Action层的单元测试 


5.5.2数据访问层的单元测试


5.5.3Servlet的单元测试


5.6单元测试工具 


5.6.1JUnit介绍


5.6.2IntelliJ IDEA中的JUnit应用举例


5.6.3Mock框架Mockito


5.6.4测试覆盖率工具JaCoCo


5.6.5JUnit 5 Gradle构建自动的单元测试


5.6.6开源的单元测试工具


5.7系统集成的模式与方法


5.7.1单体架构的集成测试


5.7.2微服务架构的集成测试


5.7.3持续集成及其测试


小结


思考题


实验2单元测试实验


第6章系统测试


6.1系统功能测试


6.1.1功能测试要求和基本思路


6.1.2面向接口的功能测试


6.1.3面向UI的功能测试


6.2功能测试自动化


6.2.1基于接口的自动化测试


6.2.2Web客户端的UI自动化测试——基于Selenium测试框架


6.2.3Web客户端的UI自动化测试——基于Cypress测试框架


6.2.4Android应用的UI自动化测试


6.2.5iOS应用的UI自动化测试


6.2.6移动应用测试工具Appium



6.3回归测试


6.3.1回归测试的目的


6.3.2回归测试的策略及其方法


6.4精准测试


小结


思考题


实验3系统功能测试


第7章专项测试


7.1性能测试


7.1.1系统性能指标和测试类型


7.1.2系统负载及其模式


7.1.3性能测试的基本过程


7.1.4性能测试结果分析


7.1.5Web性能测试


7.1.6压力测试


7.1.7容量测试


7.1.8前端性能测试工具


7.1.9后端性能测试工具


7.2安全性测试


7.2.1安全性测试的范围与方法


7.2.2贯穿研发生命周期的安全性测试


7.2.3Web安全性测试


7.2.4安全性测试工具


7.3兼容性测试


7.3.1软件兼容性测试


7.3.2数据共享兼容性测试


7.3.3硬件兼容性测试


7.4可靠性测试


7.4.1可靠性测试方法


7.4.2容错性测试


7.4.3数据库并发控制测试


7.5易用性测试


7.5.1良好的UI要素


7.5.2用户体验测试方法和模型


7.5.3A/B测试


小结


思考题


实验4性能测试实验


实验5安全性测试实验


第8章软件本地化测试


8.1什么是软件本地化


8.1.1软件本地化与国际化


8.1.2字符集问题


8.1.3软件国际化标准


8.1.4软件本地化基本步骤


8.1.5软件本地化测试


8.2翻译验证


8.3本地化测试的技术问题


8.3.1数据格式


8.3.2页面显示和布局  


8.3.3配置和兼容性问题


8.4本地化的功能测试


小结


思考题


第9章测试自动化及其框架


9.1测试自动化的内涵


9.1.1手工测试的局限性


9.1.2什么是测试自动化


9.1.3软件测试自动化的优势


9.2测试自动化实现原理


9.2.1代码分析


9.2.2脚本技术


9.2.3对象识别


9.2.4接口调用


9.2.5自动比较技术


9.3测试自动化的实施


9.3.1测试自动化系统的构成


9.3.2测试工具的分类


9.3.3测试工具的选择


9.3.4测试框架的构成和分类


9.3.5自动化测试的分层策略


9.4API自动化测试框架


9.4.1API自动化测试框架Karate


9.4.2Karate测试 RESTful API的实例


9.5移动应用的自动化测试框架


9.5.1自动化测试的实现方式


9.5.2Appium及其工作原理


9.5.3Airtest自动化测试框架


小结


思考题


实验6部署自动化测试框架


第3篇软件测试项目实践



第10章测试需求分析与测试计划


10.1测试的目标和准则


10.2测试需求分析


10.2.1测试需求分析的基本方法


10.2.2测试需求分析的技术


10.2.3功能测试范围分析


10.2.4非功能性的系统测试需求


10.3测试项目的估算与进度安排


10.3.1测试工作量估算


10.3.2工作分解结构表方法


10.3.3资源的安排


10.3.4测试里程碑和进度表


10.4测试风险和测试策略


10.4.1测试风险管理计划


10.4.2基于风险的测试


10.4.3测试策略的确定


10.5测试计划的内容与编制


10.5.1测试计划的内容


10.5.2测试项目的计划过程


10.5.3制订有效的测试计划


小结


思考题


实验7制订测试计划


第11章设计和维护测试用例


11.1测试用例的构成及其设计


11.1.1测试用例的重要性


11.1.2测试用例设计书写标准


11.1.3测试用例设计的考虑因素


11.1.4测试用例设计的基本原则


11.2测试用例的组织和跟踪


11.2.1测试用例的属性


11.2.2测试套件及其构成方法


11.2.3跟踪测试用例


11.2.4维护测试用例


11.2.5测试用例的覆盖率


小结


思考题


第12章部署测试基础设施


12.1测试基础设施的重要性


12.1.1测试基础设施在不同阶段的作用


12.1.2测试基础设施影响研发效能


12.1.3测试基础设施保障运维


12.2测试基础设施要素


12.2.1硬件资源


12.2.2网络资源


12.2.3软件资源


12.2.4数据资源


12.3虚拟化技术的应用


12.3.1虚拟机技术


12.3.2QEMUKVM虚拟机解决方案


12.3.3容器技术与Docker


12.3.4集群管理与Kubernetes


12.3.5服务虚拟化及其工具


12.4测试基础设施的自动部署


12.4.1基础设施即代码


12.4.2基础架构的自动部署


12.4.3应用

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP