
章节新颖合理 本书讲述了与Python语言相关的测试,包括单元测试unittest,web自动化测试selenium和移动app自动化测试。具体章节包括软件测试基础、自动测试技术、python测试框架、Python与unittest单元测试、python与DDT数据驱动测试、python与 selenium 网络测试、Android UI测试、Python与Appium移动测试等相关内容。
明确定位面向初、中级读者,由“入门”起步,侧重“提高”。特别适合作为高等院校相关专业Python测试的教材或教学参考书,也可以供从事计算机应用开发的各类技术人员应用参考和培训资料。
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,外挂各种库,在大数据、数据分析、科学计算等方面功能卓越。本书讲述了与Python语言相关的测试技术,包括单元测试unittest、网络测试Selenium和移动测试Appium。具体章节包括软件测试基础、自动测试技术、Python与软件测试、Python与unittest单元测试、Python与Selenium网络测试、Python与DDT数据驱动测试、Python与UIAutomator测试、Python与Appium移动测试等相关内容。附录介绍了前端测试、Jest和Monkey等相关知识。
本书采用Python 3版本,所有程序都在PyCharm、Anaconda中进行调试和运行。
本书内容精练,文字简洁,结构合理,实训题目经典实用,综合性强,特别适合作为高等院校Python语言测试的教材或教学参考书,也可以供从事计算机应用开发的各类技术人员应用参考。
西安邮电大学的孟伟君、焦继业、邓万宇、孔韦韦、包志强等阅读部分手稿。西安睿博智能股份有限公司的周鑫、西安玺奥信息安全技术有限公司的谭小琴、清华大学出版社张玥编辑对本教材的写作大纲、写作风格等提出了很多宝贵的意见。软件工程专业18级学生卓越调试了部分代码。衷心感谢上述各位的支持和帮助。本书写作时参阅了大量中英文专著、教材、论文、报告及网上的资料,由于篇幅所限,未能一一列出,在此一并向相关作者表示敬意和衷心的感谢。
由于作者水平有限,时间紧迫,本书难免有疏漏之处,恳请广大读者批评指正。
编者2019年9月
第1章软件测试基础1
1.1软件测试概述1
1.2软件测试历程1
1.3软件测试分类2
1.4白盒测试3
1.4.1概述3
1.4.2逻辑覆盖法4
1.4.3路径分析法6
1.5黑盒测试8
1.5.1概述8
1.5.2等价类划分法8
1.5.3边界值分析法10
1.5.4决策表12
1.5.5因果图14
1.6习题16第2章自动测试技术18
2.1概述18
2.1.1手工测试的局限性18
2.1.2分层自动化测试18
2.1.3自动化测试与手测试19
2.2自动化测试的分类19
2.2.1界面测试20
2.2.2单元测试20
2.2.3安全测试20
2.2.4数据库测试20
2.2.5负载测试21
2.2.6压力测试21
2.2.7可靠性测试22
2.3测试成熟度模型23
2.3.1初始级23
2.3.2定义级23
2.3.3集成级24
2.3.4管理和测量级25
2.3.5优化,预防缺陷和质量控制级26
2.4自动化测试原理28
2.4.1代码分析28
2.4.2录制回放28
2.4.3脚本技术29
2.4.4虚拟用户技术29
2.5自动化测试模型30
2.5.1线性测试30
2.5.2模块化测试30
2.5.3共享测试30
2.5.4数据驱动测试31
2.5.5关键字驱动测试31
2.6测试工具31
2.6.1静态测试工具31
2.6.2动态测试工具32
2.7习题32第3章Python与软件测试33
3.1Python简介33
3.1.1Python的历史33
3.1.2Python的特点33
3.1.3Python的应用场合34
3.2Python解释器36
3.2.1在Ubuntu下安装Python36
3.2.2在Windows下安装Python37
3.3Python编辑器38
3.3.1IDLE38
3.3.2PyCharm38
3.3.3Anaconda40
3.4Python测试框架46
3.4.1unittest46
3.4.2Pywinauto46
3.4.3Selenium48
3.4.4Pylot48
3.4.5Appium50
3.4.6Pytest51
3.5习题53第4章Python与unittest单元测试54
4.1unittest54
4.1.1unittest简介54
4.1.2unittest的工作原理54
4.2注解55
4.2.1注解简介55
4.2.2注解举例55
4.3测试类和测试方法56
4.3.1Assert57
4.3.2TestCase59
4.3.3TestSuite61
4.4两种输出方式62
4.4.1TextTestRunner62
4.4.2HTMLTestRunner62
4.5unittest与爬虫64
4.5.1Python爬虫库64
4.5.2举例67
4.6ConfigParser68
4.6.1ConfigParser简介68
4.6.2ConfigParser常用方法69
4.7logging72
4.7.1logging简介72
4.7.2logging常用方法72
4.7.3JSON配置logging模块75
4.7.4YAML配置logging模块77
4.8traceback79
4.8.1traceback简介79
4.8.2traceback举例79
4.9习题81第5章Python与Selenium网络测试82
5.1Selenium简介82
5.2Selenium IDE84
5.2.1环境搭建84
5.2.2录制85
5.2.3回放86
5.3Selenium WebDriver88
5.3.1环境搭建88
5.3.2浏览器连接89
5.3.3模拟用户操作91
5.4定位页面元素93
5.4.1id定位94
5.4.2name定位94
5.4.3tagName定位94
5.4.4className定位95
5.4.5linkText定位95
5.4.6partialLinkText定位96
5.4.7XPath定位96
5.4.8cssSelector定位96
5.5定位表格97
5.5.1定位表格的全部单元格97
5.5.2定位表格的某个单元格98
5.5.3定位表格的子元素99
5.6定位网页100
5.6.1静态网页100
5.6.2动态网页102
5.7unittest与Selenium104
5.7.1简介104
5.7.2举例104
5.8习题105第6章Python与DDT数据驱动测试106
6.1DDT106
6.1.1DDT简介106
6.1.2DDT装饰符107
6.2DDT文件107
6.2.1读取单个数据107
6.2.2读取列表和元组108
6.2.3读取字典110
6.2.4读取JSON文件110
6.2.5读取YAML文件111
6.3unittest+DDT112
6.3.1简介112
6.3.2举例114
6.4Excel+DDT115
6.4.1xlrd库和xlwt库115
6.4.2举例118
6.5MySQL+DDT121
6.5.1安装MySQL121
6.5.2PyMySQL操作数据库124
6.5.3举例126
6.6习题131第7章Python与UIAutomator测试132
7.1App测试132
7.1.1简介132
7.1.2Android UI测试框架133
7.1.3Web测试与App测试关系134
7.2两种开发环境134
7.2.1Eclipse环境135
7.2.2Android Studio 135
7.3Android SDK138
7.3.1安装ADT138
7.3.2SDK的安装和配置142
7.3.3SDK Manager143
7.3.4Android模拟器145
7.4ADB148
7.4.1简介148
7.4.2ADB常用命令149
7.4.3举例150
7.5Python+UIAutomator152
7.5.1简介152
7.5.2API153
7.6UIAutomatorViewer155
7.6.1简介155
7.6.2操作步骤155
7.7习题156第8章Python与Appium移动测试157
8.1Appium157
8.1.1简介157
8.1.2特点157
8.2搭建Appium环境158
8.3Appium的工作原理160
8.4计算器举例161
8.5Appium与全国大学生软件测试大赛161
8.5.1赛事简介161
8.5.2慕测环境配置162
8.5.3参赛流程162
8.5.4竞赛题目165
8.6习题173附录A前端测试174
A.1简介174
A.1.1界面样式测试174
A.1.2功能测试174
A.1.3性能测试175附录BJest176
B.1简介176
B.2断言176
B.3测试覆盖率180附录CMonkey182
C.1简介182
C.2操作步骤182参考文献185
本书讲述了与Python语言有关的三大测试——单元测试,Web测试和App测试。具体章节包括软件测试基础、自动测试技术、python与软件测试、Python与unittest单元测试、python与DDT数据驱动测试、python与 selenium 网络测试、Python与UiAutomator移动测试、Python与Appium移动测试等相关内容。附录介绍了前端测试、Jest和Monkey等相关知识。内容精炼,由浅入深,详见讲解Python语言的测试技术,适合软件工程或学习Python语言进行测试的读者使用,也适合等级考试人员使用。
主持 《“Visual Basic程序设计”》课程建设,参与国家自然科学基金“基于多阶段可用性的Web 服务组合管理关键技术研究”、主要完成软件成本评估,采用灰色模型等算法进行软件成本的评估.