Я ищу хорошие академические справки о том, как тестировать программы.Кажется, в бенчмаркинге есть много знаний, но я не видел много ссылок, объясняющих, что такое хороший тест, что он плохой, и как его написать.
Спасибо.
С академической точки зрения, соответствующая статья «Статистически строгая оценка производительности Java» из OOPSLA 2007 (которую вы можете найти в Google Scholar);сфокусированный на Java, он содержит общие уроки по бенчмаркингу, а контент о Java прекрасно обобщает большинство языков, работающих на некоторой виртуальной машине и просто использующих сборку мусора.Наконец, они суммируют статистические знания, необходимые для анализа результатов.
Кроме того, вот структура от Google:
http://code.google.com/p/caliper/
И здесь их вики обсуждает некоторые критериидля хорошего теста: http://code.google.com/p/caliper/wiki/JavaMicrobenchmarkReviewCriteria