【回眸】Tessy 达不到100%的覆盖度原因分析

1.current_check_fun 已经达到100%

2.judge_hard_ver while(hardVerFun.flag == 0);

当hardVerFun.flag == 0时死循环,无法达到100%

3.driver_com.c bms_pack_send

else if(SSM_MAIN_STEP_FIRST_SETTING == mainSsmFsm.step) 分支不可达

4.driver_com.c com_pck_receive

if(rxComBuf.index >= 12) 小于12不可达

if(_data == BURNER_SHAKE_TAIL)不可达

(((crc>>8)&0XFF) == rxComBuf.data[10])&&(((crc)&0XFF) == rxComBuf.data[9])分支不可达

if(rxComBuf.index >= rxComBuf.crcPos+1) 大于rxComBuf.crcPos+1 分支不可达

crc == rxComBuf.data[rxComBuf.crcPos] 不等于rxComBuf.data[rxComBuf.crcPos] 分支不可达

rxComBuf.data[rxComBuf.crcPos-1] == 0x08 分支不可达

5.driver_display.c

display_pck_send 函数本身覆盖度已经达到100%,内部牵连到的函数太多,其他函数没达到100%影响了整体的覆盖度。

6.smm_fsm_fun.c

ssm_fsm_main_step 圈复杂度太高,mainSsmFsm.preStep == SSM_MAIN_STEP_DISCHARGE分支不可达;adcSta.key.halfWord != 0 等于0分支不可达

7.ssm_fsm_charge_fun.c

ssm_fsm_charge_step函数本身覆盖度已经达到100%,其他函数没达到100%影响了整体的覆盖度。

8.ssm_fsm_discharge_fun.c

ssm_fsm_discharge_step

dischargeSsmFsm.stopPowerOffTicks > 5分支不可达

9.ssm_fsm_setting_fun.c

ssm_fsm_setting_step

((adcSta.keyADC > 1064)&&(adcSta.keyADC < 1966)&&(adcSta.key.bits.modeLong)) 分支不可达

相关推荐
回眸&啤酒鸭14 天前
【回眸】WLB头马俱乐部第九次参会——跨年英语演讲
职场和发展·演讲能力·职场充电