Управление жизненным циклом предприятия с использованием инструментальной линейки IBM Rational / Telelogic. IBM Rational / Telelogic Logiscope. Часть 8.IBM Rational / Telelogic Logiscope Самый лучший способ повысить качество ПО - это стараться не допускать ошибок в процессе ввода исходного текста (кода). Первый шаг на пути предотвращения ошибок - это осознание того, что ошибки действительно можно предотвратить. Больше всего препятствует контролю над ошибками распространенное убеждение в том, что ошибки неизбежны. Это заблуждение! Ошибки сами по себе не появляются - их вносит в текст разработчик. Человеку свойственно ошибаться, так что даже самые лучшие программисты время от времени допускают ошибки, если у них есть такая возможность. Поэтому чтобы уменьшить число ошибок, надо сократить возможность их появления. IBM Rational / Telelogic Logiscope предназначен для качественной оценки уже имеющихся в вашем распоряжении кодов и "поиска" тех мест, где появление ошибок наиболее вероятно. После анализа кода и сравнения его с моделью качества (которая уже заложена по умолчанию, но может корректироваться в соответствии с вашим внутренними правилами), Logiscope формирует массу разнообразной метрической информации о коде, о его положительных и отрицательных сторонах, генерит полный отчет. Результаты анализа представляются в виде числовых показателей (метрик, которых существует около 200 типов), позволяющих судить о качестве исходного кода программ. Logiscope поддерживает функцию обратного проектирования, c помощью которой можно восстановить структуру программы по объектному коду, что полезно для понимания логики ее работы и характера используемых данных (это особенно важно, если вы давно создаете и эксплуатируете вашу систему, множество раз вносили изменения, уже забыли некоторые детали, часть разработчиков уже уволилась). IBM Rational / Telelogic Logiscope cостоит из трех опций - Audit, RuleChecker, TestChecker - каждая из которых имеет свое конкретное предназначение: Audit, анализируя исходный код и сравнивая его с моделью качества, строит граф системы и, анализируя его, информирует пользователя о разрывах, замкнутых петлях, указывает перегруженные или вовсе не используемые блоки, дает качественную оценку кода по признанным критериям, которые могут корректироваться в компании. Это дает особенно наглядный результат, когда работа над кодом велась в компании достаточно долго и разными людьми. В этом случае Audit находит массу лишних кусков, обрывов, "мертвых" блоков, которые весьма перегружают приложение и затрудняют его дальнейшую эксплуатацию и поддержку. RuleChecker применяется для формирования в компании единого подхода к написанию кода. Один из лучших способов уменьшить вероятность появления ошибок - следовать стандартам программирования, что ликвидирует благодатную почву для возникновения ошибок уже на самых первых этапах. Стандарты программирования - это специфические для языка "правила", которые, если их соблюдать, значительно снижают вероятность внесения ошибок в процесс разработки. RuleChecker, используя заранее встроенные шаблоны качества, которые при необходимости могут корректироваться пользователем, подгоняет "своеобразную" манеру написания кода любого пользователя под единый стиль, принятый в компании. Это позволяет, с одной стороны, сократить возможность появления ошибок, а с другой стороны - облегчить работу с кодом любому члену команды, т.е. с легкостью работать не только со "своим" кодом, но и с "чужим", что немаловажно при наличии команды разработчиков и, как это не странно, при текучести кадров - поди разберись потом, что тут наворотил уволившийся ранее сотрудник. TestChecker - позволяет проанализировать насколько полно ваши тесты проверяют работоспособность вами же создаваемой системы. Компонент TestChecker наблюдает за поведением тестируемой программы в ходе ее исполнения и в процессе своей работы строит деревья вызовов, профили выполнения, отмечает невызываемые функции и неисполняемые процедуры. Цель тестовых наборов для "белого" ящика - обнаружить все скрытые дефекты путем всестороннего тестирования системы/блока разнообразными входными параметрами. Предполагается, что эти наборы обеспечивают максимально возможное покрытие функций. Следует однако заметить, что самостоятельное создание подобных наборов, невероятное тяжелое занятие. Поэтому всегда остается сомнение в 100%ом охвате системы. В этом случае всегда желательно иметь инструмент для измерения степени покрытия для оценки полноты тестирования и определения необходимости в дополнительных тестовых наборах.Используя TestChecker, вы избегаете такого рода проблем. По результатам проверки легко контролировать, какие из ветвей графа вашей системы были проверены, а какие нет; какие тесты возможно просто дублируют друг друга. Это также экономит время при последующих тестах, которые необходимы после внесения изменений - вы просто знаете какие именно тесты надо запустить, чтобы не тратить время на проверку всей системы. Так называемое - регрессивное тестирование. Если у вас появится желание протестировать работу IBM Rational / Telelogic Logiscope на своем рабочем месте, то обратитесь к нам (mail@interface.ru), и мы организуем для вас evaluation последней версии продукта со всеми теми опциями, которые вам необходимы.
|