测试Python和C#代码

发表于:2013-7-30 10:10

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:于 芳    来源:51Testing软件测试网原创

  Monkey补丁修补和映像仅仅是一些测试复杂系统的方法。

  在这个测试复杂系统三部曲系列的第一部分,我覆盖了深入测试的实际角度(方面)并且展示了怎样测试代码的困难块,例如用户界面,网络连接和异步代码。第二部分,讨论一些我曾经成功测试过的C++复杂系统。

  在本文的最后安装部分,讨论类似的复杂系统测试方法像Python(和Swig C++/Python 绑定)和C++,.NET高容量,高可得性的Web服务。

  Python

  Python是强输入和动态输入的语言。它也是一门演绎的语言(即时编译)。这意味着打字错误会在运行时显现,而不是编译时。举个例子,如果你传递一个INT(整型)值给期望得到字符型值的函数,你的程序将仍然可以运行,也许还会成功运行到最后如果你的代码从未遇到不好的调用:

defsayHello(name):
print'Hello, '+name

defsayHelloToMyLittleFriend():
sayHello(5)

sayHello('Jebediah')

  输出:

  Hello,Jebediah

  这个sayHelloToMyLittleFriend()函数包含的不好的调用sayHello(5)从未被召唤,所以这个程序运行正常。因此,你是不是应当在用静态输入的语言写程序时做点不同的事情?不!如果你没有发现那个不好的调用,就代表你没有测试代码路径。

……………………

查看全文请点击下载:http://www.51testing.com/html/73/n-849173.html

  Monkey补丁

  测试Python 代码(和其他动态语言)是件愉快的事情。没有必要去为你的代码设计可测试性,或者去创建特殊的界面,或者跟旧的代码打架。用Python, 你可以到达任何对象的内部,替换它的成员以你喜欢的任何东西。你甚至可以替换函数。再没有比这个更好的了。这个历史悠久的惯例被称作monkey patching。即使在你不用依赖性注入,monkey patching也可以工作,因为你可以在任何时候替换掉那些依赖。在以下的代码例子中,类A实例化了它自己的Dependency依赖:

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号