1. A method, implemented at least in part by a computing device, the method comprising: receiving source code that comprises a plurality of code segments; providing threshold levels of code coverage for the plurality of code segments, wherein the threshold levels of code coverage comprise a level as a function of complexity of a respective code segment and a desired level of quality for the source code, in which the complexity of the respective code segment determines the threshold level of code coverage for the desired level of quality such that different threshold levels of code coverage are assigned to code segments of different complexity to achieve a same desired level of quality for the source code; providing results from test cases executed on the source code; identifying a code segment that does not meet its threshold level of code coverage; and recommending one or more additional test cases to increase a level of code coverage for the identified code segment, wherein the one or more additional test cases are recommended based at least in part on one or more complexity measures and the desired level of quality for the source code.