• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

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

软件测试驱动的开发——概述

发布: 2010-11-24 10:16 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 155次 | 进入软件测试论坛讨论

领测软件测试网

允许组件的独立测试。自动测试,至少其中的基于API的程序化方式,可以让你测试程序的不可视部分,例如你认为是程序核心的业务逻辑。编程测试在其它程序(测试代码)中调用你的代码。粒度由你自己把握。如果不考虑程序的任何内部实现,你可以模拟一个web浏览器或者使用鼠标操作桌面的用户,进行黑盒或功能测试。你也可以调用类库德公共API,因为你不考虑API内部的实现,这也可以算作一种黑盒或功能测试。你还可以调用隐藏类或公共类的内部方法,来验证它们按你想的方式工作,因为针对的是独立的方法和类,而且你会知道算法等内部实现细节,这就是单元测试。你要做什么测试,就选择什么级别的细节。

让最终用户自己来验证软件的功能正确。它的作用不仅在于防止破坏用户数据的bug,而且可以帮助发现你的软件在新的环境中可能出现的无法预料的问题。新的环境包括不同的,新的硬件,不同的网络配置,或者各种各样的其它差异。自动测试可以把你的测试转移到其它平台上,确保你的程序在任何地方都能正确运行。

四、工具(Tools)

下面的几个工具对自动测试非常有用:

JUnit。JUnit是单元测试的鼻祖。其它工具经常在JUnit基础上创建,因为JUnit提供了单元测试和功能测试都必须用到的两项功能:断言检查和结果报告。可以在www.junit.org找到JUnit.

HttpUnit。HttpUnit是在JUnit之上构建的测试框架,它支持web应用的黑盒测试和in-container测试。它是功能,你可以用它验证软件符合业务需求,在可视的级别符合预期行为。有趣的是,HttpUnit的基础代码实际上跟测试没什么关系。HttpUnit库的目的是加强HTTP对web应用的访问,它支持的特征包括状态管理(cookies)、请求提交、应答解析(解析),以及网络蜘蛛(web spider)工具包需要的一些特征。HttpUnit还有一个支持容器内测试的类ServletUnit。在JUnit提供的断言功能和结果报告功能的基础上,HttpUnit成为了一个测试web应用非常有用的工具。可以在www.httpunit.org找到HttpUnit。

jUnit. jWebUnit是在HttpUnit上创建的一个辅助工具包,它减少测试web程序需要你写的代码。简单的说,你可以把它当作HttpUnit的宏程序库,提供到HttpUnit代码段的快捷方式,简化web程序测试中的大多数行为。HttpUnit提供相对底层的接口让你自己定制许多事情。你可能觉得jWebUnit有用,也可能不,如果用HttpUnit可以解决你的所有问题,jWebUnit也可以。它可能带来更多的代码,但你有更好的控制。可以在http://jwebunit.sourceforge.net/找到jWebUnit。

StrutsTestCase. StrutsTestCase是为测试Struts应用在JUnit基础上创建的测试框架。Struts是用Java开发web应用的程序员非常喜欢的模型-试图-控制器(MVC)平台,它简化了数据、表示和逻辑分离的易维护性组件式代码开发。Struts使web程序容器间(in-container)的功能测试和单元测试变得复杂,因为它们夹在servlet容器和你的程序之间。这就意味着这个测试框架要认识Struts,能处理Struts的容器间测试。由于不需要知道web程序的内部实现,HttpUnit的黑盒测试仍然工作得很好。然而你无法用HttpUnit做Struts应用的容器间测试,因为HttpUnit要独立的位于你的程序和servlet容器之间。StrutsTestCase是专为Struts程序的的容器间测试设计的。StrutsTestCase可以在http://strutstestcase.sourceforge.net/获得。

五、总结(Conclusion)

如果你同意测试是重要的,而不仅仅是需要的,那么你就会开始自动化你的测试,或者继续已经使用的自动测试。如果你同意自动测试比手工测试优越,那么在开发程序代码的同时发展自动测试就是合理的。维护测试代码只是增加了一点点负担,但它使你不必担心程序是否满足测试代码的需求。采用了自动测试和程序代码修改的同时维护测试代码这两个原则,你就是采用了测试驱动的开发。程序的可靠性质量都会得到提高,你的客户,不管是外面的零售客户,还是其他部门的同事,可能会感谢你,也可能更少的因为软件不稳定打扰你,或者两都都有。最后,写测试代码比反复的用鼠标点来点去的测试软件有趣得多。

现在准备阅读测试驱动的开发系列的下一篇论文。这篇标题为“业务层测试驱动的开发”(“Test-driven Development for the Business Tier”)的论文将探讨服务器端组件测试的细节,包括EJB和普通的Java类。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

44/4<1234

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网