软件测试技术与项目实践
定 价:69 元
丛书名:
《软件测试技术与项目实践》全面介绍软件测试技术和实际应用,全书分3篇,共10章。基础篇(第1~4章)详细介绍软件测试的基本概念、功能和单元测试用例设计方法。技术篇(第5~8章)深入探讨接口及接口自动化测试、Web UI自动化测试、性能测试。扩展篇(第9、10章)重点讲述移动App非功能测试和渗透性测试等内容。全书引入合同管理系统项目作为实践案例,帮助读者掌握软件测试的核心技能。此外,本书还配套有阿尔法辅助教学平台,为读者提供线上线下相结合的灵活学习方式,有助于提升学习效果。本书适合作为高等学校计算机相关专业本科生软件测试技术课程的教材,也可供软件测试技术人员参考使用。
新时代下软件测试技术越来越受到重视,软件测试工程师越来越稀缺。本教材研发团队有丰富的软件测试行业实践经验,都有软件技术专业教育背景或是从事过多年的软件测试实践,均具备扎实的学术背景和专业知识,如都深入了解软件开发生命周期、测试方法论、测试技术和相关工具,可确保教材的准确性和专业性,能够将实际项目中遇到的问题和解决方案融入教材中,使之更加实用和贴近实际应用。 近些年来,随着软件技术的发展升级,编者们对软件测试领域最新研究和发展有着持续的关注,如:了解并应用着新的测试方法、技术和工具。这样可以确保教材的内容与时俱进,反映当前行业的最佳实践。 编写本书能够为读者提供全面、系统和结构化的软件测试知识,帮助读者建立起正确的测试思维和方法,提升软件质量和测试效率。相信本教材能够帮助读者深入理解软件测试的核心概念和技术,并能够应用于实际项目中。同时,本教材编写团队可以根据教材的定位和目标读者群体的需求,提供丰富的案例和实践经验,让读者在实际操作中获得更多的知识和技能。
数字化时代,软件已经成为生活和工作不可或缺的一部分,软件质量是企业和用户最为关心的问题之一。软件的稳定性和可靠性直接关系到用户体验和业务的成败。因此,确保软件质量成为软件开发过程中至关重要的一个环节。软件测试作为确保软件质量的关键环节,其重要性不言而喻。为了满足企业和用户对高质量软件的需求,《软件测试技术与项目实践》应运而生。本书不仅详细介绍了软件测试的基本理论和方法,还结合合同管理系统项目实践,帮助读者更好地理解和掌握软件测试的技巧和经验。书中涵盖了自动化测试、性能测试、安全测试等多种测试类型,力求为读者提供全面而深入的软件测试知识。本书分3篇,共10章,第1~4章是基础篇,第5~8章是技术篇,第9、10章是扩展篇。各章内容概述如下。1. 基础篇第1章软件测试概述: 介绍软件测试的重要性、定义、目的、原则,以及软件缺陷的处理方法。第2章软件测试入门: 讲解软件测试级别、常见应用软件的基本特征、软件测试的基本思路和测试用例设计方法,并通过合同管理系统案例分析测试思路。第3章功能测试: 介绍功能测试用例设计方法,包括等价类划分法、边界值分析法、组合测试用例设计技术、因果图法、决策表法和场景法,并通过合同管理系统案例进行演练。第4章单元测试: 介绍白盒测试方法,包括逻辑覆盖法、基本路径测试法,以及常用单元测试工具,并通过ToDoList项目进行演练。2. 技术篇第5章接口测试: 讲解接口测试的价值、定义,HTTP协议解析,Postman工具使用,并通过合同管理系统项目进行演练。第6章Python接口自动化测试: 介绍接口自动化测试的概念,Requests库和Pytest工具,并通过合同管理平台项目进行演练。第7章Web UI自动化测试: 介绍Selenium的基本概念,WebDriver、WebElement接口和自动化测试模型,并通过Selenium轻量级UI自动化测试框架进行演练。第8章性能测试: 讲解性能测试基础知识、JMeter工具使用、与Jenkins的集成,并通过合同管理系统项目进行演练。3. 扩展篇第9章移动App非功能测试: 介绍移动App启动时间、流量、CPU和电量测试方法。第10章渗透性测试: 讲解Web应用安全基础、SQL注入漏洞、XSS跨站脚本漏洞、CSRF和文件上传漏洞的原理和防范措施。4. 教学资源下载与学习本书配套的合同管理系统,读者可以登录阿尔法辅助教学平台获取相关资源。本书由北京信息科技大学王磊任主编,负责确定本书的主题方向和整体框架,并编写第1、2章;另一位主编是北京浩泰思特科技有限公司资深软件测试工程师郝志卿,负责编写第3章;北京信息科技大学卢慧雅任副主编,负责编写第4、8章;吕梁学院高文莲任副主编,负责编写第9、10章;吕梁学院董红松负责编写第5章;山西金融职业学院郭莹洁负责编写第6、7章。尽管我们做了努力,本书仍难免有疏漏和不足之处,望读者指正。
编者2025年6月
第一篇基础篇第1章软件测试概述31.1为什么要进行软件测试31.2软件测试的定义41.2.1软件测试定义的正反两面性41.2.2服从于用户需求的软件测试51.3软件测试的目的51.4软件测试的原则61.5软件缺陷71.5.1一个简单的缺陷报告71.5.2缺陷报告的重要组成91.5.3完整的缺陷信息列表111.5.4缺陷的管理111.6实践: 寻找合同管理系统缺陷131.6.1合同管理系统需求说明书131.6.2合同管理系统地址及用户131.6.3任务一: 合同列表页面的缺陷说明141.6.4任务二: 合同新增页面的缺陷说明151.7本章小结17第2章软件测试入门182.1软件测试级别182.1.1单元测试182.1.2集成测试212.1.3系统测试242.1.4验收测试252.2常见应用软件的基本特征252.3软件测试的基本思路272.3.1增加功能的测试思路272.3.2修改功能的测试思路292.3.3删除功能的测试思路292.3.4查询功能的测试思路302.3.5导入/导出功能的测试思路312.3.6计算功能的测试思路312.3.7业务流程322.4测试用例342.4.1为什么需要测试用例342.4.2什么是测试用例342.4.3一个简单的测试用例352.4.4测试用例的元素352.5实践: 合同管理系统测试思路分析372.5.1新增合同功能测试思路分析372.5.2修改合同功能测试思路分析392.5.3作废合同功能测试思路分析392.5.4查询合同功能测试思路分析402.5.5业务流程梳理422.6本章小结43第3章功能测试443.1功能测试用例设计443.2等价类划分法453.2.1等价类划分法的定义453.2.2有效等价类和无效等价类453.2.3划分等价类的规则463.2.4等价类划分法实例分析473.3边界值分析法483.3.1如何确定边界值493.3.2边界值法实例分析493.4组合测试用例设计技术503.4.1全面测试503.4.2单因素覆盖513.4.3正交试验法533.4.4两两组合563.4.5具有约束关系的组合测试593.4.6种子组合测试623.5因果图法623.5.1因果图的基本符号623.5.2因果图法实例分析633.6决策表法673.6.1决策表的构成673.6.2决策表法实例分析673.7场景法693.7.1场景法703.7.2场景法实例分析703.8实践: 合同管理系统测试用例设计733.8.1测试方法选择的综合策略733.8.2创建合同用例设计743.8.3修改合同用例设计763.8.4作废合同用例设计783.8.5查询合同用例设计783.8.6审批合同用例设计803.9本章小结81第4章单元测试824.1单元测试用例设计824.2白盒测试834.2.1逻辑覆盖法834.2.2基本路径测试法874.3单元测试框架924.3.1JUnit介绍924.3.2用JUnit进行单元测试974.4任务: ToDoList单元测试用例设计及运行1274.4.1创建待办事项单元测试1294.4.2标记待办事项完成单元测试1314.4.3列表查询单元测试1344.5本章小结137第二篇技术篇第5章接口测试1415.1接口测试的价值与体系1415.2接口测试的定义1425.3HTTP协议解析1425.3.1URL1425.3.2请求报文1435.3.3响应报文1435.3.4保持连接状态1445.4接口测试工具Postman1445.4.1安装Postman工具1445.4.2创建完整请求1445.5实践: 合同管理系统项目进行接口测试1465.5.1被测接口介绍1465.5.2保持接口的登录状态1465.5.3执行接口测试1485.6本章小结149第6章Python接口自动化测试1506.1接口自动化测试介绍1506.1.1为什么要做接口自动化测试1506.1.2接口自动化测试工具1506.2Requests库介绍1506.2.1Requests库入门1506.2.2GET方法1516.2.3POST方法1516.2.4Requests主要方法解析1546.3利用Pytest进行测试管理1556.3.1认识Pytest1556.3.2用例的识别与运行1566.3.3Pytest实现前后置1576.3.4参数化用例1596.3.5结合Allure生成测试报告1606.4实践: 合同管理系统接口自动化测试1636.4.1定义BaseAPI类,封装request1646.4.2实现业务接口的API Object1646.4.3构建API Object模式的测试实例1656.4.4结合Allure生成测试报告1676.5本章小结168第7章Web UI自动化测试1697.1Selenium介绍1697.1.1安装Selenium1707.1.2第一个Selenium Python脚本1707.1.3WebDriver原理1727.1.4控件的识别与定位1727.2Selenium WebDriver1737.2.1Selenium WebDriver的常用方法1737.2.2WebDriver的功能1737.2.3示例: 登录合同管理系统1747.2.4正则匹配示例摘取合同编号1747.3WebElement接口1757.3.1WebElement功能1757.3.2WebElement方法1757.3.3示例: 作废合同1767.4自动化测试模型介绍1777.4.1线性测试1777.4.2模块化与类库1787.4.3数据驱动1797.4.4关键字驱动1797.5UI自动化测试框架(PageObject模式)1807.5.1认识PageObject1807.5.2BasePage对象1817.5.3实现PageObject1817.5.4构建PageObject模式测试实例1837.6本章小结184第8章性能测试1858.1性能测试概述1858.1.1为什么要进行性能测试1858.1.2性能定义1888.1.3性能测试分层模型1888.1.4性能测试术语和指标1898.1.5性能测试的流程1908.2性能测试工具JMeter1918.2.1概述1918.2.2作用1928.2.3环境搭建1928.2.4基本组件1938.2.5脚本增强参数化2058.2.6脚本增强关联2078.2.7脚本增强逻辑控制2118.2.8脚本增强保存数据2128.2.9脚本增强集合点2158.2.10脚本增强事务2178.2.11函数助手2178.2.12JMeter插件安装2218.2.13命令行执行脚本2228.3结合Jenkins工具持续集成2228.4实践: 合同管理系统性能测试2238.4.1通过代理录制脚本2238.4.2手动添加请求2308.4.3运行测试场景2338.5本章小结238第三篇扩展篇第9章移动App非功能测试2419.1移动App启动时间测试2419.1.1用户体验角度的App启动时间2419.1.2常见的App启动时间测试方法2419.1.3使用adb获得App启动时间示例2429.2移动App流量测试2439.2.1App流量测试场景2439.2.2App流量测试示例2439.3移动App CPU测试2439.3.1App的CPU测试场景2449.3.2App的CPU占用率测试示例2449.4移动App电量测试2459.5本章小结245第10章渗透性测试24610.1Web应用安全基础24610.2SQL注入漏洞24710.2.1SQL注入原理24710.2.2SQL注入的后果24810.2.3SQL注入漏洞攻击流程24910.2.4注入点类型24910.2.5SQL注入的防范措施25110.3XSS跨站脚本漏洞25210.3.1XSS原理解析25210.3.2XSS类型25310.3.3查找XSS漏洞的过程25610.3.4XSS防御25610.4CSRF25710.4.1CSRF攻击原理25710.4.2CSRF攻击场景25810.4.3查找CSRF漏洞26010.4.4预防CSRF26110.5文件上传漏洞26110.5.1文件上传漏洞利用场景26110.5.2文件上传漏洞的测试流程26410.5.3文件上传防御26410.6本章小结264参考文献265附录A阿尔法编程使用说明266
平台介绍|荣誉资质|联系我们|出版社登陆