企业客户提出的关于单元测试方面问题,我给出初步答案,欢迎讨论
问题一:1. 单元测试需要大量的工作量。包括测试用例和测试代码的编写。应该重点考虑王老师提出的采用:一般代码用CodeReview,关键或者包含复杂逻辑的代码才进行单元测试的策略。不过还是希望王老师对这一问题能展开说说。:)
答问题一:
在做单元测试之前,需要对已有的函数做分析,把函数规类。
第一类:非空非注释行,也就是代码行在30行以下的,无需做单元测试。
第二类:函数代码虽然比较多,但是逻辑简单,不设计到算法的,仅仅是简单的处理流程,那么也无需做单元测试。此类函数需要经过慎重分析。
第三类:函数代码量比较大,并且较为复杂,也许函数有自己的算法。此类函数需要做单元测试。
另外,函数的复杂度,需要根据你们项目的实际情况,制定相应的可以量化的标准,这样在分析上述三类函数,有据可依。
需要做单元测试的函数,可以采用类似于集成测试中自底向上的方式,逐层去做每个函数的单元测试,如果这样,已经做过单元测试的函数,就可以作为下一个需要单元测试的函数的桩函数。以次类推,可以解决做桩工作量比较大的问题。
问题二:
2. 测试用例的质量应该如何保证?在编制测试用例的时候很有可能会出现错误情况。
答问题二:
测试用例只能通过评审的方式保证质量,另外,在测试执行的过程,在测试执行后,需要对每个测试执行结果,做具体分析,这样也可以保证测试用例的有效性。另外,在软件开发测试的任何环节中,都可能引入错误。因此,如果打算产品每个环节的质量,那么需要增加相应的投入,这时候,要考虑性价比。
问题三:
3. 测试代码的又应该如何测试呢,如何保证其质量?虽然测试代码出现错误的机率较小,而且排查也相对较快,但是却也有难以调试的问题。
答问题三:
测试代码尽量设计的简单,并且设计那种数据驱动,或者关键字驱动的框架,无需根据每个测试用例都要写驱动和桩代码,这样的方法可以大幅度的规避测试代码引入缺陷的问题。采用数据驱动或者关键字驱动的方式的时候,如果测试代码中存在错误,会导致大面积的测试用例执行错误,这时候,很容易发现测试代码中的问题。
以上是我的一些答复,如果有任何一问,欢迎讨论。^_^ 条理清晰
页:
[1]