软件测试工程师成长之路:掌握软件测试九大技术主题

软件测试工程师成长之路:掌握软件测试九大技术主题

王顺 等 编著  

ISBN 978-7-121-23996-0

2014年9月出版

定价:85.00元

432

16

内容提要

《软件测试工程师成长之路:掌握软件测试九大技术主题》以实际项目为原型、以关键理论与丰富实践为指导,贯彻了先进的项目管理理念与全程质量管理思想。

《软件测试工程师成长之路:掌握软件测试九大技术主题》前9 章为软件测试九大技术主题分享,是众多资深软件工程师在软件测试领域的经验总结、知识升华与提高,展现众多实际工作中典型的测试技巧和测试技术。《软件测试工程师成长之路:掌握软件测试九大技术主题》第10 章是引导读者自己动手实践,在实践中不断总结与提高。《软件测试工程师成长之路:掌握软件测试九大技术主题》第11 章、第12 章、第13 章讲解HTML、JavaScript、CSS,通过网页编程语言帮助读者理解为什么会出现这样的测试,为什么要选择这些特定的字符串进行测试。

《软件测试工程师成长之路:掌握软件测试九大技术主题》适用于已经学过软件测试基本理论,知道软件研发基本流程的读者,非常适合目前正在软件测试工程师岗位任职或将要进入软件测试工程师行列的人,同时适合软件开发工程师、软件项目管理师、软件系统架构师阅读。

目录

第1 章 Web 测试专题技术分享 ............. 1

1.1 Web 测试的特点 ............................ 1

1.2 Web 测试基础点 ............................ 2

1.2.1 获取软件版本号 ........................... 2

1.2.2 修改浏览器的代理设置 ................ 4

1.2.3 修改hosts 配置文件 ..................... 6

1.2.4 测试网上付费购物 ....................... 7

1.2.5 截图软件FS Capture 的使用 ........ 8

1.2.6 截图软件Jing 的使用 ................. 10

1.3 用户界面测试 .............................. 12

1.3.1 文字或图片重叠 ......................... 12

1.3.2 文字或图片剪裁 ......................... 13

1.3.3 文字或图片没对齐 ..................... 14

1.3.4 重复菜单项或链接 ..................... 15

1.3.5 提示信息错误 ............................. 15

1.3.6 界面测试其他问题 ..................... 16

1.4 功能测试 ..................................... 18

1.4.1 Tooltip 不显示 ............................ 18

1.4.2 JS 错误问题 ................................ 19

1.4.3 页面链接错误 ............................. 20

1.4.4 页面访问资源不可用 .................. 21

1.4.5 出现“404 页面错误” ............... 22

1.4.6 按钮不工作 ................................. 23

1.4.7 功能未实现 ................................. 24

1.4.8 错误信息提示不合理 .................. 25

1.4.9 数据库访问错误 ......................... 26

1.4.10 文档无法下载 ........................... 27

1.5 表单测试 ..................................... 28

1.5.1 文本框测试常见验证点 .............. 28

1.5.2 特殊输入域测试常见验证点 ...... 29

1.5.3 单选按钮测试常见验证点 .......... 31

1.5.4 复选框测试常见验证点 .............. 32

1.5.5 大块文字区域测试常见验证点 ... 32

1.5.6 下拉列表框测试常见验证点 ...... 33

1.5.7 排序测试常见验证点 ................. 33

1.5.8 分页测试常见验证点 ................. 33

1.5.9 搜索框填充域测试常见验证点 ............................................ 34

1.5.10 用户登录测试常见验证点 ........ 35

1.5.11 特殊字符处理常见验证点 ........ 35

1.5.12 转义字符处理常见验证点 ........ 37

1.5.13 多次快速提交问题 ................... 37

1.5.14 共用页面Session 问题 ............. 37

1.5.15 页面刷新问题 ........................... 38

1.5.16 浏览器前进/后退按钮问题 ....... 38

第2 章 Client 测试专题技术分享 ....... 39

2.1 Client 测试的特点 ....................... 39

2.2 如何进行Client 测试 .................. 40

2.2.1 安装测试 .................................... 40

2.2.2 卸载测试 .................................... 42

2.2.3 UI 测试 ....................................... 43

2.2.4 功能测试 .................................... 45

2.2.5 字符输入测试 ............................. 47

2.2.6 Tooltip 测试 ................................ 48

2.2.7 链接测试 .................................... 49

2.2.8 操作按钮测试 ............................. 50

2.2.9 菜单测试 .................................... 51

2.2.10 音频测试 .................................. 51

2.2.11 视频测试 .................................. 53

2.2.12 程序运行权限测试 ................... 54

2.3 如何获取测试需要的Trace ......... 55

第3 章 Mobile 测试专题技术分享 ...... 57

3.1 Mobile 特点 ................................. 57

3.2 Mobile 测试基础 ......................... 58

3.2.1 手机测试常见类型 ..................... 58

3.2.2 手机测试与传统测试的区别 ...... 59

3.2.3 监控手机流量 ............................. 60

3.2.4 获取手机的Root 权限 ................ 60

3.3 实现手机与计算机的联系 .......... 61

3.3.1 “豌豆荚”的基本操作 .............. 62

3.3.2 “360 手机助手”的基本操作 .... 62

3.3.3 “腾讯手机管家”的基本操作 ... 63

3.3.4 实现iPhone/iPad/iPad Mini 与计算机的联系 ............................. 63

3.3.5 备份手机中的数据 ..................... 64

3.3.6 截取手机屏幕内容 ..................... 65

3.3.7 记录手机的Error Log ................. 66

3.3.8 手机数据信息 ............................. 68

3.4 手机设备的自身测试 .................. 68

3.5 手机应用软件测试 ...................... 72

3.6 手机Web 应用测试 ..................... 73

3.7 手机测试问题集锦 ...................... 73

第4 章 国际化、本地化软件测试专题技术分享 ........................ 77

4.1 软件国际化 ................................. 77

4.1.1 国际化概述 ................................. 78

4.1.2 软件国际化误区 ......................... 78

4.2 软件本地化 .................................. 80

4.2.1 软件本地化概述 ......................... 80

4.2.2 软件本地化误区 ......................... 81

4.3 国际化软件测试 .......................... 82

4.3.1 在本地化机器上安装使用程序 .. 82

4.3.2 正确的字符集编码 ..................... 83

4.3.3 伪本地化测试发现文本扩展问题 ............................................ 85

4.3.4 测试区域文化和传统特征 .......... 87

4.3.5 保证文本与代码分离 ................. 87

4.4 本地化软件测试 .......................... 89

4.4.1 翻译问题 .................................... 89

4.4.2 数据格式问题 ............................. 90

4.4.3 快捷键问题 ................................ 91

4.4.4 本地化后的排序问题 ................. 92

4.4.5 常用本地化测试技巧 ................. 93

第5 章 跨平台跨浏览器专题技术分享 ............................... 95

5.1 跨平台测试特点 .......................... 96

5.2 软件平台的分类 .......................... 96

5.2.1 Windows 平台 ............................. 97

5.2.2 Mac OS X 平台 ........................... 97

5.2.3 Linux 平台 .................................. 98

5.2.4 Solaris 平台 ................................ 98

5.2.5 HP-UX 平台 ............................... 98

5.2.6 IBM-AIX 平台 ............................ 98

5.3 跨平台测试需要具备的知识 ....... 99

5.3.1 Windows 平台 ............................. 99

5.3.2 Mac OS X 平台 ......................... 103

5.3.3 UNIX 平台 ................................ 107

5.4 跨平台测试技术分享 ................. 111

5.4.1 安装应用程序 ........................... 112

5.4.2 应用程序运行 ........................... 114

5.4.3 程序运行界面测试 ................... 115

5.4.4 程序功能测试 ........................... 116

5.5 浏览器的分类 ........................... 118

5.5.1 IE .............................................. 118

5.5.2 Firefox ...................................... 119

5.5.3 Chrome ..................................... 119

5.5.4 Safari ........................................ 120

5.6 跨浏览器测试技术分享 ............ 120

第6 章 Web 安全测试专题技术分享 ............................. 123

6.1 Web 安全测试 ........................... 123

6.1.1 Web 前端工具Firebug 的使用 .. 124

6.1.2 Web 前端工具Fiddler 的使用 ... 125

6.1.3 2010 年Web 应用十大安全攻击 .......................................... 127

6.1.4 2010 年与2007 年Web 应用十大安全攻击对比 .................... 129

6.2 未验证的重定向和转发 ............... 129

6.2.1 攻击说明 .................................. 129

6.2.2 攻击举例 .................................. 130

6.2.3 开发人员防范方法 ................... 131

6.3 传输层保护不足 ........................ 131

6.3.1 攻击说明 .................................. 131

6.3.2 攻击举例 .................................. 131

6.3.3 开发人员防范方法 ................... 131

6.4 URL 访问控制不当 ................... 132

6.4.1 攻击说明 .................................. 132

6.4.2 攻击举例 .................................. 132

6.4.3 开发人员的防范方法 ............... 132

6.5 不安全的加密存储 .................... 133

6.5.1 攻击说明 .................................. 133

6.5.2 攻击举例 .................................. 133

6.5.3 开发人员防范方法 ................... 133

6.6 安全配置错误 ............................ 134

6.6.1 攻击说明 .................................. 134

6.6.2 攻击举例 .................................. 134

6.6.3 开发人员防范方法 ................... 134

6.7 CSRF ......................................... 135

6.7.1 攻击说明 .................................. 135

6.7.2 攻击举例 .................................. 135

6.7.3 开发人员防范方法 ................... 136

6.8 不安全的直接对象引用 ............. 136

6.8.1 攻击说明 .................................. 136

6.8.2 攻击举例 .................................. 137

6.8.3 开发人员防范方法 ................... 137

6.9 失效的身份认证和会话管理 ..... 137

6.9.1 攻击说明 .................................. 137

6.9.2 攻击举例 .................................. 137

6.9.3 开发人员防范方法 ................... 138

6.10 跨站脚本 ................................. 138

6.10.1 攻击说明 ................................. 138

6.10.2 攻击举例 ................................. 139

6.10.3 开发人员防范方法 .................. 140

6.11 SQL 注入 ................................. 141

6.11.1 攻击说明 ................................. 141

6.11.2 攻击举例 ................................. 141

6.11.3 开发人员防范方法 .................. 143

6.12 OWASP.................................... 143

6.12.1 OWASP 定义 ........................... 143

6.12.2 OWASP 上最新的Web 安全攻击与防范技术 ...................... 143

6.12.3 WiKi 上最新的Web 安全攻击与防范技术 ...................... 145

第7 章 敏捷项目测试专题技术分享 . 146

7.1 敏捷软件开发简介 .................... 147

7.1.1 敏捷开发的流程 ....................... 147

7.1.2 敏捷开发的质量管理 ................ 148

7.1.3 敏捷开发中的关键概念 ............ 149

7.2 敏捷测试的定义 ....................... 152

7.3 敏捷测试的实质 ....................... 152

7.4 敏捷测试与普通测试的区别 .... 153

7.5 敏捷项目测试实例介绍 ............ 154

7.5.1 实例项目介绍 ........................... 154

7.5.2 用户故事设计和发布计划阶段 .......................................... 156

7.5.3 Sprint 阶段 ............................... 158

7.5.4 Sprint 结束和下一个Sprint开始 .......................................... 162

第8 章 软件自动化测试专题技术分享 ............................. 165

8.1 引入自动化测试 ........................ 165

8.2 什么是自动化测试 .................... 171

8.2.1 自动化测试是怎样工作的 ........ 172

8.2.2 自动化测试有哪些类别 ............ 174

8.2.3 设计一个常见的自动化测试框架 ................................... 175

8.3 持续集成自动化测试 ................ 177

8.4 自动化测试工具——JMeter ...... 178

8.4.1 JMeter 是什么 ........................... 178

8.4.2 JMeter 的安装和运行 ............... 178

8.4.3 JMeter 自动化脚本设计策略 .... 181

8.4.4 抓取一个简单的请求 ............... 182

8.4.5 设置配置文件 ........................... 186

8.5 设计一个简单的脚本 ................ 196

8.5.1 添加学生——HTTP Request ..... 196

8.5.2 查看运行结果——View Results Tree ...................... 200

8.5.3 访问数据库——JDBC Request ........................... 202

8.5.4 验证测试结果——Response Assertion .................... 204

8.5.5 清理数据 .................................. 206

第9 章 压力与性能测试专题技术分享 ............................. 209

9.1 什么是压力、性能测试 ............ 209

9.2 压力测试和性能测试用例设计 ........................................... 211

9.3 压力测试和性能测试——JMeter ........................................ 214

9.3.1 单线程添加多个学生 ................ 215

9.3.2 多线程添加多个学生 ................ 221

9.4 生成测试报告 ........................... 225

9.4.1 生成测试报告的方法 ................ 225

9.4.2 分析测试报告 ........................... 226

第10 章 自己动手完成软件测试实践 ................................. 232

10.1 中心在线网站测试实践 .......... 232

10.2 国内知名网站或应用测试实践 ......................................... 234

10.3 如何设计测试案例 .................. 235

10.3.1 看清项目测试范围(Test Scope) .......................... 236

10.3.2 编写测试案例 ......................... 237

10.4 准确汇报BUG 的技巧 ............ 243

10.4.1 准确汇报BUG 的几条基本准则 ........................................ 243

10.4.2 描述BUG 中需要注意的事项 ........................................ 244

10.4.3 在汇报英文BUG 时用专业英文描述 ................................. 244

10.4.4 与外国人进行项目交流时的常用英语 ................................. 246

10.5 寻找软件产品缺陷获奖作品欣赏 ........................................ 248

10.5.1 全国大学生寻找产品缺陷(Find BUG)技能大赛说明 .... 248

10.5.2 汇报产品缺陷模板 ................. 250

10.5.3 参赛选手提交的作品内容 ...... 250

10.5.4 大赛组委会审阅评价 .............. 260

第11 章 网页编程语言HTML .......... 261

11.1 HTML 编辑工具 ...................... 262

11.2 读者如何参与实践 .................. 263

11.3 HTML 语法教学 ...................... 265

11.3.1 网页架构标记 ......................... 265

11.3.2 排版标记 ................................ 268

11.3.3 字体标记 ................................ 271

11.3.4 清单标记 ................................ 274

11.3.5 表格标记 ................................ 277

11.3.6 图形标记 ................................ 281

11.3.7 表单标记 ................................ 284

11.3.8 链接标记 ................................ 290

11.3.9 框架标记 ................................ 291

11.3.10 多媒体标记 ........................... 294

11.3.11 跑马灯标记 ........................... 296

11.3.12 特殊字符 ............................... 297

第12 章 JavaScript ........................ 299

12.1 JavaScript 的特点及作用 ........ 300

12.1.1 JavaScript 是被嵌入到HTML中的 ........................................ 300

12.1.2 JavaScript 运行的环境 ............ 301

12.1.3 JavaScript 是解释执行的 ........ 301

12.1.4 JavaScript 是一种弱类型语言 ........................................ 302

12.1.5 JavaScript 以对象为基础 ........ 302

12.1.6 JavaScript 通过事件驱动执行 ........................................ 302

12.1.7 JavaScript 的作用是多方面的 ........................................ 303

12.1.8 JavaScript 是不断发展和广泛应用的 ............................. 303

12.2 JavaScript 的基本语法 ............ 303

12.2.1 基本数据结构 ......................... 303

12.2.2 运算符和表达式 ..................... 306

12.2.3 控制结构和循环 ..................... 309

12.3 window 对象 ........................... 314

12.3.1 window 窗口对象的属性 ........ 314

12.3.2 window 窗口对象的方法 ........ 316

12.4 document 对象 ......................... 320

12.4.1 document 对象的属性 ............. 321

12.4.2 document 对象的write()和writeIn()方法 ........................... 323

12.4.3 document 对象的close()方法 ........................................ 323

12.4.4 document 对象的getSelection()方法 .................. 323

12.5 文本对象 ................................. 324

12.5.1 文本对象的defaultValue属性 ........................................ 324

12.5.2 文本对象的name 属性 ........... 326

12.5.3 文本对象的value 属性 ........... 326

12.5.4 文本对象的focus()方法 ......... 326

12.5.5 文本对象的select()方法 ......... 327

12.6 按钮对象 ................................. 329

12.6.1 button、submit、reset 对象 .... 329

12.6.2 checkbox 对象 ........................ 330

12.6.3 radio 对象 ............................... 330

12.7 location 对象 ............................ 332

12.7.1 hash 属性 ................................ 332

12.7.2 href 属性 ................................. 333

12.7.3 pathname 属性 ........................ 334

12.7.4 protocol 属性 .......................... 334

12.8 history 对象 ............................. 335

12.9 字符串对象 .............................. 335

12.9.1 转义字符 ................................ 335

12.9.2 字符串对象的属性 ................. 336

12.9.3 字符串对象的“+”连接方法 ........................................ 337

12.9.4 字符串对象charAt 方法 ......... 337

12.9.5 字符串对象indexOf 方法 ....... 338

12.9.6 字符串对象lastIndexOf方法 ........................................ 338

12.9.7 字符串对象substring .............. 339

12.9.8 字符串对象toLowerCase方法 ........................................ 339

12.9.9 字符串对象toUpperCase方法 ........................................ 340

12.10 日期对象 ............................... 340

12.10.1 日期对象的属性 ................... 340

12.10.2 new 方法 ............................... 340

12.10.3 getYear()方法 ........................ 341

12.10.4 getMonth()方法 ..................... 342

12.10.5 getDate()方法 ........................ 342

12.10.6 getDay()方法 ......................... 343

12.10.7 getTime()方法 ....................... 344

12.10.8 setTime()方法 ........................ 344

12.10.9 setYear()方法 ........................ 345

12.10.10 getTimezoneOffset()方法 ..... 345

12.10.11 toGMTString()方法 ............. 346

12.10.12 toLocaleString()方法 ........... 347

12.11 数学对象 ............................... 347

12.11.1 Math 对象的属性 .................. 347

12.11.2 Math 对象的abs 方法 ........... 348

12.11.3 Math 对象的acos 方法 .......... 349

12.11.4 Math 对象的max 方法 .......... 350

12.11.5 Math 对象的round/floor/ceil方法 ....................................... 350

12.11.6 Math 对象的random 方法 ..... 351

12.12 数组对象 ............................... 352

12.12.1 数组对象的创建 ................... 352

12.12.2 数组对象的扩充 ................... 353

第13 章 CSS 和XML ..................... 355

13.1 CSS .......................................... 356

13.1.1 什么是CSS .......................... 356

13.1.2 CSS 的历史 .......................... 357

13.1.3 使用CSS 的优点 .................. 357

13.1.4 CSS 样式解决了一个普遍的问题 ................................. 358

13.1.5 使用CSS 之前 ...................... 358

13.1.6 如何将样式表加入网页 ......... 359

13.1.7 CSS 的语法 .......................... 361

13.2 XML ........................................ 369

13.2.1 XML 简介 ............................ 369

13.2.2 XML 的历史 ......................... 369

13.2.3 XML 的作用 ........................ 370

13.2.4 XML 与HTML 的主要差异 .................................... 372

13.2.5 一个XML 文档实例 ............. 372

13.2.6 XML 文档形成一种树结构 ... 373

13.2.7 XML 的语法规则 ................. 374

附录A 大学学籍管理系统安装配制说明书 ................................ 376

附录B 大学学籍管理系统 ............... 394

附录C 软件测试中常见的中英文对照 .................................... 407

参考文献 .......................................... 412

前言

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzddsp.html