当前位置:首页 > 工业技术
Java测试新技术TestNG和高级概念
Java测试新技术TestNG和高级概念

Java测试新技术TestNG和高级概念PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:伯斯特(Beist,C.),苏雷曼(Suleiman,H.)著,王海鹏译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111245506
  • 页数:324 页
图书介绍:本书介绍了Java测试的新技术。
《Java测试新技术TestNG和高级概念》目录

第1章 起步 1

1.1超越JUnit 3 2

1.1.1有状态的类 2

1.1.2参数 3

1.1.3基类 3

1.1.4异常并非偶然 3

1.1.5执行测试 4

1.1.6真实世界中的测试 4

1.1.7配置方法 4

1.1.8依赖关系 5

1.1.9领悟 5

1.2 JUnit 4 5

1.3针对可测试性而设计 6

1.3.1面向对象编程和封装 6

1.3.2设计模式革命 7

1.3.3确定问题 7

1.3.4推荐阅读 11

1.4 TestNG 12

1.4.1 annotation 12

1.4.2测试、套件和配置annotation 13

1.4.3分组 14

1.4.4 testng.xml 15

1.5本章小结 15

第2章 测试设计模式 16

2.1针对失败而测试 16

2.1.1报告错误 16

2.1.2运行时刻异常和被检查的异常 17

2.1.3测试代码是否漂亮地处理了失败 18

2.1.4何时不要使用expected-Exceptions 21

2.1.5 testng-failed.xml 22

2.2工厂 24

2.2.1 ?Factory 24

2.2.2 org.testng.ITest 27

2.3数据驱动测试 27

2.3.1参数和测试方法 29

2.3.2利用testng.xml传递参数 31

2.3.3利用?DataProvider传递参数 32

2.3.4针对数据提供者的参数 35

2.3.5 Method参数 35

2.3.6ITestContext参数 36

2.3.7延迟数据提供者 38

2.3.8两种方法的优点和不足 41

2.3.9提供数据 42

2.3.10数据提供者还是工厂 43

2.3.11综合运用 43

2.4异步测试 46

2.5测试多线程代码 49

2.5.1并发测试 50

2.5.2 threadPoolSize、invocationCount和timeOut 52

2.5.3并发执行 54

2.5.4打开并行位 57

2.6性能测试 58

2.6.1算法复杂度 58

2.6.2测试复杂度 60

2.7模拟和桩 62

2.7.1模拟与桩的对比 63

2.7.2为可模拟性而设计 66

2.7.3模拟库 67

2.7.4选择正确的策略 69

2.7.5模拟易犯的错误 70

2.8依赖的测试 71

2.8.1依赖的代码 72

2.8.2利用TestNG进行依赖的测试 73

2.8.3决定依赖于组还是方法 74

2.8.4依赖的测试和线程 76

2.8.5配置方法的失败 77

2.9继承和annotation范围 78

2.9.1问题 78

2.9.2继承易犯的错误 80

2.10测试分组 82

2.10.1语法 83

2.10.2分组与运行时刻 84

2.10.3执行分组 87

2.10.4有效使用分组 87

2.11代码覆盖率 91

2.11.1覆盖率示例 92

2.11.2覆盖率度量指标 93

2.11.3覆盖率工具 94

2.11.4实现 101

2.11.5小心 102

2.11.6成功使用覆盖率的建议 102

2.12本章小结 104

第3章 企业级测试 105

3.1典型企业级场景 105

3.1.1参与者 106

3.1.2测试方法学 106

3.1.3当前方法的问题 107

3.2一个具体例子 108

3.2.1测试内容 109

3.2.2非测试内容 109

3.3测试实现 110

3.3.1测试成功场景 110

3.3.2构建测试数据 112

3.3.3测试准备问题 114

3.3.4错误处理 118

3.3.5逐渐出现的单元测试 120

3.3.6处理容器内的组件 122

3.3.7综述 123

3.4探讨竞争消费者模式 125

3.4.1模式 125

3.4.2测试 126

3.5重构的作用 128

3.5.1一个具体的例子 129

3.5.2容器内的方式 133

3.6本章小结 134

第4章 Java EE测试 135

4.1容器内测试与容器外测试的对比 136

4.2容器内测试 137

4.2.1创建测试环境 137

4.2.2确定测试 137

4.2.3注册测试 139

4.2.4注册结果监听者 140

4.3 Java命名和目录接口(JNDI) 142

4.3.1理解JNDI的自举过程 142

4.3.2 Spring的SimpleNamingContext-Builder 143

4.3.3避免JNDI 144

4.4 Java数据库连接(JDBC) 144

4.4.1 c3p0 146

4.4.2 Commons DBCP 146

4.4.3 Spring 146

4.5 Java事务API (JTA) 147

4.5.1 Java Open Transaction Manager(JOTM) 149

4.5.2 Atornikos TransactionEssentials 149

4.6 Java消息服务(JMS) 150

4.6.1创建发送者/接收者测试 150

4.6.2在测试中使用ActiveMQ 152

4.7 Java持久API(JPA) 155

4.7.1配置数据库 156

4.7.2配置JPA提供者 157

4.7.3编写测试 158

4.7.4模拟一个容器 159

4.7.5将Spring作为容器 160

4.8 Enterprise JavaBeans 3.0(EJB3) 163

4.8.1消息驱动Bean 164

4.8.2会话Bean 165

4.8.3另一个Spring容器 168

4.8.4全功能容器的不足之处 169

4.9 Java API for XML Web Services(JAX-WS) 170

4.9.1记录请求 171

4.9.2准备测试环境 172

4.9.3创建服务测试 174

4.9.4 XPath测试 175

4.9.5测试远程服务 176

4.10 servlet 177

4.10.1容器内测试 177

4.10.2模拟对象/桩对象 177

4.10.3重构 178

4.10.4嵌入的容器 178

4.10.5内存中调用 180

4.11 XML 182

4.11.1使用dom4j 183

4.11.2使用XMLUnit 183

4.12本章小结 184

第5章 集成 186

5.1 Spring 186

5.1.1 Spring的测试包功能 187

5.1.2测试类层次结构 188

5.2 Guice 193

5.2.1 Spring的问题 194

5.2.2认识Guice 195

5.2.3一个典型的依赖场景 195

5.2.4对象工厂 197

5.2.5 Guice配置 198

5.2.6基于Guice的测试 201

5.2.7对测试依赖进行分组 202

5.2.8注入配置 203

5.3 DbUnit 205

5.3.1配置 205

5.3.2用法 206

5.3.3验证结果 208

5.4 HtmlUnit 211

5.4.1配置 212

5.4.2用法 213

5.5 Selenium 216

5.6 Swing UI测试 217

5.6.1测试方法 217

5.6.2配置 218

5.6.3用法 219

5.7针对画图代码的测试 221

5.8持续集成 223

5.8.1为何要持续集成 223

5.8.2 CI服务器的功能 224

5.8.3 TestNG集成 224

5.9本章小结 225

第6章 扩展TestNG 226

6.1 TestNG API 226

6.1.1 org.testng.TestNG、ITestResult、TTestListener、ITestNGMethod 226

6.1.2一个具体的例子 228

6.1.3 XML API 230

6.1.4合成XML文件 232

6.2 BeanShell 233

6.2.1 BeanShell概述 233

6.2.2 TestNG与BeanShell 234

6.2.3交互式执行 236

6.3方法选择器 237

6.4 annotation转换器 241

6.4.1 annotation历史 241

6.4.2优点和不足 242

6.4.3使用TestNG annotation转换器 242

6.4.4 annotation转换器的可能用法 246

6.5报告 247

6.5.1默认报告 247

6.5.2报告API 251

6.5.3报告插件API 251

6.6编写自定义annotation 256

6.6.1实现 257

6.6.2测试 260

6.7本章小结 262

第7章 杂谈 263

7.1动机 263

7.2 TestNG哲学 263

7.3关注和提供异常 264

7.4有状态的测试 266

7.4.1不可修改的状态 267

7.4.2可修改的状态 267

7.5测试驱动开发的缺点 268

7.5.1 TDD注重微观设计超过宏观设计 268

7.5.2 TDD难以应用 269

7.5.3从测试驱动开发中汲取优点 270

7.6测试私有方法 270

7.7测试与封装 272

7.8调试器的威力 273

7.9记日志的最佳实践 274

7.10时间的价值 276

7.11本章小结 278

附录A IDE集成 279

附录B TestNG Javadocs 295

附录C testng.xml 302

附录D 从JUnit迁移 310

相关图书
作者其它书籍
返回顶部