1、正确性;一个好的算法必需能够正确的执行要求的功能和性能要求。这要求我们对一个算法进行功能测试和性能测试。
2、可用性;一个好的算法能够很方便的使用。测试算法是否具有良好的界面、完备的文档。要求算法的输入和输出都良好的接口,一个算法只完成一个特定的功能与其它模块的藕合尽量少。
3、可读性;一个好的算法应该具有很好的可读性。这样有利于理解、测试。要测试算法逻辑是否清晰、简单、结构化是否好。变量命名具有实际意义。具有适当的注释,对算法的功能、输入、输出、参数使用、重要变量、主要功能段等进行说明。
4、效率;算法的效率是指算法执行时计算机资源的消耗,包括空间上的存储和时间上的运行开销。测试中,要考虑计算机系统、内存、页交换空间大小、算法的复杂性。
5、健壮性;一个好的算法能够处理各种异常和特殊情况。测试中,考虑输入参数、文件打开、读写文件和子程序调用、申请内存空间等是否进行了合理的处理。保证算法是可靠的,安全的。