• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

追求代码质量: 测试 Struts 遗留的应用程序

发布: 2008-6-13 15:31 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 21次 | 进入领测软件测试网论坛讨论

领测软件测试网

v)Cexa-x 软件测试技术网3S%Sa^#]8W!T

两个测试用例

s Em9bSdr*d

k |3\ Cpt8w'Mi'}%N4S在企图为 清单 1(间接的是 清单 2)的代码编写测试之前,可能想确定实际需要测试什么。在这个具体示例中,逻辑清楚地是为了方便用户口令的修改;所以,应当编写至少两个层次的测试用例:

,w fo p#|+}
  • 口令修改在数据正确时是否工作?
  • 如果数据不正确,口令是不是 修改?

\ rLR7K#U)E这些测试不会太容易只是个假设。不仅需要对付 Struts,还必须处理数据层以及数据层与数据库暗含的耦合!在面对复杂性时,我的第一本能是寻求帮助,在这个示例中,是以 JUnit 的 StrutsTestCase 的形式。
0y\%z-W(wQ:TD] A软件测试技术网-q%[qr?

9[y"j"INt&L来自 StrutsTestCase 的帮助软件测试技术网lg ^nr6r

软件测试技术网 fTD4l*Aw

StrutsTestCase 是一个 JUnit 扩展,专门针对 Struts 应用程序。这个框架实际上模拟了一个 servlet 容器,这样就能虚拟地运行和测试 Struts 应用程序,而不必在 Tomcat(举例)中运行它了。框架还有一个方便的 MockStrutsTestCase 类,它扩展了 TestCase 并处理许多 Struts 配置方面(例如装入 struts-config.xml 配置文件)。

%r2K%fp1@u&J%_?

&U#XBtH,^o7s]但是,在您认为自己完全脱离了 Struts 配置的痛苦之前,应当了解一些正确配置 MockStrutsTestCase 的事情。也就是说,需要把它指向代表 Web 应用程序的目录,然后指向必要的 web.xml 和 struts-config.xml 文件。默认情况下,MockStrutsTestCase 扫描这些项目的类路径;但是,要把 MockStrutsTestCase 配置成在特定环境中工作,操作很简单,只需覆盖一些设置并编写一些特定的配置代码即可。 软件测试技术网)a` C7X,I3UQ0W

软件测试技术网 t+J8['C2s\I4s

返回口令验证示例,包含 ChangePasswordAction 类的项目有图 3 所示的目录结构:

1U l0TH(e%N2}#\

KU#j$z$pPW
sk3YQ)GU5x2L清单 3. 示例目录结构软件测试技术网tX{^