您的位置:首页 > 其它

学习单元测试, 如何在开发过程中把单元测试也做了

2014-05-13 17:44 225 查看
希望能写质量更好的代码。  从功能角度看, 写好的代码能满足要求。原来开发中没有单元测试。基本是手动测试, 集成测试加上联调。最后提交给测试。这样有很大的问题,  代码改动后,需要重新测试, 手动不仅麻烦, 而且耗时。 不测试也有可能简单的修改, 引入了其他的问题。 我希望单元测试能帮助我解决部分问题。

我的学习资料: dive into python 这本书 13/14 章节。 

需求和设计

需求: 写两个函数: toRoman, fromRoman, 实现罗马数字和阿拉伯数字转换。 能在无效输入报错. (P261-P262 8个小点)

设计: ( 这是书中没有介绍的。 书中先写测试, 测试代码连出错是什么异常都知道, 应该是设计的比较详细)

1. 用异常出错处理, 不用返回值。定义可能的异常。 [先分两大类, 可以分别细分]

输入不合法

处理过程出错, (应该是运行时错误)

1. 接口  (先这么表示吧)

return string toRoman (input int)
return int fromRomen (input string)


1. 如何实现

toRoman 按位翻译成字符串
fromRoman 要提取高位字符串, 用字符比较确定当前位的值。 高位字符串: 从开始到第一位的字符出现前
(书中用对照表要简单些, 把我想象中需要用很多if elif 比较提炼成对照表)


测试和代码

接下来是写代码和单元测试。 书中介绍是先写测试再写代码。 (看到一个好处是代码可以跑跑看, 写对了没)。 我觉得这个太理想。  单元测试代码可能自己也有问题。 具体哪个先写, 个人觉得无所谓。 但一定都有写。 回过头来看, 设计阶段后, 思考测试具体有哪些单元测试(在写代码前)

 和手动测试相比, 写单元测试要花很多时间。 和实际相比, 单元测试很全面,(漏了再往里面加)。 个人感受上写单元测试很耗时, 但手动测试没有测试这么多的内容, 也更多倾向于做工作测试(再手动弄些异常测试)。 是不是真相了。 

 如果真想用上单元测试, 我的详细设计没有这么细。 

  --- 会根据自己的工作情况继续更新

  --- 如果有看到的达人给点意见, 我想写质量很好的代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: