Что такое покрытие кода? a. Покрытие кода - метрика, позволяющая оценить оттестированность программного обеспечения. b. Существует несколько критериев покрытия: a. покрытие функций b. покрытие ветвлений c. покрытие операторов c. Добиться 100%-го покрытия ветвлений и операторов как правило невозможно, из-за ветвей обработки ошибок и/или исключений. d. Однако к нему надо стремиться! e. Для увеличения покрытия применяют внедрение ошибок(http: //en. wikipedia. org/wiki/Fault_injection имеется списочек средств)
Оценка покрытия кода с помощью gcov a. gcov часть gcc и используется только с ним b. необходимо добавить компилятору опции : a. -fprofile-arcs b. -ftest-coverage c. -lgcov c. gcov foo. c d. на выходе получим foo. c. gcov e. полезные ссылки: a. http: //gcc. gnu. org/onlinedocs/gcc/Gcov. html про gcov b. http: //gcc. gnu. org/onlinedocs/ значение опций
Оценка покрытия кода с помощью lcov a. часть Linux Test Project b. фактиески обертка над gcov, c более человечным форматом выходных данных c. опции компилятора такие же d. lcov --directory $BUILD_DIR --zerocounters e. запуск f. lcov --directory $BUILD_DIR --capture --output-file %INFO_FILE • genhtml -o $HTML_DIR %INFO_FILE • смотрим $HTML_DIR/index. html • полезные ссылки: o http: //ltp. sourceforge. net/coverage/lcov. php про lcov