单元测试入门及实践

发表于:2010-5-24 15:22

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

 作者:Zhiming Jiang    来源:51Testing软件测试网采编

  单元测试

  单元测试是开发人员对其所实现功能的代码进行的另外编写的测试,用于检测其代码功能的完整性、正确性和其运行效率,从而提高代码质量,并且在写单元测试时发现功能代码间的依赖等设计问题,从而提高产品的可扩展性。

  这会让开发人员费更多的时间关注于这个,在短时期来看确实是这样,但放到整个产品周期中来评估的话,其时间上来说是节约的,在后期不会陷入整个产品代码无尽的Bug状态,可以说越是在后期越能显现UT的威力,还可以更自信的交出产品。

  目的

  单元测试用来作用于:

  * 代码质量保证

  在开发人员修改代码后保证不会对之前、其它代码产生影响,通过简单的运行测试就可以知道当前修改会产生哪些影响(那些Failed掉的Case即是所受影响的代码)

  * 代码清晰、提高可维护性

  有点代码先过自己一关的味道,这样写出来的代码更优美,更具可维护性。

  * 使项目架构更合理

  在进行UT,可以发现代码设计中不合理的地方,提高代码的配置性,可扩展性。

  Unit Test Framework

  测试框架不仅提供了一整套的判断机制,还提供了运行测试用例的工具,很方便的去运行单元测试用例。

  在.NET中有几个著名的测试框架,NUnit和MS Unit是其中比较火的,关于两者的对比大家可以网上找下,选择一款适合自己的,这里呢,我们使用MS Unit。

  单元测试的方法

  A sample case:

1publicintAdd(intm,intn)
2{
3returnm + n;
4}

  测试1:

  在这种情况下,我们设定一个期待值,并传入两个参数进行运算,然后判断结果是不和期待值相同来进行单元测试。

1[TestMethod]
2 publicvoidAdd_Normal_Test()
3{
4Calculator cal =newCalculator();
5intexpect =3;
6
7intactual = cal.Add(1,2);
8Assert.AreEqual(expect, actual);
9}

  好的测试代码总是从多方面去进行测试,如考虑边界,错误情况下的处理...

1[TestMethod]
2 publicvoidAdd_Error_Test()
3{
4Calculator cal =newCalculator();
5intexpect =3;
6
7intactual = cal.Add(-3000,2);
8Assert.AreNotEqual(expect, actual);
9}

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号