EvoMaster icon indicating copy to clipboard operation
EvoMaster copied to clipboard

How to understand the statistics output file

Open bungdanar opened this issue 2 years ago • 2 comments

Hello, I have question regarding the statistics file.

I have used evomaster to fuzz my simple application that has 3 endpoints. After the fuzzing was done, I checked my application log and there were many requests causing internal server error (500).

When I check the generated statistics file, it shows only 3 errors5xx and 3 distinct500Faults. Does this mean that even if there are many 500 errors on 1 endpoint, they are still counted as 1 error?

Here it is my statistics file content:

Metric Count
evaluatedTests 167
individualsWithSqlFailedWhere 0
evaluatedActions 892
elapsedSeconds 302
generatedTests 4
generatedTestTotalSize 4
coveredTargets 14
lastActionImprovement 430
distinctActions 3
endpoints 3
covered2xx 1
gqlNoErrors 0
gqlErrors 0
gqlErrorsPerLines 0
errors5xx 3
distinct500Faults 3
failedOracleExpectations 0
potentialFaults 6

bungdanar avatar Aug 28 '23 04:08 bungdanar

Hi, from Statistics.kt:

// errors5xx - counting only the number of endpoints with 5xx, and NOT last executed line
add(Pair("errors5xx", "" + errors5xx(solution)))
//distinct500Faults - counts the number of 500 (and NOT the other in 5xx), per endpoint, and distinct based on the last
//executed line
add(Pair("distinct500Faults", "" + solution.overall.potential500Faults(idMapper).size ))

arcuri82 avatar Aug 30 '23 11:08 arcuri82

I am sorry, it is still not clear to me.

Just to be sure, so evomaster only counts the number of endpoints that have 500 error and doesn't count the number of unique requests/payloads that cause 500 error?

Or does distinct500Faults actually describe the number of unique requests/payloads that cause 500 error?

bungdanar avatar Sep 01 '23 15:09 bungdanar