Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Цитата:
Сообщение от SEKL
В явном и простом виде измерить качество кода похоже практически невозможно. Поэтому и пытаются придумать хоть что-то. На самом же деле unit testing, на мой взгляд имеет отношение к качеству очень и очень отдаленное.
Мне кажется, тут имеет место определенное смешение понятий. Говоря о качестве, как правило, рассматривают ПО в целом, а не только код - тем же заказчикам, в конце концов, код совершенно безразличен, в то же время, им, как правило, небезразлично качество получаемого готового продукта - ПО. Среди характеристик качества ПО (если опять же вспомнить книгу, состояющую на 95% из воды) можно выделить- корректность - отсутствие/наличие дефектов в спецификации, проекте и реализации системы
- практичность - тут можно вспомнить эргономику с ее управляемостью, обслуживаемостью, освояемостью и обитаемостью
- эффективность - степень использования системных ресурсов
- надежность - способность системы выполнять необходимые функции в предопределенных условиях; средний интервал между отказами
- целостность - способность системы предотвращать неавторизованный или некорректный доступ к своим программам или данным
- адаптируемость - возможность использования системы без ее изменения в тех областях или средах, на которые она не была ориентирована непосредственно
- правильность - степень безошибчности системы, особенно в отношении вывода количественых данных (не путать с тем, насколько корректно создана сама система)
- живучесть - способность системы продолжать работу при вводе недопустимых данных или в напряженных условиях
здесь следует отметить, что перечисленные характеристики качества ПО взаимосвязаны, причем зачастую улучшение одних характеристики ведет к ухудшению других (например, повышение эффективности, очевидно, может негативно сказываться на целостности, надежности, адаптируемости, живучести, и т.п.). Так вот, во-первых, качество ПО в контексте того или иного проекта достигается за счет определения (приоритезации) тех или иных целевых характеристик качества. В каком-то проекте важнее корректность и правильность, в каком-то - адаптируемость, в каком-то - целостность... Во-вторых, блочные тесты в этом контексте все же имеют определенное отношение к качеству ПО - как минимум, к таким его характеристикам, как надежность, целостность, правильность, живучесть.
Другое дело, если начать говорить именно о качестве кода как о совокупности неких внутренних (не заботящих заказчика) характеристик качества ПО, таких как:- удобство сопровождения
- гибкость
- портируемость
- возможность повторного использования
- удобочитаемость
- тестируемость
к этим характеристикам блочное тестирование действительно имеет отношение очень и очень отдаленное...
|