现在需要给项目里的一个功能写测试代码,这个功能会执行一个比较复杂的流程,输入一批数据后进行一个统计,最后算出几个数字,现在我需要校验这个统计逻辑是否正确。
首先我在测试用例里会把这个流程也执行一遍,拿到它的计算结果(记为 A )。而我的疑问是,我要怎么去校验这个结果的正确性,我目前有两个思路:
- 因为测试用的数据源都是我写死的,我可以根据相应业务逻辑单独算一遍,算出正确结果(记为 B ),然后直接拿 A 、B 去比对,但是这样好像会导致测试用例的可读性和可维护性很差,因为结果 B 被我写死在测试用例里了。
- 或者在测试用例里,模拟这个业务流程重写一遍统计的逻辑,通过代码算出结果 C,然后再对比 A 、C,但这样大概率还是会按照原代码去实现,似乎又达不到测试的目的。
请教下哪个比较合理,或者是否有更好的设计思路。