在单元测试中主要去测试以下地方是否出错1\入口参数是否一致,也就是变元,这是第一步,2\其次,参数的属性是否和定义的一致,不要定义的是char,却当作INT来用对于有些数据,要测试边界(临界)数据,比如 定义了 256 字节的一个STRING ,在使用中却用了257个字符,或者是一个INT整形,却用来记数超过256的,正整形的却出现负值。
3\要仔细检查数据结构,各种数据定义,是全局变量还是函数内的,是PUBLIC还是PRIVATE有时候错误就是去访问一个PRIVATE 变量,而事前并没有申明引起的。
4\最重要的或者最容易出错的是分配内存,分配内存不足,或者函数执行完毕没有释放内存,这是最容易出错的地方5\当出错了,应该有保护机制,这是一般程序容易出错的,不是没有考虑出错保护,而是出错保护不完善,有些情况没有考虑周全。
6\在单元测试中,因为是白合测试,所以你要考虑程序的执行路径比如在程序中有 5个跳转,要么是 判断语句,if 也可能是判断stitch, 每个跳转都有两种可能,那么就有多少可能?而且由于不是直接跳转,现在的程序不是单任务,串行的,是并行多任务,所以组合就多了,一般是几河指数及增长的,所以需要大量人力去测试各种可能性,要可靠性高,那就穷举各种可能性,不过,你马上会发现这是个天方夜谈,所以,需要你去判断,踢出一些不是关键的步骤只测试关键的步骤或者流程。而这5个跳转后还有很多跳转,这样的组合可以说是一个天文数字,象你这样的程序,不小于 几千百年才能穷举完,靠人是无法实现的。
其次化出每次测试的执行步骤,自己对流程要有清晰的概念。
在单元测试中主要去测试以下地方是否出错这些都是经验但是又是最基本的单元测试要求。
软件测试目前状况,无论人力,经验,都需要大力加强,不过如果条件不足,可以交给专业测试公司,不过目前还很少,一是不愿意透露自己产品的机密,其次嘛,成本也是一个。
|