J2EE企业级应用测试实践

J2EE企业级应用测试实践"

作者:白胜普
ISBN:9787302191568
定价:¥56
字数:千字
页数:
出版时间:2009.01.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书是日本IBM公司具有5年软件开发测试经验的资深专业人士为Java企业级软件测试工程师量身定制的提升实践技能的专业图书。

书中重点介绍软件开发、测试方法及过程,使用的配置环境是Windows操作系统平台和第三方开源软件或者插件,先后介绍了J2EE技术、开发工具及服务器(Eclipse/Jboss/Tomcat)、项目构建及构建工具(Ant)、测试基础知识、单元测试工具或组件(JUnit/DbUnit/EasyMock/Cactus/StrutsTestCase)及使用,还介绍了集成测试工具(Rational Functional Tester)及使用。在介绍过程中,首先设计应用开发模型、测试模型和构建模型,随后结合应用实例展示了应用开发、测试及构建。在大部分情况下,本书使用第三方开源软件作为应用软件开发和测试工具,不仅让读者掌握J2EE企业级应用开发、测试和构建,而且掌握Java开源软件的使用。全书内容由浅入深,循序渐进,针对相同的应用需求进行了不同应用开发、测试和构建实现。

随书光盘中含有本书所有应用实例的开发源码和测试脚本。

本书面向软件初级开发人员和初级测试人员;也可作为软件开发和软件测试职业培训教材使用;对于软件高级开发工程师和测试工程师,也具有一定参考价值。

前言

前    言

当今,软件技术的发展非常快速,尤其近些年,各种新兴的编程技术、开发方法、软件工具等不断涌现。随之产生的Java技术以及J2EE技术在企业级应用项目开发中逐步占据了重要地位。与此同时,在职场上使用J2EE技术进行开发、测试的专业人员的需求也越来越大,特别是对既懂得开发、又懂得测试的专业人员的需求日益剧增。这本书正是为想成为集开发、测试技能于一身的测试构建专业人员的初学者、开发人员或测试人员编写的。

关于作者

笔者一直从事J2EE企业级应用项目的开发、测试及构建方面的工作,对于J2EE开发技术、测试技术以及构建技术深刻的理解,在这本书中通过实例体现无遗。希望读者通过对本书的学习,了解面向J2EE企业级应用的软件测试,增强软件测试技能,胜任软件测试工作。

本书内容

这是一本全面介绍J2EE企业级应用开发、测试的例学型书籍。为方便学习,使用的是Windows操作系统和第三方开源软件;先后介绍了J2EE技术、测试技术、项目构建、开发工具、测试工具以及它们的使用;针对J2EE企业级应用,设计了实用的应用开发模型、测试模型,以及开发和测试构建模型,并且通过实例展示了J2EE应用的开发、测试以及构建技术。根据讲述内容的特点,本书分为3篇:测试基础篇、测试工具篇和测试实践篇。

第一篇:测试基础篇

测试基础篇分为7章,每章内容如下:

第1章是J2EE企业级应用。首先介绍了企业级应用和J2EE企业级应用的概念,随后在Windows操作系统上使用第三方开源软件创建了J2EE应用开发环境和Web应用开发环境。最后在创建的开发环境里通过开发三个应用实例介绍应用开发过程。

第2章是Servlet、JSP和JDBC数据库访问技术。先分别介绍J2EE的三个重要技术:Servlet技术、JSP技术和JDBC数据库技术。随后介绍了MVC设计模式和将Servlet技术与JSP技术结合起来开发应用的模式:Model1和Model2开发模式,并且给出了使用这2个模式开发应用的实例。

第3章是EJB技术。首先介绍EJB技术基础,包括EJB组件、EJB容器、EJB开发环境的配置。随后通过一个简单的有状态会话EJB实例介绍在eclipse开发环境里EJB组件的开发。然后介绍如何把EJB技术和数据库技术结合起来开发应用。最后介绍将Model2开发模式和EJB技术结合进行应用开发的方法和实例。

第4章是Struts技术。首先介绍Struts实现MVC的机制,并结合一个简单实例说明Struts的工作流程。随后介绍了Struts国际化和标签。最后将Struts技术和EJB技术结合进行了应用实例开发,实例中还包括了一个自定义标签的开发。

第5章是项目构建。首先介绍了构建基础知识、构建工具Ant及其使用。随后介绍了软件项目构建的内容,包括数据库构建、开发构建、发布构建和构建自动化。最后结合应用实例介绍了软件项目构建技巧和构建自动化。

第6章是应用软件开发。首先介绍面向对象技术的基础知识和软件生命周期,随后分析前面应用实例中存在的问题,并给出这些问题相应的解决方案。最后实现了一个使用Struts + EJB开发模式的应用实例开发及构建。

第7章是软件测试。首先介绍了软件测试基础知识,包括软件测试概述、黑盒测试和白盒测试、软件测试的策略和软件测试度量方式。随后将软件生命周期中不同阶段的测试分为单元测试、集成测试、系统测试和验收测试,还介绍了不同平台上的软件测试。最后介绍了软件项目测试构建和软件测试自动化。

第二篇:测试工具篇

软件测试篇分为5章(第8~12章),各章内容如下:

第8章主要介绍了单元测试工具和组件:JUnit测试工具、DbUnit数据库测试组件和EasyMock测试工具。首先介绍了这些测试工具和组件的安装和配置、常用的接口、类以及用法,随后介绍了这些测试工具与构建工具Ant结合构建自动化测试。在介绍过程中,结合了相应的实例。

第9章主要介绍了单元测试工具Cactus。首先介绍了Cactus对Servlet组件、EJB组件、Filter过滤器、JSP组件以及标签的测试,随后介绍了Cactus与DbUnit结合进行与数据库相关的应用的单元测试,最后介绍了Cactus与Ant结合构建自动化测试。在介绍过程中,结合了相应的实例。

第10章主要介绍了Struts应用的单元测试工具StrutsTestCase。首先介绍了该工具的安装和配置、常用接口和类,以及该工具的两种测试方式:模拟测试方式和容器内测试方式;随后介绍了StrutsTestCase与DbUnit结合进行与数据库相关的应用的单元测试,还介绍了StrutsTestCase与Ant结合构建自动化测试;最后介绍了StrutsTestCase与EasyMock结合进行Action的模拟单元测试。

第11章主要介绍集成测试工具RFT(Rational Functional Tester)。首先介绍RFT测试基础,包括安装和配置、工具使用、测试流程等;随后通过实例介绍RFT测试中的专用测试对象映射、专用测试数据池、共享测试对象映射和共享测试数据池的使用,还通过对RFT测试脚本扩展实现了对国际化应用的测试;最后将RFT与DbUnit结合进行与数据库相关的应用的集成测试、构建RFT自动化集成测试。

第12章介绍一款系统测试工具JMeter。首先介绍JMeter测试基础知识。随后通过测试实例分别介绍JMeter测试,并对JMeter进行扩展以增强其测试功能,还介绍JMeter与DbUnit结合进行与数据库相关的应用测试,最后介绍JMeter与Ant结合构建自动化测试。

第三篇:测试实践篇

本篇只有一章,第13章,内容简介如下:

第13章是应用软件测试实例。首先分析前面应用实例中存在的问题、并给出相应的解决方案,实现一个使用Struts + EJB开发模式的应用实例开发及构建。随后使用测试工具篇介绍的测试工具,对这个应用实例进行单元测试、集成测试以及系统测试的设计和实现,还实现开发和测试构建以及应用自动化测试。

本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识体系结构及丰富的实例来指导读者学习J2EE企业级应用开发、测试及构建。希望读者能从中获得知识和受到启发。随书光盘中含有本书所有应用实例的开发源码和测试脚本。

在本书写作过程中得到了很多方面的帮助、指导和支持。本书由白胜普编著和统稿。在编写过程中,丁伟、王仁明等提供了很大帮助,在此,对他们表示衷心的感谢。

由于时间仓促和作者水平有限,书中的错误和不妥之处在所难免,敬请读者批评指正。如果在学习过程中有对本书的意见反馈、咨询及更正等,可以通过以下方式联系作者:hitpsbsp@yahoo.com.cn

作 者

2008-12-30

上 海

目录

目    录

第一篇  测试基础篇

第1章  J2EE企业级应用 2

1.1  企业级应用的概念 2

1.2  J2EE企业级应用的概念 2

1.2.1  J2EE的定义 2

1.2.2  J2EE的体系结构 3

1.2.3  J2EE企业级应用的概念 5

1.3  创建J2EE应用开发环境 5

1.3.1  安装和配置JDK 5

1.3.2  安装、配置和运行JBoss应用服务器 7

1.3.3  安装、配置、运行和汉化eclipse开发工具 8

1.3.4  安装和配置Lomboz插件 9

1.3.5  安装和配置MySQL数据库 12

1.4  创建Java Web应用开发环境 15

1.4.1  安装和配置Tomcat 服务器 16

1.4.2  安装和配置Tomcat插件 18

1.5  在应用开发环境里开发应用项目 19

1.5.1  Java应用项目 19

1.5.2  Java Web应用项目 23

1.5.3  J2EE应用项目 25

1.5.4  Java Web应用项目和J2EE应用项目的关系 30

1.6  本章小结 30

第2章  Servlet、JSP和JDBC数据库访问技术 31

2.1  Servlet技术 31

2.1.1  什么是Servlet 31

2.1.2  Servlet技术的特点 32

2.1.3  Servlet的生命周期 32

2.1.4  一个简单的Servlet应用实例 32

2.2  JSP技术 36

2.2.1  什么是JSP技术 36

2.2.2  JSP的工作原理 36

2.2.3  JSP技术的特点 37

2.2.4  一个简单的JSP应用实例 38

2.3  JDBC数据库访问技术 39

2.3.1  JDBC简介 39

2.3.2  JDBC常用接口和类 39

2.3.3  创建MySQL数据库 41

2.3.4  创建MySQL数据库实例 41

2.3.5  使用MySQL数据库的应用实例 45

2.3.6  数据库连接池 47

2.3.7  使用数据库连接池的应用实例 48

2.3.8  数据库事务 53

2.4  JSP和Servlet结合的方式 53

2.4.1  MVC设计模式 53

2.4.2  Model1开发模式:JSP + JavaBean 55

2.4.3  Model1开发模式实例 55

2.4.4  Model2开发模式:JSP + Servlet + JavaBean 64

2.4.5  Model2开发模式实例 65

2.4.6  Model1和Model2开发模式的比较 69

2.5  本章小结 69

第3章  EJB技术 70

3.1  EJB基础 70

3.1.1  EJB概述 70

3.1.2  EJB组件的特点 70

3.1.3  EJB组件的类型 70

3.1.4  EJB组件与JavaBean组件 71

3.1.5  EJB容器:JBoss应用服务器 72

3.2  EJB开发基础 72

3.2.1  EJB的工作方式 72

3.2.2  EJB的工作机制 72

3.2.3  配置EJB开发环境:配置XDoclet 74

3.2.4  EJB简单实例:会话EJB组件实例 76

3.3  EJB与数据库技术 85

3.3.1  实体EJB与数据库 85

3.3.2  使用数据库连接池的应用实例 85

3.4  使用Model2 + EJB开发模式开发应用 89

3.4.1  Model2 + EJB开发模式:JSP + Servlet + JavaBean + EJB 89

3.4.2  Model2 + EJB开发模式实例 89

3.5  本章小结 104

第4章  Struts技术 105

4.1  Struts基础 105

4.1.1  Struts实现MVC机制 105

4.1.2  Struts的工作流程 107

4.1.3  Struts安装和配置 107

4.2  Struts应用实现 107

4.2.1  Struts简单实例 108

4.2.2  实例运行流程 119

4.2.3  Model2应用实例和Struts应用实例比较 120

4.3  Struts国际化 121

4.3.1  国际化基础 121

4.3.2  Struts国际化 122

4.3.3  Struts应用国际化实现 122

4.4  Struts标签 123

4.4.1  标签库组成 123

4.4.2  Struts HTML标签库 123

4.4.3  Struts Bean标签库 124

4.4.4  Struts Logic标签库 125

4.4.5  Struts Template标签库 125

4.4.6  Struts自定义标签 126

4.5  使用Struts + EJB开发模式开发应用 126

4.5.1  Struts + EJB开发模式 126

4.5.2  Struts + EJB开发模式实例 127

4.6  本章小结 139

第5章  项目构建 140

5.1  构建基础 140

5.1.1  构建的基本概念 140

5.1.2  构建和编译的关系 142

5.1.3  日构建和持续集成构建的关系 143

5.2  构建工具Ant 143

5.2.1  Ant介绍 143

5.2.2  安装和配置Ant 143

5.2.3  Ant构建基础 144

5.2.4  Ant构建过程 145

5.2.5  Ant构建实例 147

5.3  项目构建 150

5.3.1  项目构建分类 150

5.3.2  数据库构建 151

5.3.3  开发构建 151

5.3.4  发布构建 152

5.3.5  构建自动化 152

5.4  项目构建实例 152

5.4.1  数据库构建实例 152

5.4.2  开发构建实例 155

5.4.3  发布构建实例 158

5.5  构建自动化实例 161

5.5.1  发布和启动应用服务器构建过程自动化 161

5.5.2  数据库、开发、发布和启动应用服务器构建过程自动化 162

5.6  本章小结 163

第6章  应用软件开发 164

6.1  面向对象技术 164

6.1.1  对象及对象之间的联系 164

6.1.2  面向对象的概念 165

6.1.3  面向对象技术的特点 166

6.2  软件生命周期 167

6.2.1  软件生命周期概述 167

6.2.2  软件开发 168

6.3  两种J2EE开发模式 169

6.3.1  业务层设计模式:域对象模式 169

6.3.2  数据传递模式:DTO模式 169

6.4  本章小结 169

第7章  软件测试 170

7.1  软件测试概述 170

7.1.1  软件测试的发展 170

7.1.2  软件测试的定义 170

7.1.3  软件测试的目的 171

7.1.4  软件测试的V型模型 171

7.2  黑盒测试和白盒测试 171

7.2.1  黑盒测试 171

7.2.2  白盒测试 172

7.2.3  黑盒测试和白盒测试的关系 172

7.3  软件测试的策略 172

7.3.1  mock objects测试策略 172

7.3.2  容器内测试策略 172

7.4  软件测试度量 173

7.4.1  覆盖率概念 173

7.4.2  面向对象的覆盖率 173

7.4.3  测试覆盖率工具djUnit 173

7.5  软件生命周期中的测试分类 174

7.5.1  单元测试 175

7.5.2  集成测试 176

7.5.3  系统测试 177

7.5.4  验收测试 177

7.6  软件项目测试构建 177

7.6.1  mock objects测试策略对应的测试流程 177

7.6.2  容器内测试策略对应的测试流程 178

7.7  软件自动化测试 178

7.7.1  软件自动化测试概念 178

7.7.2  软件自动化测试流程及架构 178

7.7.3  本书的软件自动化测试实现 179

7.8  本章小结 179

第二篇  测试工具篇

第8章  单元测试工具I: JUnit、DbUnit和EasyMock 182

8.1  单元测试工具简介 182

8.2  JUnit测试 183

8.2.1  JUnit安装和配置 183

8.2.2  JUnit常用的接口和类 183

8.2.3  使用JUnit进行测试的步骤 185

8.2.4  JUnit测试实现 185

8.2.5  使用JUnit进行测试实例 186

8.3  DbUnit测试 191

8.3.1  DbUnit安装和配置 192

8.3.2  DbUnit的常用的接口和类 192

8.3.3  使用DbUnit进行测试的步骤 193

8.3.4  DbUnit测试实现 194

8.3.5  使用DbUnit进行测试实例I 195

8.3.6  DbUnit实用测试断言策略 201

8.3.7  使用DbUnit进行测试实例II 201

8.3.8  JUnit测试和DbUnit测试的比较 205

8.4  EasyMock测试 206

8.4.1  EasyMock安装和配置 206

8.4.2  EasyMock的基本概念 206

8.4.3  使用EasyMock进行测试的步骤 207

8.4.4  EasyMock测试实现 208

8.4.5  使用EasyMock进行测试实例 208

8.5  测试工具与Ant构建自动化测试 214

8.5.1  JUnit与Ant构建自动化测试实现实例 214

8.5.2  其他测试工具与Ant构建自动化测试的实现 219

8.6  本章小结 220

第9章  单元测试工具II:Cactus 221

9.1  Cactus简介 221

9.2  Cactus测试基础 222

9.2.1  Cactus安装和配置 222

9.2.2  Cactus的常用接口和类 222

9.2.3  Cactus工作原理和测试过程 223

9.2.4  Cactus测试实现 224

9.2.5  运行Cactus测试脚本 227

9.3  使用Cactus测试Servlet组件 227

9.3.1  使用Cactus测试Servlet组件的测试特点 227

9.3.2  使用Cactus测试Servlet组件实例 228

9.4  使用Cactus测试Filter过滤器 236

9.4.1  使用Cactus测试Filter过滤器的测试特点 236

9.4.2  使用Cactus测试Filter过滤器实例I 237

9.4.3  使用Cactus测试Filter过滤器实例II 240

9.5  使用Cactus测试JSP组件和Taglib标签 243

9.5.1  使用Cactus测试JSP组件的测试特点 243

9.5.2  使用Cactus测试JSP组件实例 243

9.5.3  使用Cactus测试Taglib标签的测试特点 247

9.5.4  使用Cactus测试Taglib实例I 248

9.5.5  使用Cactus测试Taglib实例II 249

9.6  Cactus与DbUnit结合进行与数据库相关的应用测试 251

9.6.1  为什么要使用DbUnit数据库测试组件 252

9.6.2  Cactus和DbUnit进行结合测试实现 252

9.6.3  Cactus和DbUnit进行结合测试实例 254

9.7  使用Cactus测试EJB组件 260

9.7.1  使用Cactus测试EJB组件的测试特点 260

9.7.2  使用Cactus测试EJB组件实例 261

9.8  Cactus与Ant构建自动化测试 266

9.9  本章小结 269

第10章  单元测试工具III:StrutsTestCase 270

10.1  StrutsTestCase简介 270

10.2  StrutsTestCase测试 270

10.2.1  StrutsTestCase常用类 270

10.2.2  StrutsTestCase安装和配置 272

10.2.3  StrutsTestCase测试步骤 272

10.2.4  StrutsTestCase测试实现 273

10.2.5  StrutsTestCase模拟对象测试实例 275

10.2.6  StrutsTestCase容器内测试实例 280

10.2.7  StrutsTestCase模拟对象测试和容器内测试的比较 281

10.3  StrutsTestCase与DbUnit结合进行与数据库相关的应用测试 282

10.3.1  StrutsTestCase与DbUnit结合进行测试实现 282

10.3.2  StrutsTestCase与DbUnit结合进行测试实例 283

10.4  StrutsTestCase与Ant构建自动化测试 287

10.5  StrutsTestCase与EasyMock结合进行Action的逻辑单元测试 288

10.5.1  前面实例存在的问题及解决方案 288

10.5.2  StrutsTestCase与EasyMock结合进行逻辑单元测试实例 288

10.6  本章小结 297

第11章  集成测试工具:Rational Functional Tester 298

11.1  RFT简介 298

11.2  RFT测试基础 299

11.2.1  RFT安装和配置 299

10.2.2  集成在eclipse开发工具中的RFT 300

11.2.3  RFT测试的基本概念 301

10.2.4  RFT测试流程 303

10.2.5  使用RFT进行应用测试 303

11.3  RFT测试实例 312

11.3.1  RFT测试命名规则 312

11.3.2  RFT测试实例1:专用测试对象地图和专用测试数据池的使用 313

11.3.3  RFT测试实例2:共享测试对象地图和共享测试数据池的使用 318

11.3.4  RFT测试实例3:架构测试脚本 322

11.4  RFT测试扩展 328

11.4.1  RFT测试扩展功能 328

11.4.2  应用测试的问题及解决方案 328

11.4.3  RFT测试实例4的需求 329

11.4.4  RFT测试实例4:多语言应用测试 329

11.4.5  RFT测试实例4:多测试用例的实现 334

11.5  RFT与DbUnit结合进行与数据库相关的应用测试 339

11.5.1  RFT与DbUnit结合进行测试的测试实现 339

11.5.2  RFT测试实例4:RFT和DbUnit结合进行测试 340

11.6  构建RFT自动化测试 344

11.6.1  如何构建RFT自动化测试 344

11.6.2  构建RFT自动化测试实例 344

11.7  本章小结 345

第12章  系统测试工具:JMeter 346

12.1  JMeter简介 346

12.2  JMeter测试基础 346

12.2.1  JMeter安装和运行 346

12.2.2  JMeter测试元件 347

12.2.3  使用JMeter进行应用测试 349

12.2.4  JMeter测试脚本录制 355

12.3  JMeter测试实例 358

12.3.1  应用测试的制约因素 358

12.3.2  JMeter应用测试实例 358

12.4  JMeter测试扩展 361

12.4.1  JMeter测试扩展功能 361

12.4.2  JMeter测试扩展测试实例 361

12.5  JMeter与DbUnit结合进行与数据库相关的应用测试 364

12.5.1  JMeter与DbUnit结合进行测试实现 364

12.5.2  JMeter与DbUnit结合进行测试实例 365

12.6  JMeter与Ant构建自动化测试 371

12.7  本章小结 375

第三篇  测试实践篇

第13章  应用软件测试实例 378

13.1  应用软件开发实例 378

13.1.1  前面实例存在的问题和解决方案 378

13.1.2  应用软件开发实例 380

13.1.3  应用软件开发构建实例 404

13.2  应用软件测试实例 409

13.2.1  单元测试设计 409

13.2.2  集成测试设计 410

13.2.3  系统测试设计 410

13.2.4  自动化测试设计 411

13.3  实例单元测试实现I 411

13.3.1  Taglib的单元测试 411

13.3.2  JSP的单元测试 411

13.3.3  Filter的单元测试 417

13.3.4  Action的单元测试 417

13.4  实例单元测试实现II 426

13.4.1  数据库处理的共通测试脚本 426

13.4.2  EJB + DB的单元测试 428

13.4.3  JavaBean + EJB + DB的单元测试 433

13.4.4  Action + JavaBean + EJB + DB的单元测试 437

13.5  实例集成测试实现 440

13.5.1  集成测试实现 440

13.5.2  集成测试构建 442

13.6  实例系统测试实现 442

13.7  自动化测试实现实例 442

13.7.1  Windows操作系统调度任务 442

13.7.2  应用集成测试自动化 444

13.7.3  应用系统测试自动化 444

13.8  应用自动化测试 445

13.9  本章小结 445

参考文献 446

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个