 |
 |
 |
 |
 |
 |
利用 Ant 和 JUnit 进行增量开发 使用单元测试来逐步改进代码 软件开发习惯中一个细微更改都可能会对软件质量产生巨大改进。将单元测试合并到开发过程中,然后从长远角度来看它可以节省多少时间和精力。本文通过使用代码样本说明了单元测试的种种好处,特别是使用 Ant 和 JUnit 带来的各种方便。 |
|
|
|
2000年12月8日 |
|
| |
EJB 入门- 客户端开发和测试 本章主要讲述以下内容:一个客户端应用的构成;JNDI 的工作方式以及使用 home 接口和会话 bean 等相关的知识。 |
|
|
|
2001年3月27日 |
|
| |
测试是一件有趣的事情?真的吗? 测试对于开发人员极为重要,您必须在开发过程中不断进行测试。测试是一件有趣的事情?真的吗? |
|
|
|
2001年4月30日 |
|
| |
诊断 Java 代码: 进行记录器测试以正确调用方法 用 JUnit进行单元测试是一个功能强大的方法,它可以确保您的代码基础的完整性,但是一些不变量比其他(方法调用序列是其中一种)更难测试。在诊断Java 代码这一部分,Eric Allen描述了怎样在您的单元测试中使用记录器(一种特殊的侦听器),来确保一个方法调用序列按恰当的顺序发生。请点击文章顶部和底部的讨论,与作者和其他读者在论坛上分享您关于本文的看法。 |
|
|
|
2001年6月13日 |
|
| |
多功能串口设备服务器 (2) 程序设计和测试 本文的第一部分对串口设备服务器进行简单介绍,并且详细描述了本多功能串 口设备服务器的系统设计。这是本文的第二部分,介绍本多功能串口设备服务器的 程序设计和功能测试。 |
|
|
|
2001年8月21日 |
|
| |
诊断 Java 代码: 设计“可测试的”应用程序 在诊断 Java 代码的这一部分中,Eric Allen 暂停了对具体错误模式的讨论,转而选择讨论关于设计易于、甚至我们乐于测试的软件的问题。他概述了七条设计原则,这些原则能大幅提高您编写测试代码的效率并因此提高结果代码库的健壮性。请在讨论论坛与作者和其它读者共享您关于本文的心得。谨以本文献给周二攻击的受害者,向灾难挑战的英雄们和美国人民的钢铁意志。 |
|
|
|
2001年9月4日 |
|
| |
让编译和测试过程自动化 Ant 和 JUnit 让您与 XP 梦想更近一步 逐步递增测试和持续编译是极端编程方法基础的两种。把两者合并成为一个单独的、自动进行的过程 ― 加上自动生成电子邮件报告 ― 您就将在向 XP 梦想前进的道路上迈出坚实的步子。请跟随 Erik Hatcher,他向您展示了他是如何修改流行的 Ant 1.3 和 JUnit 测试框架,以达到让编译和测试过程完全的、用户化的自动化。 |
|
|
|
2001年10月9日 |
|
| |
使用 JSP Explorer 快速进行 Java 代码的测试和文档的编制 快速生成文档 JSP Explorer 是一个新工具,它被设计用来使开发者可以快速测试简单的想法和生成软件文档,也使初次用户能以一种新的、简单的方式轻松地学习和实验代码。请跟随 Alex Roetter 一起去测验这个万能实用程序并讨论它作为开发及学习辅助工具的潜在用途。 |
|
|
|
2001年10月30日 |
|
| |
Go-ForIt 记事: eXtreme DragonSlayers 专题报告,第 11 部分 不中断产品服务器对企业组件进行测试 在这个关于 DragonSlaying 技术咨询小组的系列第 11 部分中,Balu Ramachandran 讨论了这个小组如何使用“IBM WebSphere 测试环境”(IBM WebSphere Test Environmen)测试使用 VisualAge for Java 的“集成开发环境”(Integrated Development Environment(IDE))开发的 Enterprise JavaBeans(EJB)组件和 servlet。本文说明了您怎样才能使用 “WebSphere 测试环境”测试用 VisualAge for Java 开发的代码,然后将代码部署到产品服务器。 |
|
|
|
2002年2月5日 |
|
| |
怎样使用Junit Framework进行单元测试的编写 在java编程语句环境里,Junit Framework是一个已经被多数java程序员采用和实证的优秀的测试框架,本文对Junit所附带的文档进行进一步的补充和说明,使Junit能被更多的开发团队采用,让单元测试乃至Refactoring、XP技术更好在更多的开发团队中推广。 |
|
|
|
2002年7月5日 |
|
| |
AspectJ 和模仿对象的测试灵活性 在本文中作者将介绍围绕测试案例隔离的问题,并向我们展示如何使用模仿对象(mock object)和 AspectJ 来开发精确和健壮的单元测试。 |
|
|
|
2002年7月23日 |
|
| |
用Cactus来测试J2ee应用 Junit是当前最流行的测试框架,它能够让开发人员很方便的编写测试单元,可以使他们"放心"地开发。但是现在很多的应用都是基于j2ee的,代码都是在服务器端的容器里面运行,这个使测试带来了一些麻烦。那么我们如何进行这些代码的测试呢?Apache为我们提供了一个强大的工具 Cactus! |
|
|
|
2002年8月30日 |
|
| |
诊断 Java 代码: 单元测试与自动化代码分析协同工作 单元测试和静态分析通常被看作是有助于确保程序的正确性的互不相干的方法。本文研究了这两种方法之间的关系,并讨论了构成每种方法工作构架的工具如何相得益彰。特别地,Eric Allen 讨论了一些可用而又令人兴奋的新应用程序,这些应用程序允许您进一步提升您的单元测试。请单击文章顶部或底部的“讨论”参与本文的论坛,与作者和其它读者分享您的想法。 |
|
|
|
2002年11月7日 |
|
| |
诊断 Java 代码: “杀手组合”― mixin、Jam 和单元测试 在 Java 语言中获得单继承编程的安全性需要付出极大的代价:有时必须沿着继承层次结构中的多条路径复制代码。要重新获得单继承 Java 代码中所失去的大多数表示,我们可以将 mixin集成为一个扩展。本月,Eric Allen 解释了 mixin(那些由它们的父类参数化的类)的概念,以及它们如何能协助单元测试。他还描述了基于 mixin 编程的工具,并讨论了将 mixin 添加到您的 Java 代码中的可能方法。在本文的论坛中与作者及其他读者分享您对本文的看法。(也可以单击本文顶部或底部的讨论访问该论坛。) |
|
|
|
2003年3月12日 |
|
| |
使用模仿对象进行单元测试
模仿对象(Mock object)是为起中介者作用的对象编写单元测试的有用方法。在本文中,软件顾问 Alexander Day Chaffee 和 William Pietri 将演示一种重构技术,该技术根据工厂方法设计模式来创建模仿对象。
|
|
|
|
2003年3月21日 |
|
| |
软件测试认识中的误区 本文试图对一些比较普遍的关于测试的误解进行剖析,并且在测试对于软件产品质量可能带来的更深远的影响方面,也进行了论述。 |
|
|
|
2003年3月24日 |
|
| |
使用 SDAO 进行 J2EE 测试的分步方法 数据访问对象(Data Access Object)模式已经成为 J2EE 开发人员工具库中的标准部件。大多数开发人员不知道它有一个变体可以使测试更轻松。模拟数据访问对象集中了 DAO、模仿对象和分层测试的精华,从而允许您同时改进测试结果和整体开发方法。企业 Java 开发人员(并且是 SDAO 大师)Kyle Brown 使用代码样本和讨论向您全面介绍 SDAO 的概念和日常用法。
|
|
|
|
2003年5月22日 |
|
| |
HttpUnit:一种在 WebSphere Studio 中测试 Web 应用程序的改进方式 JUnit 是一个近来赢得了许多称赞的测试框架。您可以在开发过程中用 JUnit 逐渐构建测试套件。如此自动化的单元测试是极端编程(Extreme Programming,XP)方法的一个不可缺少的部分。 |
|
|
|
2003年6月30日 |
|
| |
揭开极端编程的神秘面纱: 测试驱动的编程 测试驱动的编程是 XP 困扰程序员的一个方面。对于测试驱动的编程意味着什么以及如何去做,大多数人都做出了不正确的假设。这个月,XP 方面的讲师兼 Java 开发人员 Roy Miller 谈论了测试驱动的编程是什么,它为什么可以使程序员的生产力和质量发生巨大变化,以及编写测试的原理。 |
|
|
|
2003年7月17日 |
|
| |
使用 WebSphere Studio 将消息驱动 bean 集成到企业应用程序中 - 第 3 部分:使用 WebSphere Studio Application Developer V5 进行单元测试 本文章系列的第 3 部分指导您用 IBM- WebSphere- Studio Application Developer V5(以下称为 Application Developer)对第 2 部分中的情况实现进行单元测试。
|
|
|
|
2003年8月4日 |
|
| |
从开发Portal转到测试Portal 您刚刚使用IBM®>||CHR(59)||< WebSphere®>||CHR(59)||< Portal Version 4完成了开发portal的工作。您的portal包括个性化资源、凭证vault安全性和
客户主题。现在,您准备进入项目的测试阶段,并且需要将portal从开发环境移植到测试环境中。 |
|
|
|
2003年9月15日 |
|
| |
关注性能:宏性能基准测试 热衷于 Java 性能的 Jack Shirazi 和 Kirk Pepperdine ―― JavaPerformanceTuning.com 的董事和 CTO ―― 跟踪遍布 Internet 上的性能讨论,探究是什么在困扰着开发人员。在浏览 Usenet 新闻组 comp.lang.java 时,他们遇到了几个有意思的底层性能调整问题。在 关注性能 的这篇文章中,他们对字节码作了一些分析,检验并回答了其中的一些问题。 |
|
|
|
2003年12月29日 |
|
| |
使用JMeter进行性能测试 JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1。本文中作者将向大家介绍如何使用 JMeter 进行测试。 |
|
|
|
2004年2月13日 |
|
| |
用 DbUnit 和 Anthill 控制测试环境 极限编程方法的兴起将测试驱动开发和持续集成带入了主流 Java 开发实践。如果没有采用正确的工具,在 Java 服务器端开发中使用这些技术很快会成为一场噩梦。在本文中,软件开发人员 Philippe Girolami 描述了如何处理持续集成,以及如何联合使用 DbUnit 和 JUnit,以便在每次测试之前通过设置数据库状态来端到端地控制测试环境。 |
|
|
|
2004年4月1日 |
|
| |
用 Jython 构建 JUnit 测试包 开发人员有多种理由决定自动化单元测试。许多人甚至进一步发挥它,自动化这些测试的定位和执行。但是如果想要测试装具模块(test harness)像静态定义的那样运行呢?请跟随开发员 Michael Nadel,看看如何利用 Python 模拟静态定义的 JUnit TestSuite 类。 |
|
|
|
2004年5月31日 |
|
| |
为测试 Java 应用程序生成证书链 学习如何创建数字证书链以测试您的软件。IBM 软件工程师 Paul H. Abbott 通过展示如何使用可免费获得的 OpenSSL 工具箱创建任意长度的证书链,阐明了这个很少有文档说明的过程。他还描述了常见的证书属性,并展示了一些将证书读取到 Java keystore 中的示例 Java 代码。 |
|
|
|
2004年9月2日 |
|
| |
用 HtmlUnit 和 WebSphere Studio 测试 Web 应用程序 开放源代码测试框架 JUnit 和它的一些扩展(如 HtmlUnit)为 Web 应用程序测试带来了许多好处,特别是在极限编程(extreme programming,XP)环境中,并且用 WebSphere Studio 可以将它们很好的集成。 |
|
|
|
2004年10月18日 |
|
| |
测试您的 DB2 数据库: 用 JMeter 测量性能 作者 Kulvir Singh Bhogal 介绍了一个叫作 JMeter 的开放源代码工具,该工具可以测量 DB2 Universal Database 的查询性能和吞吐量。 |
|
|
|
2004年11月10日 |
|
| |
实战 Groovy: 用 Groovy 更迅速地对 Java 代码进行单元测试 不久以前,developerWorks 的作者 Andrew Glover 撰写了一篇介绍 Groovy 的文章,该文章是alt.lang.jre 系列的一部分,而 Groovy 是一个新提议的用于 Java 平台的标准语言。读者对这篇文章的反应非常热烈,所以我们决定开办这个专栏,提供使用这项热门新技术的实用指导。本文是第一期,将介绍使用 Groovy 和 JUnit 对 Java 代码进行单元测试的一个简单策略。 |
|
|
|
2004年11月29日 |
|
| |
IT 架构和应用程序的端到端测试
就在不久之前,工业标准测试实践(针对 C/S 架构的质量问题而发展起来的)仍聚焦于客户端的前端功能测试或者服务器端的后端可伸缩性测试与性能测试。这种"工作上的分离"主要是缘于传统的 C/S(客户端/服务器)架构比当前的多层架构和分布式环境相对简单的事实。在标准的 C/S 架构中,问题要么发生在客户端,要么就发生在服务器端。
|
|
|
|
2005年1月4日 |
|
| |
Hibernate配置文件在单元测试中的灵活运用 Hibernate 是一个流行的开源对象关系映射工具,单元测试和持续集成的重要性也得到了广泛的推广和认同,在采用了Hibernate的项目中如何保证测试的自动化和持续性呢?本文讨论了Hibernate加载其配置文件hibernate.properties和hibernate.cfg.xml的过程,以及怎么样将hibernate提供的配置文件的访问方法灵活运用到单元测试中。 |
|
|
|
2005年1月17日 |
|
| |
TestNG 使 Java 单元测试轻而易举 在本文中,Filippo Diotalevi 介绍了 TestNG,这是一个测试 Java 应用程序的新框架。TestNG 不仅确实强大、创新、可扩展、灵活,它还展示了 Java Annotations(JDK 5.0 中的重大新特性)的有趣应用。 |
|
|
|
2005年1月17日 |
|
| |
自动化测试: 真的是银弹? 没有一种单纯的技术或管理上的进步,能够独立地承诺在10年内大幅度地提高软件的生产率、可靠性和简洁性。Brooks鼓励我们将技术和方法视作一种演进手段,而并非革命。将自动化技术引入测试工作时,我倾向于支持相同的观点。 |
|
|
|
2005年1月17日 |
|
| |
关注性能: 什么时候好的基准测试不好了
在进行基准测试操作时,一定要对出现意外结果有思想准备。即使您认为自己知道会是什么样的结果,可是奇怪的结果常常会让您无所适从。性能专家 Jack Shirazi 和 Kirk Pepperdine 一直在与意外结果打交道。请跟他们一起对 Java 5.0 中的一种新语言功能进行基准测试并发现一些不寻常的结果。 |
|
|
|
2005年3月21日 |
|
| |
用 Cobertura 测量测试覆盖率 Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,还可以提供 API 实际操作的内部信息。Elliotte Rusty Harold 将与您分享如何利用代码覆盖率的最佳实践来使用 Cobertura。 |
|
|
|
2005年5月27日 |
|
| |
用 Jester 对测试进行测试 全面的单元测试套件对健壮的程序是必不可少的。但是如何才能保证测试套件测试了应当测试的每件事呢?Ivan Moore 的 JUnit 测试的测试器 Jester,擅长发现测试套件的问题,并提供对代码基本结构的深入观察。Elliotte Rusty Harold 介绍了 Jester 并展示如何使用它才能得到最佳结果。 |
|
|
|
2005年6月2日 |
|
| |
用 Jester 对测试进行测试 全面的单元测试套件对健壮的程序是必不可少的。但是如何才能保证测试套件测试了应当测试的每件事呢?Ivan Moore 的 JUnit 测试的测试器 Jester,擅长发现测试套件的问题,并提供对代码基本结构的深入观察。Elliotte Rusty Harold 介绍了 Jester 并展示如何使用它才能得到最佳结果。 |
|
|
|
2005年6月6日 |
|
| |
为 Web 应用程序创建测试用例 您是否正在寻找一种把自动测试技术应用到 Web 开发中的方法?那么不用再找了!jWebUnit 就是为 Web 应用程序创建测试用例的一个开源框架,它可以容易地插入到大多数 Java IDE 中。通过使用一个示例应用程序,描述了生成简洁测试用例的详细步骤,软件工程师 Amit Tuli 对 jWebUnit 进行了介绍。 |
|
|
|
2005年6月7日 |
|
| |
Eclipse 3.1 中使用TestNG:基于注释的单元测试框架 这篇文章将为大家介绍TestNG这个新的测试框架的特性,以及TestNG优于Junit3.X的地方。 |
|
|
|
2005年9月1日 |
|
| |
使用 TestNG 的新特性管理实际项目中的大量单元测试 ̦随着项目的成长,单元测试的数量会迅猛增长。这就带来不少问题。首先数量巨大的单元测试难于管理,运行一遍耗时巨大。
其次,有时某个微小改动可能只需要运行某个测试文件中的部分单元测试就可以,这时重新运行全部测试用例就没有必要了。
其三,大多数项目需要用到多线程特性,为使用了多线程特性的代码写测试用例相当麻烦且容易出错。
本文将利用 TestNG 提供的新特性,解决以上提到的问题。
|
|
|
|
2005年10月19日 |
|
| |
用Rational Functional Tester 创建随需应变的自动测试脚本 IBM Rational Functional Tester是由IBM推出的针对Java,.Net和Web应用程序的自动化测试工具,拥有功能强大的编辑器并支持多种脚本语言,还集成了ScriptAssure 技术、模式匹配功能及数据驱动,以增强测试脚本的灵活性。借助这一工具,测试人员可以轻松地录制或编写脚本来进行自动化测试,极大地提高了测试效率。 |
|
|
|
2005年11月3日 |
|
| |
持续测试:将错误扼杀在摇篮之中 Continuous Testing是一个能进一步提高测试驱动开发有效性的Eclipse插件。当开发人员在Eclipse修改并保存了程序源代码时,Continuous Testing利用CPU的空闲时间执行选定的测试,并将测试结果以warning的形势显示在Eclipse的Problem View中。 |
|
|
|
2005年12月5日 |
|
| |
AOP@Work: 对方面进行单元测试 AOP 使编写特定于应用程序的横切关注点测试比任何时候都要容易了。要了解其原因以及如何实现,请听作者介绍测试面向方面的代码所具有的好处,并展示在 AspectJ 中测试横切行为的样式。 |
|
|
|
2005年12月20日 |
|
| |
用 Selenium 自动化验收测试 验收测试(也称功能测试)是用来测试手工任务的功能的,但是手工测试这些任务可能很花时间,并且容易出现人为的错误。在本文中,作者为架构师、开发人员和测试人员展示了如何使用 Selenium 测试工具来自动化验收测试。通过自动化测试,可以节省时间,并消除测试人员所犯的错误。文中还给出了一个例子,以演示如何将 Selenium 应用到现实中使用 Ruby on Rails 和 Ajax 的项目上。 |
|
|
|
2006年1月4日 |
|
| |
为 WebSphere MQ 环境编写用于 MQ Explorer 的 Java 测试 WebSphere MQ V6 中的创新之一是基于 Eclipse 的管理工具,其允许使用 Eclipse 插件来扩展 WebSphere MQ Explorer 工具集。本文向您介绍如何使用简单 Java 和 XML 来编写在 WebSphere MQ 环境中执行自定义验证的插件。 |
|
|
|
2006年3月16日 |
|
| |
测试遗留代码 Test-first 编程是自面向对象编程以来最有效的编码方式,但它假定您从一个空白屏幕开始编程。当代码已经存在时,您应该怎么做呢?使用一个流行的开放源码的 Java 工具作为例子,作者 Elliotte Rusty Harold 向您展示了如何为
从未测试过的遗留代码开发测试套件。 |
|
|
|
2006年4月4日 |
|
| |
使用 ConTest 进行多线程单元测试 众所周知并行程序设计易于产生 bug。更为严重的是,往往在开发过程的晚期当这些并行 bug 引起严重的损害时才能发现它们并且难于调试它们。即使彻底地对它们进行了调试,常规的单元测试实践也很可能遗漏并行 bug。在本文中,并行专家 Shmuel Ur 和 Yarden Nir-Buchbinder 解释了为什么并行 bug 如此难于捕获并且介绍了 IBM Research 的一种新的解决方案。 |
|
|
|
2006年5月11日 |
|
| |
使用 EMMA 测量测试覆盖率 本文主要通过一个示例项目介绍如何在集成了 Ant 和 Junit 的基础上,利用 EMMA 来收集单元测试对代码的覆盖率。 |
|
|
|
2006年6月15日 |
|
| |
跨越边界: 在集成框架中进行测试,第 1 部分 Java 社区在推进自动单元测试方面已经做了一项激动人心的工作。越来越多的开放源码框架支持在构建项目的同时构建自动测试套件。Spring framework、JUnit、TestNG 和其他几个框架的一些或全部灵感都来自自动测试的思想。尽管如此,一些非 Java 语言和框架具有更多的测试动机、更合适的测试工具和更统一的测试视角。通过观察其他框架的测试方式,可以改进 Java 语言中的测试方式,甚至使用更合适的语言来测试 Java 代码。这篇文章是关于在 Ruby on Rails 上进行测试的两篇文章中的第一篇,将介绍 Rails 单元测试的方式。 |
|
|
|
2006年6月27日 |
|
| |
测试对象串行化 即使最杰出的开发人员有时也会忘记测试对象串行化,但那并不能作为您犯下同一错误的借口。在这篇文章中,Elliotte Rusty Harold 将解释对对象串行化进行单元测试的重要性,并为您展示一些应牢记的测试。 |
|
|
|
2006年7月6日 |
|
| |
Java 理论与实践: 平衡测试,第 1 部分 在 2004 年 6 月,经验丰富的清除专家 Brian Goetz 引进了 FindBugs 静态代码分析工具,即使在测试良好的软件中,该工具也可以检测 bug。本月他将重拾该主题,查看静态分析工具如何通过开发存在所有种类的 bug 的资源(而不是特定实例)来改进管理软件质量的方式。 |
|
|
|
2006年7月10日 |
|
| |
跨越边界: 在集成框架中进行测试,第 2 部分 在由两篇文章组成的这一系列的第 1 部分中,介绍了如何用 Ruby on Rails 进行单元测试,并展示了如何利用这种方式的某些方面改进 Java 的单元测试。Java 开发人员对更高级测试的选择更加有限。在这篇文章中,将继续研究 Rails,体会用于功能测试和集成测试的集成框架的优势。 |
|
|
|
2006年7月10日 |
|
| |
追求代码质量: 测试 Struts 遗留的应用程序 虽然 Struts 正在慢慢退出 Web 框架的历史舞台,但它的遗产仍然存在,存在的形式主要是需要测试和维护的应用程序。这个月,Andrew Glover 向您介绍如何使用 JUnit 的 StrutsTestCase、DbUnit 以及在这个系列中迄今为止学到的一些工具,把以质量为中心的方法用于 Struts 上的测试(可以这么说)。 |
|
|
|
2006年8月17日 |
|
| |
Java 理论与实践: 平衡测试,第 2 部分 上一期的 “Java 理论与实践” 专栏说明了如何充分利用 FindBugs 之类的静态分析工具来管理软件质量,并重点测试了 bug 的整个目录(而不是特定 bug 实例)。在本期专栏中,专职 bug 清除专家 Brian Goetz 将详细说明构造和调优不平凡的 bug 模式检测器的过程。 |
|
|
|
2006年9月7日 |
|
| |
Java 理论与实践: 平衡测试,第 3 部分 这个系列的前两期介绍了像 FindBugs 这样的静态分析工具,通过关注全部 bug 分类而不是特定的 bug 实例,可以对管理软件质量提供更大的控制能力。在关于测试的最后这一期中,Brian Goetz 介绍另一种发现违犯设计规则之处的技术:方面。 |
|
|
|
2006年9月22日 |
|
| |
追求代码质量: 可重复的系统测试 在测试加入到 servlet 容器的 Web 应用程序时,编写符合逻辑的可重复的测试尤其需要技巧。在 Andrew Glover 的提高代码质量的这个续篇中,他介绍了 Cargo,这是一个以通用方式自动化容器管理的开源框架,有了这个框架,您可以随时编写符合逻辑的可重复的系统测试。 |
|
|
|
2006年11月2日 |
|
| |
模糊测试 模糊测试(Fuzz testing )是一项对代码质量有着深远影响的简单技术。在本文中,Elliotte Rusty Harold 故意将随机的坏数据插入应用程序,以观察发生的结果。他也解释了如何使用如校验和、XML 数据存储及代码验证等防护性编码技术,来加固您的程序以抵制随机数据。他以一个练习进行总结,在练习中他以一个代码破坏者的角度进行思考 —— 这是一种用于防护代码的至关重要的技术。 |
|
|
|
2006年11月2日 |
|
| |
追求代码质量: 通过测试分类实现敏捷构建 人人都认可开发人员测试的重要性,但为什么运行测试还是需要花费太多时间?本月,Andrew Glover 揭示了三种用来确保端到端系统健壮性的测试类型,随后展示了如何按类型来自动排序及运行测试。即使是使用当今大型测试套件,这样做也能显著地减少构建时间。 |
|
|
|
2006年11月27日 |
|
| |
追求代码质量: 用 JUnitPerf 进行性能测试 在应用程序的开发周期中,性能测试常被放到最后考虑,这并不是因为它不重要,而是因为存在这么多未知变量,很难有效地测试。在本月的 “追求代码质量” 系列中,Andrew Glover 使性能测试成为开发周期的一部分,并介绍了两种简单的实现方法。 |
|
|
|
2006年11月29日 |
|
| |
单元测试利器 JUnit 4 本文主要介绍了如何使用 JUnit 4 提供的各种功能开展有效的单元测试,并通过一个实例演示了如何使用 Ant 执行自动化的单元测试。本文假设读者对 Eclipse 下进行 Java 开发有一定的经验,并了解 Java 5 中的注解(annotation)特性。 |
|
|
|
2007年2月28日 |
|
| |
让开发自动化: 持续测试 准备好开始在您的开发人员测试活动中大获全胜吗?在本期的让开发自动化中,开发自动化专家 Paul Duvall 介绍了几种自动化的开发人员测试,每一次改变源代码都能够运行这些测试。Paul 提供了 Selenium、DbUnit 和 JUnitPerf 测试的例子,即,如果经常运行这些测试可以帮助您尽早发现应用程序的问题。 |
|
|
|
2007年3月26日 |
|
| |
JavaScript 中的有限状态机,第 3 部分: 测试小部件 在本系列中,学习如何用有限状态机系统化地为一个简单 Web 小部件(一个淡入和淡出视图的动画式工具提示)设计复杂的行为。产生的代码既紧凑又简洁,它的逻辑是透明的,它的动画效果即使在负载很重的处理器上也能够顺畅地展现。在本文中,学习如何处理让这个实现能够在所有流行的 Web 浏览器上运行的实际问题。第 1 部分讲解如何用有限状态机系统化地为一个简单的 Web 部件设计复杂的行为。第 2 部分描述了如何用 JavaScript 实现这种行为,并充分利用语言的独特特性,包括关联数组和函数闭包。 |
|
|
|
2007年3月27日 |
|
| |
追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试 TestNG-Abbot 是一种测试框架,它为 GUI 组件的测试带来了新的活力。本月,Andrew Glover 将带领您亲历使用 TestNG-Abbot 测试 GUI 过程中难度最大的部分,即理解用户场景的实现过程。一旦理解了它,您会发现将 GUI 组件隔离并使用框架所含的极其方便的 fixture 对象对其进行验证是多么地简单。 |
|
|
|
2007年4月2日 |
|
| |
追求代码质量: 使用 Selenium 和 TestNG 进行编程式测试 Selenium 是一种测试框架,它使您可在 Web 应用程序上轻松地运行用户验收测试(user acceptance test)。本月,Andrew Glover 将向您展示如何以编程的方式运行 Selenium 测试,并使用 TestNG 作为测试驱动程序。在将 TestNG 灵活的测试特性(包括参数化 fixture)添加到 Selenium 固有的工具包后,您需要做的就是借助 DbUnit 和 Cargo 的帮助编写完全自动化、逻辑可重复的验收测试。 |
|
|
|
2007年4月30日 |
|
| |
使用 EclEmma 进行覆盖测试 覆盖测试是衡量测试质量的一个重要指标。在对一个软件产品进行了单元测试、组装测试、集成测试以及接受测试等繁多的测试之后,我们能不能就此对软件的质量产生一定的信心呢?这就需要我们对测试的质量进行考察。如果测试仅覆盖了代码的一小部分,那么不管我们写了多少测试用例,我们也不能相信软件质量是有保证的。相反,如果测试覆盖到了软件的绝大部分代码,我们就能对软件的质量有一个合理的信心。本文将介绍一个优秀的开源软件测试工具 EclEmma,它能够对由 Java 语言编写的程序进行覆盖测试,从而对程序运行的结果生成详尽的覆盖测试报告。 |
|
|
|
2007年5月10日 |
|
| |
认识 p-unit : 一款开源的性能测试工具 p-unit 是一款开放源码的性能测试框架,和 JUnit 不同,JUnit 关注的是测试案例的正确性,而 p-unit 不仅关注测试案例的正确性,还收集测试案例的性能参数,默认情况下,p-unit 收集测试案例的时间和内存消耗情况,可以产生文件,图片,和 PDF 格式的报表。此外,p-unit 还支持参数化测试,多线程测试以及不同 Java 虚拟机性能之间的比较。 |
|
|
|
2007年5月31日 |
|
| |
使用 Abbot 框架自动化测试 Eclipse 插件的用户界面,第 1 部分 本文详细的描述了 Abbot SWT 插件的配置和使用,分析了 Abbot 的体系结构和工作原理,并给出复杂的测试用例来说明 Abbot SWT 的一些高级用法,同时还分享了作者的一些 Abbot 相关的最佳实践,相信会对从事 Eclipse 插件和 SWT 用户界面的开发和测试人员有一定的帮助。 |
|
|
|
2007年6月28日 |
|
| |
使用 Abbot 框架自动化测试 Eclipse 插件的用户界面,第 2 部分 本文详细的描述了 Abbot SWT 插件的配置和使用,分析了 Abbot 的体系结构和工作原理,并给出复杂的测试用例来说明 Abbot SWT 的一些高级用法,同时还分享了作者的一些 Abbot 相关的最佳实践,相信会对从事 Eclipse 插件和 SWT 用户界面的开发和测试人员有一定的帮助。 |
|
|
|
2007年6月28日 |
|
| |
利用 Eclipse 进行单元测试 您的传统代码是不是要求使用匹配的类测试套件才能针对其源代码库运行?针对此类目的,jMock 堪称是一个优秀的测试框架。但是,并不是所有情况都能够适用,尤其是必须以 jMock 不期望的方式构造对象时。为避免生成自定义模拟对象套件才能支持应用程序中的单元测试的麻烦,可以调整 RMock,与 jMock 无缝地结合使用,从而解决这一问题。 |
|
|
|
2007年7月9日 |
|
| |
追求代码质量: 对 Ajax 应用程序进行单元测试 您可能从编写 Ajax 应用程序中获得了极大乐趣,但是对它们执行单元测试却着实让人头痛。
在本文中,Andrew Glover 着手解决 Ajax 的弱点(其中之一),即应对异步 Web 应用程序执行单元测试的固有挑战。
幸运的是,他发现在 Google Web Toolkit 的帮助下,解决这个特殊的代码质量问题要比预想的容易。
|
|
|
|
2007年8月6日 |
|
| |
在 IBM Rational Application Developer 中使用 JUnit 和 JUnitEE 框架对 J2EE 平台组件进行单元测试,第 1 部分: 对 Java 和 EJB 应用程序进行单元测试
这是一个三部分系列中的一篇文章。它向您展示了如何使用一个开源测试框架,比如 JUnit 和 JUnitEE,通过在 IBM WebSphere Application Server 环境中使用 IBM Rational Application Developer 来进行 Java 和 EJB 应用软件的单元测试。 |
|
|
|
2007年9月26日 |
|
| |
使用 Spring 2.5 TestContext 测试框架 Spring 2.5 TestContext 测试框架用于测试基于 Spring 的程序,TestContext 测试框架和低版本 Spring 测试框架没有任何关系,是一个全新的基于注解的测试框架,为 Spring 推荐使用该测试框架。 |
|
|
|
2008年3月28日 |
|
| |
测试 Java 类的非公有成员变量和方法 测试是软件开发过程中的重要环节之一,充分的测试是保证软件可靠性的重要基础。然而,测试人员经常遇到一个尴尬的场景,就是当我们要测试一个类的成员变量或方法时,却发现该类的成员变量或方法是非公有的(私有或保护的),这令很多有经验的测试人员也感到头痛。本文总结了访问类的非公有成员变量或方法的四种途径,并提供它们在测试领域中的常见应用场景。 |
|
|
|
2008年4月25日 |
|
| |
使用 Rational Functional Tester 和 AOP 相结合测试 SWT 应用程序 本文介绍了一种解决方法,能够使 Rational Functional Tester(RFT) 捕捉到 SWT 应用程序的对象,并且采用 AOP(Aspect Oriented Programming)后编译时(Post-Complier weave)的方式把它注入到 SWT 应用程序中。该方法无须更改 SWT 应用程序的源代码,减少了开发代码与测试代码的耦合,在基于 SWT 应用程序的测试中有广泛的应用前景。 |
|
|
|
2008年5月6日 |
|
| |
让开发自动化: 自动负载测试 负载测试通常在开发周期的后期执行,但是并不一定要这样。在让开发自动化的这一期,自动化专家 Paul Duvall 将向您描述如何创建一个运行 JMeter 测试的预定集成构建,发现和修复开发周期中出现的问题。 |
|
|
|
2008年5月29日 |
|
| |
使用 Grester 简化 Java 应用程序的 JUnit 测试 您一定编写过大量单元测试。作为一名开发人员,您每天都要运行很多次测试,尤其在持续集成环境中更是如此。但是如果因为修改源代码而打断了这些单元测试,会带来什么影响呢?当 Jester 与 Maven 结合在一起构造 Grester 后,您很快就会找到解决方案。 |
|
|
|
2008年6月2日 |
|
| |
健壮的 Java 基准测试,第 1 部分: 问题 程序性能一直是受到关注的问题,即使在现在这样的高性能硬件时代,也是如此。本文是分两部分的文章系列的第一篇,讨论与 Java 代码基准测试相关的许多问题。第 2 部分讨论基准测试的统计并提供一个执行 Java 基准测试的框架。因为几乎所有新语言都是基于虚拟机的,所以本文讨论的基本原则适用于许多编程语言。 |
|
|
|
2008年7月9日 |
|
| |
健壮的 Java 基准测试,第 2 部分: 统计和解决方案 程序性能一直是受到关注的问题,即使在现在这样的高性能硬件时代,也是如此。本文是分两部分的文章系列的第二篇,讨论基准测试的统计问题并提供一个框架,可以用这个框架对各种 Java 代码进行基准测试,包括自我包含的微基准测试和调用整个应用程序的代码等等。 |
|
|
|
2008年7月9日 |
|
| |
应用设计模式编写易于单元测试的代码 单元测试是软件开发的一个重要组成部分,通过在软件设计、开发的过程中合理地运用设计模式,不但为系统重构、功能扩展及代码维护提供了方便,同时也为单元测试的实施提供了极大的灵活性,可以有效降低单元测试编码的难度,更好地保证软件开发的质量。 |
|
|
|
2008年7月22日 |
|
| |
使用 JUnit 对规则进行单元测试 “规则”(Rule)在程序中有广泛的应用,本文将介绍在对“规则”进行单元测试(Unit Testing)时的一些独特之处。希望能与读者探讨。 |
|
|
|
2008年10月21日 |
|
| |
精通 Grails: 测试 Grails 应用程序 Grails 可以轻松确保您的应用程序从始至终都远离 Bug。另外一个好处是,您可以利用测试代码生成一组永远是最新的可执行文档。本月由 Grails 的权威 Scott Davis 向您展示如何使用 Grails 进行测试。 |
|
|
|
2008年10月31日 |
|
| |
使用 JdbcProxy 测试 Java 应用程序 JdbcProxy 可以理解为 JDBC 代理,是一个开源的 JDBC 项目。它架构在 JDBC Driver 之上,能够记录一个 Java 应用的数据库访问过程,并将这个过程重现出来。本文将以一个具体的 Java 应用为例,演示如何使用 JdbcProxy 记录和重现 JDBC 访问,实现 Java 应用的测试工作。 |
|
|
|
2008年11月14日 |
|
| |
Wicket:一种构建和测试动态 Web 页面的简化框架 Wicket 提供了一种面向对象的方式来开发基于 Web 的动态 UI 应用程序。由于 Wicket 是纯 Java 和 HTML 代码,所以您可以充分利用自己的 Java 知识来基于 Wicket 编写应用程序,这会极大减少您的开发时间。本文概述了 Wicket 并介绍了如何利用 Wicket 以一种无干扰的简化方式来快速构建基于 Web 的应用程序。 |
|
|
|
2008年12月4日 |
|
| |
使用模拟对象(Mock Object)技术进行测试驱动开发 测试驱动开发是敏捷开发中重要部分。在现实项目中,开发人员通常希望减少对其它模块的依赖,把测试的单元与系统其它单元隔离。本文介绍敏捷开发并探讨测试驱动开发的重要性。对 mock 技术进行理论分析,并结合当前流行的 mock 软件如 jMock 和 EasyMock 等,展示测试驱动开发实例并进行比较。 |
|
|
|
2008年12月12日 |
|
| |
扩展 JUnit 测试并行程序 TDD(Test Driven Development)早已成为被广泛使用的敏捷实践。JUnit 是 Java 程序员进行单元测试的标准工具,但是它对于并行程序还没有任何的支持。本文将介绍一种对 JUnit 框架的扩展,从而使得并行程序的测试变得如同串行程序一样简单。 |
|
|
|
2008年12月19日 |
|
| |
回归测试最佳实践 本文介绍一个有效的解决方案,可以提高回归测试的效率与质量。它解决了回归测试中的两个主要问题:如何优化回归测试用例以及分析覆盖率。 |
|
|
|
2009年3月13日 |
|
| |
演化架构与紧急设计: 测试驱动设计,第 1 部分 大多数开发人员认为使用测试驱动开发(TDD)最有用的部分是测试。但是,正确地完成开发后,TDD 将改进代码的整体设计。演化架构与紧急设计系列的这一期文章将介绍一个进一步扩展的示例,演示如何根据测试中显现的关注点进行设计。测试只是 TDD 的次要部分;关键在于它如何优化代码。 |
|
|
|
2009年3月27日 |
|
| |
演化架构与紧急设计: 测试驱动设计,第 2 部分 测试只是测试驱动开发(TDD)的意外结果之一;如果正确地应用,TDD 能够改进代码的整体设计。“演化架构与紧急设计” 系列的这一期文章将介绍一个进一步扩展的示例,演示如何根据测试中显现的关注点进行设计。
|
|
|
|
2009年5月8日 |
|
| |
使用 EasyMock 更轻松地进行测试 在本文中,您将与 Elliotte Rusty Harold 一起研究如何通过 mock 对象(更具体地说,是使用 EasyMock 框架)轻松地完成一些困难的单元测试。这个开放源码库可以帮助您节省时间,并让 mock 对象代码更加简洁与清晰。 |
|
|
|
2009年5月18日 |
|
| |
CIM 事件统一自动化测试框架 公共信息模型(Common Information Model,CIM)提供事件 (Indication) 通知机制,客户机向 CIM 订阅事件的通知,当订阅事件发生时,所有订阅该事件的客户机会收到相应消息。目前的测试模式为:事件订阅和事件触发分别由不同的应用程序完成,需要测试人员人为订阅、触发、检验通知机制;并且不同的 CIM 产品需要构建各自的测试程序。代码可重用性差,无法实现测试自动化。本文将向你介绍一种集订阅、触发、检验于一体的自动化测试框架,该框架适用于所有支持 CIM Indication 机制的产品。 |
|
|
|
2009年7月31日 |
|
| |
使用 Ruby 实现业务驱动的 Web 应用程序测试 自动化的 Web 集成测试对于保证软件质量是很有效的,但是编写和维护这些测试用例却不是一件容易的事。本文介绍的是一种利用 Ruby 实现业务驱动的集成测试方法,通过该方法,读者能够脱离复杂的技术细节,把注意力集中到业务逻辑的测试中来。 |
|
|
|
2009年7月31日 |
|
| |
精通 Grails: 使用 Grails 进行单元测试 在本期精通 Grails 中,Scott Davis 向您展示如何利用 Grails 中包含的 GrailsUnitTestCase 和 ControllerUnitTestCase 类的内置模拟功能。 |
|
|
|
2009年11月23日 |
|
| |
改进的应用程序开发,第五部分:用 Rational 工具测试并验证 测试是任何开发过程中的重要部分,要执行足够的测试,您不仅需要识别缺陷,还要跟踪这些缺陷、定位及他们在开发过程的每个迭代过程中所影响的组件。在本教 程中,您将了解到 IBM Rational 软件测试产品和其他用于开发过程的工具,如 IBM Rational RequisitePro、IBM Rational Application Developer for WebSphere Software 和 IBM Rational ClearQuest。 |
|
|
|
2005年10月27日 |
|
| |
使您的应用程序调用我的应用程序,第 1 部分: Apache Geronimo 通信基础 ―― 开发、部署和测试 Apache Geronimo 包含顶尖的消息传递实现,还有世界级的 Enterprise JavaBeans(EJB)实现,从而使您可在自己的应用程序中使用消息驱动 bean(MDB)。这也就意味着只要具备恰当的资源适配器,其他组件就可以使用消息传递与您的应用程序交互。本系列教程详细叙述了 Java Platform, Enterprise Edition(Java EE)应用程序的创建,在这个应用程序中,用户、管理员甚至其他应用程序都可利用 MDB 进行交互,方法是向 Java Apache Mail Enterprise Server(也称为 Apache James)发送电子邮件,而 Apache James 随后又使用 J2EE Connector Architecture(JCA)资源适配器反过来与 Geronimo 通信。 |
|
|
|
2006年8月24日 |
|
| |
Eclipse Test and Performance Tools Platform,第 3 部分: 测试应用程序 在 “Eclipse Test and Performance Tools Platform” 教程系列的这一期中,学习如何使用 Eclipse Test and Performance Tools Platform(TPTP)的测试特性来度量 Web 应用程序的响应时间。了解如何创建和管理改进的 JUnit 测试以及创建计算机引导的手工测试。 |
|
|
|
2006年11月9日 |
|
| |
使用 Rational Application Developer 开发和测试 SQLJ 程序 学习如何使用 Rational Application Developer(RAD)和 IBM DB2 Universal Database(DB2 UDB)编写、测试和运行 SQLJ 应用程序。同时还学习如何在 WebSphere Application Server 和 DB2 UDB 环境中运行应用程序。 |
|
|
|
2007年8月10日 |
|
| |
从文本到字节码 本数据绑定系列的第三部分演示了如何使用“JSR-031:数据绑定,Sun 数据绑定规范申请”中指定的方法,将 XML 元素和属性转换成 Java 对象。这部分主要讲述从数据的 XML 表示移到应用程序代码易于使用的 Java 实例。第三部分论及通过将 XML 文档中的嵌套元素取消编组成 Java 对象、测试和用某些实际示例来使用新的工具。 |
|
|
|
2000年9月1日 |
|
| |
EJB 入门- 无状态会话 Bean 本章节主要讲述:什么是一个会话 Bean (Session Bean);无状态和有状态会话 Bean 的区别;无状态会话 Bean 的生命周期 ;构建一个 Bean 所需的 Java 类型;如何在 VisualAge for Java 中开发和测试无状态会话 Bean 等。 |
|
|
|
2001年3月27日 |
|
| |
诊断 Java 代码: Liar View 错误模式 GUI 一般是基于模型-视图-控制器体系结构设计的。其中,视图是从模型中分离出来的。这种分离对自动化测试是一个挑战,因为我们很难检验模型中的状态改变是否在视图中得到了适当的反映,这样就产生了臭名昭著的 Liar View。诊断 Java 代码的这部分讨论的就是 Liar View 错误模式。 |
|
|
|
2001年4月16日 |
|
| |
诊断 Java 代码: 臆想实现错误模式,第 2 部分 在诊断 Java 代码的最后一部分,我们看到实现一个 Java 接口, 而实际上未满足其预期语义是有可能的。这个分两部分的序列的第二篇文章演示了两个解决这种虚假的实现错误的方便的工具。Eric Allen 向您显示了如何使用断言和单元测试作为可执行文档,使您的代码更安全,可移植性更强。 |
|
|
|
2001年8月9日 |
|
| |