1. Используйте систематический, продуманный заранее подход к отладке. Планируйте процесс отладки и тщательно проектируйте тестовые наборы данных, начиная с наиболее простых вариантов, вначале исключая наименее вероятные источники ошибок.
Для упорядочения процесса тестирования собирайте и анализируйте информацию:
• об особенностях и статистике ошибок;
• о специфике исходных данных и последовательности изменения переменных в программе и их взаимном влиянии;
• о структуре алгоритма и особенностях его программной реализации.
2. В каждый момент времени определяйте местоположение одной ошибки.
3. Используйте средства регистрации и отображения информации об ошибках, включая в программу специальный отладочный код для распечатки выборочных значений переменных, сообщений об окончании отдельных участков программы, трассировки логических условий и т.п.
4. Тщательно изучайте полученные выходные данные и сравнивайте их с ожидаемыми, заранее просчитанными результатами.
5. Обращайте особое внимание на данные, обрабатываемые программой, поскольку функционирование программы — это обработка потока данных. Тщательно анализируйте работу программы для граничных значений проверяемых условий, а также при неправильных входных данных, когда необходимо контролировать ошибки, относящиеся к данным. Контролируйте типы данных, диапазоны их значений, размеры полей и конкретные значения переменных и их точность.
6. Используйте совместный анализ потоков данных и потоков управления для проверки корректности в установлении областей определения данных для разных маршрутов выполнения программы.
7. Используйте одновременно различные средства отладки, не останавливайтесь на одной возможности. Привлекайте наиболее мощные автоматизированные средства и одновремейно применяйте ручные методы отладки и тестирования за рабочим столом, проверяя текст программы (индивидуально или группой) с точки зрения ее функционирования и с учетом наиболее вероятных ошибок.