четверг, 29 ноября 2018 г.

Балловая связь

Чиновники для народа

Общественность постоянно сетует на работу чиновников: и не слышат они народ, и взятки берут. Уж и законы об обращениях граждан на них насылали, и штрафы взяточникам взвинтили, а они всё равно рвутся занять должность "слуги народа", чтобы жить по-царски. А может сами подчинённые и избиратели виноваты в том, что продвигаются не те проекты, которые нужны? Как повысить активность граждан? А может подношения вышестоящие воспринимают как необходимую благодарность, которую не получают после окончания дела? Как воспитать всех отзывчивыми? Почему же власть портит людей? Даже мелкую сошку, бригадира или начальника подотдела не узнать через несколько месяцев верховенства. Может они всё время ждут благодарности за свой труд и грустят от неблагодарности "свиты"? Или гордыня затмеваем им основную идею лидерства - вести за собой и опекать подчинённых от неприятностей? А ведь даже родители взращивают своих детей, чтобы в старости было кому поднести стакан воды. Значит и руководитель всегда ждёт своей доли благодарности, и не в виде зарплаты, а чисто по-человечески.
Можете ли вы представить себе, что цифровая экономика и демократия способны воспитывать общество в целом и каждого в частности? При этом можно искоренить кумовство и взяточничество, снизив до нуля человеческий фактор ошибок. И решается проблема довольно просто: небольшое дополнение к закону об обращениях граждан и введение автоматической аттестации для всех уровней руководящего состава.
Техническая реализация заключается в следующем. Дополняем закон об обращениях граждан обязательным завершающим пунктом для выставления отметки об исполнении запроса обратившегося. Для этого предварительно дублируем (переводим) весь оборот обращений и ответов в электронный вид. К сожалению, на этом этапе нет полной автоматизации, так как кроме электронных писем и специализированных форм обратной связи на сайтах существуют очные письменные и устные способы общения, телефонные звонки и смс, посты в соц.сетях и публикации в СМИ.  Но любой разговор всегда можно записать и оцифровать, а бумажные формы отсканировать в цифровой вид. Поэтому будем считать, что все входящие реально регистрировать в электронной базе. Объём обращений можно лимитировать, автоматически рассчитывая пропорцию рабочего времени руководителя и количества подопечных. Например, при 40-часовой рабочей неделе и минимуме в 15 минут на визит мэр города с 5 тысячами полноправных жителей сможет максимально обработать около полутора (4*40*52/5000=1,664) обращений в год от каждого, но не более 8320 (=4*40*52, где 4 - количество обращений в час, 40 рабочих часов в неделе, 52 недели в году без отпуска) всего в год. Соблюдать уникальность обращений и их инициаторов объективно может только электронная база данных. Она же станет и беспристрастным оценщиком исполнительности. Обязав заявителей отправлять электронно отзыв о выполненности или отказе, можно собирать статистику по каждому начальнику и автоматически выставлять им рейтинг. Эта же система самостоятельно будет контролировать исполнение. Например, гражданин подал срочную заявку, которую зарегистрировали в базе (присвоили уникальный идентификатор, завели данные гражданина - паспортные и телефон, суть обращения, дату обращения и высчитан крайний срок исполнения). Если исполнитель уложился в срок, то система отправляет заявителю СМС (исполнена ли заявка, удовлетворены ли ответом/отказом) с обязательным ответом (0 - нет, 1 - да), или автоматическое электронное письмо, или телеграмму обычной почтой. Если исполнитель не уложился в срок, то система автоматически добавит заявку в отрицательный список рейтинга начальника. Если исполнитель всё исполнил, но заявитель не удовлетворён исходом дела, то отвечает "0" и он влияет на негативный рейтинг начальника. Если дело исполнено благополучно, то заявитель улучшает рейтинг начальника. На этом этапе сами исполнители будут бегать за заявителями с просьбой положительного отзыва. И здесь заявителю придётся проявить собственную гражданскую ответственность и объективность. Такой переворот отношений между заявителем и исполнителем поднимет активность граждан, наладит диалог, будет воспитывать отзывчивость, сблизит общение чиновников и общества, приучит говорить "спасибо" даже столь неприятным до селе чиновникам. Поскольку рейтинг конкретного исполнителя будет зависеть от каждого обращения, то чиновники реже станут перенаправлять заявки на иные инстанции и реализовывать собственными силами в положеный срок. Но поскольку менталитет у всех таков, что "не подмажешь, не поедешь", то вполне возможно исполнители начнут предлагать взятки заявителям за положительные отзывы. Поэтому наказания взяточников неизбежны, если каждый гражданин не перестанет контролировать самого себя, хотя подачки поменяют размер и направление. Таким образом чиновника по факту превратятся в слуг народа.
Современные технологи позволяют разделить базы заявок и отзывов, а агрегированные данные вполне можно опубликовывать. Процент выполненных заявок можно раскрасить их объёмом, как это подсчитывается в спорте (кмс, чемпион, чёрный пояс и т.д.), взяв процент от максимального объёма. И в этом случае объективность будет соблюдена за счёт лимита уникальных обращений от каждого заявителя.
Рейтинг руководителей, опубликованный в общем доступе, регулярно и независимо обновляемый, станет не только мерилом ответственности, но и гарантом доверия. Результаты ежечасной работы сложатся в профиль кандидата на вышестоящий пост, либо вовремя покажут причину снятия с должности или необходимость дотаций, внешней помощи.
Аналогичную систему предлагаю и для аттестации руководителей всех уровней. Очень много в стране компаний, на руководящие должности в которых поставлены работники без знаний КЗоТ или с недостатком навыков управления персоналом. В советские времена профсоюзы повышали такой уровень в спец.школах и на курсах. Но сейчас организациям приходится тратить собственные средства на обучение. И поскольку это дорого, то компании экономят на развитии трудовых ресурсов. Если же руководителей всех уровней можно было бы сертифицировать и регулярно аттестовывать, то такой контроль заставил бы начальников знать законы и уметь применять техники руководства. Аттестацию вполне логично возложить на комиссии по трудовым спорам и центры занятости населения. Комиссии по трудовым спорам могут составлять независимые рейтинги на основе обращений работников, количестве увольнений и предотвращённых сокращений штата. А центры занятости могут проводить экзамены на знание КЗоТ и умение применять техники управления персоналом. Сертификацию руководителей можно сравнить с техосмотром автомобилей - отсутствие грозит штрафами, а наличие гарантирует спокойствие подчинённых. Если в этой системе обращения работников в комиссии по трудовым спорам будут бесплатны, а расходы на рассмотрение споров будут оплачивать начальники, то задержки зарплат, сокращение штата и беспричинные увольнения уйдут в небытие. А значит у центров занятости уменьшится объём работ по подбору вакансий и это время распределится на аттестации, организацию курсов. Главным плюсом сертификатов воспользуются кандидаты на замещение вакансий.

среда, 28 ноября 2018 г.

Театральные подмостки

За последние несколько лет город Кольчугино приобрёл внештатное звание театральной столицы.
Но у каждого актёра и режиссёра, выходящего на новую сцену, всегда возникает вопрос о тех неожиданностях, которые могут возникнуть на неизвестном месте.
Для успокоения творческих личностей и вовремя внесённых изменений в постановки описываю здесь театральные площадки.

Название: "6 кабинет ДК" или "Малая Сцена"
Местоположение: г. Кольчугино, Дворец Культуры, 2 этаж, направо по служебной лестнице
Размеры:
- ширина: 420см открытая зона + 70см*2 кулисье (полотно картона, обитого тканью, наискосок 80см*2)
- глубина: 250см + 45см авансцена
- высота: 255см + 45см кулисье
- подиум: 30см
Закулисье:
- задник фанерный, тканевые кулисы натянуты на трос в ширину задника, не закрывая боковые проходы, имеется центральный выход
- два боковых прохода по 85см шириной и в полную высоту
- ширина прохода за сценой 85см
- один центральный проход шириной 75см в полную высоту, навесы для 4-х створок дверей с полукруглым верхом
- в закулисной зоне два окна с жалюзи и плотными шторами, десяток крючков на стене задника
Оборудование:
- крепления: на потолке на всю ширину сцены полозья, удалённые от задника 65см, и трос с кольцами на удалении 75 от задника
- освещение: 2 ЛДС с выключателем за кулисой (4 лампы зала выключаются там же), стационарные 4 белых светодиодные прожекторы и 2 софита с возможностью вставки цвета включаются пультом в зале
- звук: 2 стерео-колонки на стенах закулисья, управляются от пульта в зале, с подключением к ноутбуку
- вход: единый со зрительным залом, перед правой кулисой
- вместимость зрительного зала: от 50 сидячих мест на скамьях и раскладных стульях до 80 лежачих мест на подушках и кубиках
- окна зрительного зала закрыты плотной тканью, единый подоконник 60см глубиной по всей длине зала
- кондиционер на стене зрительного зала у левой кулисы
- гримёрка+костюмерная: отдельное помещение, соседнее с залом, вход через коридор
Фоторяд:
общий вид и освещение
общий вид (склеено) и размеры 
правая половина освещения
закулисье с размерами

Название: Малый Зал
Местоположение: г. Кольчугино, Дворец Культуры, 2 этаж, налево по лестнице служебного входа
Размеры:
- ширина: 490см открытая зона + 95см*2 кулисье (полотно картона обито тканью)
- глубина: 480см + 90см авансцена
- высота: 280см + 45см кулисье
- подиум: 50см с приставными ступеньками
Закулисье:
- кино-экран на задней стене закрывается тканевыми алыми кулисами
- вход на сцену отдельный с площадки балкона Большого Зала
Оборудование:
- освещение: 6 светильников ЛДС из синхронных с залом трёх рядов с выключателем в зале, окна в зале закрыты картонными щитами
- звук: 2 стерео-колонки на стойках, управляются пультом (мобильный из Большого Зала) в зале, с подключением к ноутбуку
- вход: отдельные на сцену и в зрительный зал, из зала на сцену мобильные ступеньки
- вместимость зрительного зала от 130 до 150 кресел и складных стульев
- кино-будка с 4 окнами в соседнем помещении
- кино-экран, пианино, мобильная деревянная ораторская стойка
Фоторяд:






Название: Фойе
Местоположение: г. Кольчугино, Дворец Культуры, 1 этаж, за гардеробом главного входа, между задними входами в Большой зал, на балкон и буфет
Размеры:
* диско-сцена (рядом с выходом на балкон Большого зала):
- ширина: 550см
- глубина: 450см
- высота: 100см
- 3 ступеньки сбоку
* экспо-подиум (рядом с проходом в буфет и гардероб):
- ширина: 600см
- глубина: 230см
- высота: 20см
* танцпол (пространство между диско-сценой, экспо-подиумом и колоннами):
- ширина: ~500см
- длина: ~1400см
- высота: ~450см
* проход (пространство между танцполом и входами в Большой зал, на балкон, в гардероб и буфет):
- ширина: ~250см
- длина: ~2000см
- высота: ~450см
Закулисье:
- выход в гардероб с тканевыми шторами
- выход в буфет с тканевыми шторами и металлическими двустворчатыми решётками
- 3 входа для зрителей в Большой Зал
- выход на балкон, к туалетам и подъезду для зрителей с ограниченными возможностями
Оборудование:
- освещение: люстры-кубы, диско-прожектора и светильники управляются с пульта на диско-сцене
- звук: колонки на диско-сцене управляются с пульта
- 2 больших открытых окна, остальные закрыты непроницаемыми фанерно-тканевыми щитами
- 3 колонны
- пол деревянный крашеный
Фоторяд:









Конечно же, это не полный список театральных площадок в Кольчугине. 


воскресенье, 25 ноября 2018 г.

Скриншоты в доке

Для лучшего понимания инструкций в них включают скриншоты приложений. Но не всегда такие картинки проходят тест на безопасность данных. Чаще ограничиваются только внешней привлекательностью и стройностью интерфейсных элементов, поскольку изготовители документации придают им рекламный тон.
Яркий пример, не прошедший никакого тестирования - Инструкция для ClearSQL.

Техническая подсказка - скриншот окна со скроллером может делать PicPick. Поскольку у меня есть надежда, что опасности будут исправлены вовремя, то намеренно был усложнён полный просмотр.
Первым шагом упор делается на клиента базы данных, но в приложении ClearSQL вполне можно работать и без этой настройки: скрипты в проект импортировать из обычных текстовых файлов, а выполнять в базе напрямую в SQL*Plus (из редактора ClearSQL запускается в один клик и не требует клиента базы). Картинки и текст про версии клиентов базы, приложения и операционной системы в исследуемом нами документе не полноценны:
- в картинках нет пояснения о каком клиенте речь (не хватает слова Oracle - смотри  пункты 1 и 2), потому что чуть ниже прописаны настройки приложения и операционной системы. Такие двойные стандарты путают читателя - сочетать приложение только с операционкой или и с клиентом базы тоже;
- 32-битное приложение работает только с 32-битным клиентом Oracle, но вполне спокойно функционирует в 64-битной операционной системе (смотри пункт 3), а инструкция строго ограничивает 32-битного клиента базы, при этом напрочь забыт универсальный Instant Client. Полноценную информацию следовало разместить в матрице сочетаний.
Инструкция пользователя должна давать необходимую и достаточную информацию для верного выбора шагов применения приложения. Для этого документация проходит тест полноценности.
Четвёртым пунктом отмечена самая опасная информация - персональная. Ответственный тестировщик никогда бы не допустил распространения индивидуальных данных, с помощью которых халявщики могут достать лицензию через запрос о восстановлении (Forgot password) пароля к сайту (customerID имеется, по имени и географии владельца иммитировать e-mail - простая задача даже для junior-tester), а иные мошеники могут начать вытягивать из пользователя приложения мнимую оплату за лицензию. При этом пострадает не только раскрытая всему миру персона, но и компания-владелец продукта на потере оплат за лицензии, спам-атаках по "восстановлению" пароля и исков
о нарушении GDPR. И это после многочисленных статей о пользе и применимости GDPR в продуктах самой же компании.
Интерфейсный тестировщик не пропустил бы такие ляпы, как помечены пункты 5, 7 и 8:
- лишний двойной разделитель в тулбаре;
- разношёрстные кнопки в одном блоке тулбара - разворачиваемость обозначена как соседняя или встроенная функциональность;
- лишний разделитель кнопок в тулбаре, где и без того места мало.
Инструкция рассказывает об импорте скриптов, но создатель скриншотов пожадничал информацией с собственного компа, а тестовый стенд со стандартным набором папок и файлов развернуть поленился. Из-за этого скриншот получился абсолютно бесполезной картинкой: дерево проекта из мастера импорта бессмысленно без дерева файловой системы или объектов базы данных, без кнопок по добавлению скриптов и формированию проекта.
Вроде бы над сайтом и продуктами работает единая команда, но поскольку в блоге существует иная статья про начальные шаги в ClearSQL (смотри пункты 9 и 10), то очевидно отсутствие в команде координатора, который помнит в первую очередь про нужды пользователя и умеет переводить с языка разработчика на доступный пользователю лексикон. То, что важно для программиста, чаще всего является излишним или непонятным для конечного пользователя.
Это был конкретный пример необходимости тестирования любой информации, предназначенной для обычного пользователя и распространяемой в общем доступе.
Игнорирование проверок документации отрицательно сказывается не только на имидже производителя, но и может серьёзно подорвать всю работу над продуктом. Такая болезнь стартаперов зачастую банкротит вполне устойчивые разработки. Предупрежу желающих заработать на конкретной доке от Conquest Software Solutions - пустая затея. Максимум, который вы получите за отчёт об ошибках - подтверждение о получении и последующая публикация исправлений. Моему альтруизму уже много лет, и его первоочередной смысл - в предупреждении и уменьшении чужих пробелов (ошибки программистов, повышение знаний тестировщиков). Но, имея ClearSQL, очень не плохо можно подняться на баг-баунти в любой другой группе разработки (подробнее говорилось в Easy white-box testing).

вторник, 20 ноября 2018 г.

ТО о CS 7.1.2.194

Фикс-билд ClearSQL 7.1.2 (build 194) выложили 15 ноября 2018, но ссылку на пресс-релиз найти не удалось, потому что в обычном месте хранения всех RNs (s3-eu-west-1.amazonaws.com/conquestbucket/Release+notes/CS/) нет соответствующего pdf-файла. Билд был выложен уже после выпуска следующей мажорной версии - 8.0 (12 ноября 2018), что означает наличие серьёзного фикса в предыдущей поддерживаемой версии. Мой отчёт соответствует пунктам Release Notes, которые доступны из главного меню приложения "Help / Release Notes".

IMPROVEMENTS  1.5+0.5=2 из 2+1=3 возможных
SQL*Plus   0.5+1=1.5  из 2 возможных
⦁ Optimized the interaction between ClearSQL and SQL*Plus.
Оптимизировано взаимодействие между ClearSQL и SQL*Plus.
Поскольку нет конкретики, что именно оптимизировано (объёмы передачи данных, скорость или перекодировка), то можно либо мучаться и искать бесконечно разницу между предыдущим билдом и текущим, либо снять балл с пункта RNs за невнятное описание и не тратить время. Проведя пару тестов (выполнение скрипта с UTF-символами и скрипта большого размера) на предыдущем билде и текущем, мне не заметна была оптимизация. Но изменение другого порядка случайно удалось приметить: исполняемый файл для запуска SQL*Plus берётся (ищется) не только в первой папке из списка системной переменной PATH; пункты работы с SQL*Plus добавлены в контекстное меню редактора. За такое усовершенствование могу дать только полбалла, поскольку оно не соответствует словам тех.писательницы.
⦁ Improved messages related to the SQL*Plus feature.
Улучшены сообщения при работе с SQL*Plus.
Для теста выполняем все экшены, касающиеся SQL*Plus, в предыдущем и текущем билдах и выписываем (или сохраняем скриншоты) тексты сообщений. Сравнив тексты, получаем разницу в сторону дружелюбности и увеличения подробностей. Изменение заслуживает балл.
Import Wizard  0.5 из 1 возможного
⦁ File extensions used in the filter are now shown on the status bar of the wizard.
Расширения файлов, используемые при фильтрации, теперь показаны на статусной строке мастера.
Мастер импорта имеет два вида: импорт скриптов из файловой системы и импорт DDL объектов из базы. В данном случае рассматривается только импорт скриптов из файловой системы. Настройка фильтров по расширению файлов "New Project, Import and Link Manager / Files and Folders / File extension filter" доступна в установках  приложения "Options / Preferences". В статусной строке мастера давно имелось место для отображения фильтров, и даже когда-то там они отображались. Так что этот пункт по ошибке расположен в улучшениях, так как ему самое место в числе исправленных багов. Хинт для этого элемента экрана также не изменён, и при огромном количестве расширений, не умещающихся в видимой части экрана, их всё ещё невозможно все увидеть. Так что, пункт получает лишь полбалла. И это весьма высоко оценено, за счёт не снижения общего количества очков за счёт выявленных или неисправленных багов.

BUGS FIXED  1.1+0+0.8+1+1=3.9 из 2+1+1+1+2=7 возможных, -1-1.2=-2.2 за баги
Import Wizard  0+1=1  из 2 возможных, -1-0.2=-1.2 за баги
⦁ Importing package specs with their package bodies no longer raises the warning message that such objects already exist.
Импорт спецификации пакета с его телом больше не сопровождается предупреждением об уже существующем таком объекте.
Описанный баг более вероятно, что проявлялся только при импорте DDL объекта из базы данных. Но для полноты проверки добавим в проект и скрипты из файловой системы. Импорт из базы проведём в следующих вариантах: в единую папку проекта обе составляющие пакета, в разные папки проекта тело и спецификацию, посмотрим вариацию одноимённых объектов в разных схемах базы, аналогично попробуем добавить объектный тип с его телом, обратим внимание на расширения файлов в дереве проекта. Тем самым выполним не только проверку полноценности исправления, но и учтём регрессию, перекрёстность и интеграцию. Нагрузку или безопасность этот фикс не должен изменить, поэтому эти тесты пропустим, а вот на интерфейс (логичность и понимание)стоит обратить внимание, потому что любые ограничения должны быть задокументированы или интуитивно доступны. Тестовыми данными будут одноимённые объекты (пакет и объектный тип с телами) в двух схемах любой доступной базы, причём содержимое объектов берём минимальное, потому что упор в тесте идёт на имя объекта. Также к тестовым данным отнесём файлы скриптов с изменяемыми именами и расширениями. Для создания объектов в базе удобно воспользоваться продуктом SQLDetective и его модулем Stored Program Editor, который способен создать нужные нам объекты с дефолтным наполнением. В нём же вы можете создать текстовые файлы для перепроверки импорта из файловой системы. Стоит предупредить, что объектов в папке базы должно быть более одного, чтобы при последующем импорте не вставлялась папка типа в проект. В предыдущем билде предупреждение об уже существующем скрипте в проекте появлялось при включенных опциях "Objects only" или "Checked only" в мастере импорта из базы в туже папку проекта, но не для импортируемого тела после импортированной спецификации пакета. Этот диалог ошибки усовершенствован в предупреждение с пятью вариантами (всем "да", всем "нет", прекратить), также заменён термин "файл" на "объект" при импорте не из файловой системы, а из базы данных. Пакеты и объектные типы обрабатываются одинаково. На аналогичный диалог заменено сообщение об ошибке при импорте из файловой системы. Это хорошие плюсы фикса. Но, к сожалению, в рамках фикса абсолютно упущен случай "Schemas, type folders, and objects", который безусловно всё также добавляет дубликаты объектов и папок в проект без каких-либо проверок и предупреждений. Считаю это недоправкой текущего фикса и затянувшимся старым багом. По совокупности выясненного исправления пункт RNs не получает балл, так как абсолютно не соответствует новому функционалу, а долгосрочная проблема дубликатов отнимает у билда ещё балл. За неописанные, хоть и полезные, изменения баллов добавлять не имею права, поскольку сокрытие от пользователя информации в среде тестировщиков карается оформлением задачи в баг-трекер.
В процессе тестов мне показалось странным, что мастер импорта из файловой системы до сих пор не оснащён функцией автоматического разбиения импортируемого скрипта на отдельные DDL и DML команды, как это реализовано в "SQLDetective / Stored Program Editor" .
⦁ Objects with similar names but different owners are now imported correctly.
Объекты с одинаковыми именами, но различных владельцев, теперь импортируются корректно.
В пункте RNs не уточнено, но полагаю, что фикс касается только импорта из базы данных с включенной опцией "Include object owner in script content", так что импорт из файловой системы рассматривать не буду. Если предыдущий пункт полноценно тестировался, то можно воспользоваться его шагами и результатами. На какую "корректность" стоит ориентироваться? Ни в какой документации ответ найти нельзя. Поэтому за использование термина без уточнения правил снимаю -0.2 балла. Из числа тестов для предыдущего пункта RNs берём те, что касались опции "Include object owner in script content". Для обоих её состояний смотрим на результаты импорта одноимённых объектов в единую папку проекта из двух разноимённых схем. Наличие диалога вместо окна ошибки в текущем билде позволяет импортировать копии одноимённых объектов из разных схем в одну папку проекта. Так что этот пункт RNs вполне можно было бы с соответствующей формулировкой разместить в блоке новшеств. Изменение получает балл.
Project Manager   1 из 1 возможного
⦁ Fixed the order of code review rules in the “By Code Review” filter.
Исправлен порядок правил кодирования в фильтре “By Code Review”.
Для теста раскроем указанный список в предыдущем и текущем билдах. В такой формулировке мне пришлось потратить намного больше времени на поиск факта исправления, нежели тех.писательница напрямую сказала бы о применении сортировки в алфавитном порядке к наименованиям правил внутри имеющихся групп. За введение пользователей в недоумение исправление получает не полный балл, а лишь половину.
Summary Info   0.8 из 1 возможного
⦁ Script statuses now correctly fit in the “Folder, Scripts, Script Statuses” panel.
Статусы скриптов теперь корректно распределены по панели “Folder, Scripts, Script Statuses”.
Проверку фикса стоит проводить не только в интерфейсной панели, но и в отчёте по проекту при разных состояниях (как в интерфейсе или дефолтные размеры для отчёта) опции "Project Report Assistant / New Report / Summary Options / Panes Size and Position". Для теста лучше взять демо-проект, потому что в нём имеются все нужные данные, в частности, скрипты в разных статусах. Подскажу, что панель “Folder, Scripts, Script Statuses” по-умолчанию расположена на закладке General в интерфейсной панели Summary и на странице "Project/Folder/Script Summary" в отчёте. Разница с предыдущим билдом заметна, если в проекте имеются скрипты всех статусов, потому что легенда чарта в отчёте прижата к значениям папок и скриптов, а в интерфейсе последние два из пяти возможных не умещались при дефолтной высоте панели. О корректности не может быть и речи, поскольку панель в интерфейсе и отчёте всегда имеет различный вид. Из всего выясненного даю фиксу 0.8 балла.
Code Analyzer Options   0 из 1 возможного
⦁ The filter on the Code Review Options page is no longer hidden when DPI 125% and higher is applied.
Фильтр на странице опций правил кодирования больше не прячется при увеличенном разрешении экрана.
Минимальная высота окна настроек анализатора кода изначально не рассчитана на монитор 9*16, и кроме элементов фильтра страницы вне экрана оказываются главные функциональные кнопки всего окна при разрешении монитора более 100%. Выход из положения в максимизации размеров окна. Но даже при максимизации в предыдущем билде не замечено прятание фильтра. Поэтому пункт RNs считается припиской и не получает ни балла.
Preferences 0.8+0.3=1.1  из 2 возможных, -1 за баги
⦁ Sorting of the summary code metrics is now reset to default correctly.
Сортировка суммарных метрик кода теперь восстанавливается в дефолтное состояние корректно.
Какая сортировка или какой её режим считается корректным по мнению тех.писательницы? Это знает только она, поскольку не указала общеизвестное правило, либо не расшифровала истинную причину бага. Поскольку пункт RNs в блоке настроек приложения, то проверять будем только здесь, то есть на странице "Preferences / Main Window / Summary" самый нижний элемент экрана - таблицу "Sort by" в блоке "Code Metrics". В предыдущем билде поиграем с перестановкой сортировок (клик левой кнопкой мыши по заголовку столбца меняет направление сортировки, снимает или устанавливает нумерацию и направление сортируемого столбца): любое изменение сортировки отображается в дереве страниц красной галочкой и кнопка OK активируется, клики по колонкам таблицы отрабатывают в ожидаемом порядке, после исполнения "Reset / Reset Current Page to Default" пропадает красная галочка в дереве страниц и гаснет кнопка OK, а иконки на столбцах перерисовываются после маха мышкой по их экранной области, оставляя сортировку нескольких столбцов в разном порядке. Стоит учесть, что назначение дефолтных значений осуществляется ещё и иными способами: выполнить "Reset / Reset All Pages to Default" в Preferences, установить приложение на чистую от настроек машину или удалить их из реестра и файловой системы. Посмотрим теже действия в текущем билде и выясним отличия. Сразу становится приметным отсутствие иконок фильтрации (красный флаг) и встроенного хелпа (синяя окружность с буквой i). После аналогичных шагов выясняется, что для перерисовки заголовков таблицы теперь не нужно проводить по ним мышкой, а сортировка устанавливается на поле Cyclomatic Complexity. Так что с учётом неясного описания фикс получает 0.8 балла.
⦁ Default sorting of the summary code metrics in Preferences is set to Cyclomatic Complexity, descending and it no longer differs from the sorting on the Summary tab.
Сортировка суммарных метрик кода по-умолчанию в настройках приложения устанавливается по Cyclomatic Complexity в обратном порядке и она больше не отличается от сортировки на закладке Summary.
Исходя из тестов предыдущего пункта RNs сразу заключаем, что сортировка по-умолчанию в обратном порядке ставится на столбце Cyclomatic Complexity, то есть различна с предыдущим билдом. Поэтому необходимо провести тест апдейта: запустить предыдущий билд с установками по-умолчанию, обновить приложение до текущего билда и дождаться предупреждения о смене настройки. Зачем такое проверять? У пользователя может быть настроен автоматический генератор отчётов с последующей отправкой его руководству, а если шеф получит неожиданные результаты, то исполнителю от этого станет весьма плохо. Поскольку продукт для конечного пользователя, а не для самореализации производителей, то любой шаг программиста в первую очередь должен быть обдуман с точки зрения юзера, а не маркетолога. Остаётся допроверить, что эта же установка автоматически переносится в интерфейсную панель Summary. Но не стоит забывать, что значения таблицы Code Metrics доступны не только в разрезе проекта на интерфейсной странице Summary (по-умолчанию, таблица Code Metrics расположена на закладке "Code Metrics - Details", остальные таблицы не упомянуты в RNs), но и в разрезе скрипта на странице "Script: Editor and Analyzer Info / Code Metrics", а также в отчёте по проекту в множественных разрезах (проект/папка/скрипт - суммарные страницы, скриптовые значения, детализация результатов анализа). Хоть два последних места и не упомянуты в фиксе, но их всё же стоит посмотреть для консистентности модулей. Поскольку при тестах предыдущего пункта RNs мы не открывали результаты анализа проекта и скрипта, то не заметили, что в Preferences дефолтная сортировка в таблице Code Metrics на странице "Preferences / Main Window / Summary" равнялась фактически выставленной сортировке в таблице Code Metrics на интерфейсной закладке Summary с результатами анализа проекта и никак не связана с аналогичной таблицей на закладке "Script: Editor and Analyzer Info / Code Metrics", что впрочем логично с точки зрения программиста, но сомнительно для пользователя. В текущем билде настройка в Preferences и сортировка в таблице "Summary / Code Metrics - Details / Code Metrics" связаны в оба направления и применяются точно также, как это и было в предыдущем билде. Отчёт по проекту не имеет никакой настройки для сортировки результатов Code Metrics и берёт их из интерфейса для суммарных таблиц и невесть откуда для скриптовых результатов. Отдельная закладка опций сортировки в мастере отчёта касается только дерева скриптов проекта. В итоге исправление выполнено наполовину, не являлось багом, а должно было быть в числе новшеств с предупреждением о введение дефолтного значения. Поэтому даю лишь 0.3 балла. А за недоделки в отчёте и скриптовом уровне снимаю ещё по полбалла.

Итого по билду: 2+3.9=5,9 баллов из 3+7=10 возможных показывают готовность билда на  59%, за баги снимается -2.2 балла.

понедельник, 19 ноября 2018 г.

ТО о CS 8.0.1.121

Отчёт тестирования первого билда (#121) новой мажорной версии (#8.0.1) продукта ClearSQL (далее - CS) от компании ConquestSS, опубликованного 12 ноября 2018 года. Последний билд предыдущей версии был выпущен пару месяцев назад, но это не значит, что текущую новую версию группа разработки сделала за столь короткий период. Обычно новшества следующей версии готовятся параллельно с фиксами багов в текущей. Проверки будут осуществляться по пунктам Release Notes новой версии с учётом аналогичных фиксов за полгода в предыдущей версии. Также, в самом приложении текст доступен в главном меню "Help / Release Notes". Оценка готовности билда производится в процентных баллах с учётом выявленных проблем.

NEW FEATURES  0.5+0.5+0.5+0.5=2 из 4 возможных
NEW: Metered License. A new license that provides a monthly subscription including 100.000 lines of code.
Новшество: Мерная лицензия. Новая лицензия допускает месячную подписку на 100000 строк кода.
Здесь стоит пояснить недочёт составителя RNs. Ежемесячная лицензия очень дешёвая (10$) и ограниченная не только по периоду использования, но и по количеству строк кода, которые можно переанализировать в рамках такой лицензии. Шестизначное число сначала кажется большим, но если разобраться, то этого количества вам может не хватить даже на один день работы. Из многолетнего опыта сотрудника тех.поддержки всех продуктов ConquestSS могу вас заверить, что средний пакет с телом в продуктах банковской или любой иной серьёзной сферы состоит из 2-3 тысяч строк, а в схеме таких пакетов обычно несколько тысяч. Так что, мерная лицензия никак не сопоставима с серьёзными организациями. Она может лишь заменить триальную версию. Весьма накладно доплачивать за каждый последующий десяток тысяч строк кода для анализа. Могу лишь согласиться с той мыслью, что такой тип лицензирования приучит программистов писать более короткий код. В плане функционального тестирования этого новшества ничего не могу предоставить из-за отсутствия у меня соответствующих прав. Но, зная систему программирования в ConquestSS, могу предположить, что баг с переводом дат (возврат назад до истечения периода) по-прежнему существует. Скорее всего и с подсчётом строк имеются проблемы, когда алгоритм неожиданно требует подключение к Интернету, а потом не может согласовать смену компьютера и передачу ключа соседу, или простенько обнуляется удалением особого ключа из реестра и  файлика. Для вытягивания денег из пользователей CS такая новинка вполне вписывается в стиль ConquestSS-бизнесменов, а если посмотреть на нужды юзеров, то глубоко сомневаюсь, что мерная лицензия с подобными ограничениями станет популярной. Но если я ошибаюсь в понимании функционала, в чём виновато скудное его описание, то может случиться так, что на самом деле ограничение поставлено на каждый из анализируемых скриптов, подобно триальному в 300 строк, а не на общее количество строк во всех анализируемых скриптах. Тогда CS можно считать условно бесплатным приложением, что врядли позволят себе всегда жаждущие халявно наживиться владельцы CS. Кстати, действительно ли мерная лицензия считает строки кода со специальным символом в конце, а не строки файла с обычным переводом каретки в каждой? Поэтому даю лишь 0.5 балла. Если подтвердите мои догадки о багах, то снимайте баллы и за них. В частности, тестом на регрессию будет кейс утери файла ключа и возврат на триал или перевыбор лицензии.
Год назад со мной общался новый маркетолог компании и одним из моих предложений по раскручиванию продуктов был возврат к лицензиям аренды на месяц-квартал-полгода. Немного переиначив старый функционал разработчики ввели понятие мерной лицензии. Мне же, как идейному вдохновителю, ничего от этого не перепало. Вот и верь после этого в "честность бизнеса", которой постоянно бахвалится финдиректор.
NEW: Technical Debt. A new code metric to calculated an assumed cost of fixing structural imperfections in code.
Новшество: Технический долг. Новая метрика кода подсчитывает стоимость структурных изменений кода.
В результатах анализа кода в таблицу с метриками кода и в некоторые графики добавлен показатель, просчитывающий  так называемый технический долг разработчика PL/SQL кода. Формула и параметры расчёта описаны во встроенной справке для страницы "Options / Code Analyzer Options / Code Metrics Options / Technical Debt", но, как видите сами, тех.писательница поленилась упомянуть всё это в RNs. В справке сразу бросаются в глаза двойные символы процента. 
Проблемный текст помощника
Нигде не сказано, на какие исследования ссылается вывод об избранной формуле для расчёта технического долга. Также нет возможности корректировать формулу, даже изменяемые в опциях параметры не отображают своего фактического значения в формуле, что даёт повод подозревать применимость лишь дефолтных значений. Все иные метрики, изменяемые на странице выше "Options / Code Analyzer Options / Code Metrics Options", моментально отображаются во встроенной справке и имеют ссылки на официальные документы и исследования. Выявленные недоработки позволяют мне дать лишь 0.5 балла за новшество.
NEW: “Avoid duplicate code.” A new code review rule detecting similar lines of code, blocks, and scripts in a ClearSQL project.
Новшество: Избегать дублирование кода. Новое правило проверки кода выявляет похожие строки кода или целые блоки, а также скрипты в проекта продукта.
Ранее, при импорте скриптов в проект CS дублирование скриптов проверялось лишь по его имени, либо во время синхронизации скрипта проекта с линкованным файлом или  объектом БД. Теперь в число правил проверки кода добавили сравнение всех строк анализируемого кода на повторимость во всех скриптах, анализируемых в текущей сессии анализатора. Настройка правила имеет "точность" сравнения от 1 до 1000 строк. Лимиты сразу вызывают подозрение, поскольку не имеют значения "unlimited" для полного сравнения скриптов целиком (о фактических размерах которых уже говорилось выше). В начале 2017 года во время подготовки доклада для SQADays-21 у меня возникла идея, что хорошо было бы усовершенствовать диаграммы Flowchart поиском дубликатов, а в результате это предложение смогли сделать лишь в виде правила проверки кода. Хоть и не графически, но всё-таки помощь юзерам CS сделали. Конечно, с отображением и навигацией пока есть проблемы: из списка дубликатов сложно понять с каким конкретно скриптом и строкой имеются дублирования, а также при клике по этим строкам в результатах анализа перенос курсора работает не только в неописанном в хелпе способом, но и логически не понятном. Так что, новшество получает лишь 0.5 балла.
NEW: Quality Trend. A graphical chart representing a trend of issues detected during code analyses.
Новшество: Направление качества. График отображает скачки проблем, выявленных во время анализа кода.
Опять же, мне придётся доделать работу тех.писательницы и пояснить где и что конкретно появилось. В интерфейсе и отчёте по проекту добавлен график в число General, который формируется в трёх разрезах (скрипт, папка, проект), по фактическим датам анализа и показывает четыре линии (количество критичных и важных срабатываний проверок правил кодирования, количество красно-флаговых метрик кода, объёмы технического долга, количество ошибок парсера). Цветовая гамма и стиль графиков не имеют пользовательской настройки, а значения по-умолчанию далеки от логики и ассоциативного ряда. Также нет никакой возможности добавить или изменить графики чарта, поскольку у разных команд разработки качество может определяться и по иным параметрам. Демо-проект, поставляемый с инсталлятором CS показывает пустоту, хоть в истории проекта и скриптов имеются 1-2 анализа. Это признак того, что билд не проверялся даже в такой элементарности, как smoke-test for trial user. С большой натяжкой даю 0.5 балла.

IMPROVEMENTS 1.5+2.5+2.5+0+1.5+0+0+0+1+0+1+1+0+0.5=11.5 из 4+3+4+3+4+1+1+1+1+1+1+1+1+1=27 возможных, -0.5-6-0.5-1-0.5=-8.5 баллов за баги
Core  0.7+0+0.3+0.5=1.5 из 4 возможных, -0.5 за баг
The new trial version of ClearSQL is now available without feature limitations and is active for 5 days.
Новая триальная версия CS теперь доступна без ограничения функционала и работает 5 дней.
Это значит, что триал сократился с 30 до 5 дней. Но с ограничениями функционала есть проблема: на самом деле только 300 строк кода каждого анализируемого скрипта могут быть отражены в результатах анализатора, то есть если вы надумаете перепроверить имеющийся скрипт "PACKAGE BODY ET_DEBUG" в демо-проекте, то результат Code Review и Structure View триальщику будет доступен лишь наполовину, потому что в скрипте изначально более 600 строк текста, то есть около 500 строк кода. Проверим регрессию. Диаграммы и матрицы визуализации кода все теперь без пустых блоков триала и ограничений в 300 строк. Также можно создать проект с количеством скриптов более 50 штук. А вот "градусник" оставшихся дней вводит в заблуждение, показывая 100% в первый день. Особое смущение юзера очевидно будет в несоответствии "градусника" на обновлённом старт-окне (заполняется то жёлтым, то оранжевым без показа процентов) и во всех иных местах продукта (синий уменьшается с величиной процентов и за два дня до окончания красится в красный). Конечно, ужесточение триала по времени сильное, но ConquestSS параллельно стал предоставлять мерную лицензию за дёшево. Жаждущие быстрых денег бизнесмены из ConquestSS подгоняют потенциальных покупателей коротким сроком триала, за время которого сложно понять надобность продукта.  Изменение получает 0.7 балла за неполное описание, сдвиг функционала в отрицательную сторону для юзера.
The service Annual Maintenance & Support is no longer automatically renewed for another period. Now it will get expired in a year but can be extended for another period upon request.
Сервис технической поддержки теперь больше не обновляется автоматически на следующий период. Теперь он заканчивается через год, но может быть продлён на иной запрашиваемый период.
Странно, что полезная для юзера функциональность отменена. С точки зрения бизнеса мне более разумным была бы смена автопродления при своевременной оплате на год, а не как было ранее - 1 или 2 или 3 года. Если у группы разработки в планах выпускать больше новых платных версий в год, а не пятилетку, то годовое ограничение вполне обосновано. Но отмена автоматизации, когда весь мир к ней бежит семимильными шагами, рисуется мне просто глупым шагом разработчиков. Антиполезное изменение не могу проверить функционально, так как не имею соответствующих лицензий и доступа к внутренней базе покупателей. Не могу дать ни балла за подобное вредительство в сфере всеобщей цифровизации.
The usage of lines of code in a subscription is shown as a graph in the Startup and Analyzer Progress windows.
Использование строк кода по подписке показано графически в окнах старта CS и процесса анализа.
В рамках CS 8 существует два понятия о строках кода: функциональное количество по каждой подпрограмме и суммарное количество проанализированных строк всех проектов и скриптов. Скорее всего в этом пункте RNs речь идёт о втором варианте. Поскольку окно старта приложения и окно процесса анализа можно настроить невидимыми (выключить показ при запуске CS, а анализ запускать мгновенно и закрывать сразу по окончании), то информацию о параметрах мерной лицензии необходимо отображать в более привычных местах - "Options / Preferences / License Key" и "Help / About". Полагаю, в качестве графики имеется ввиду интерфейсный элемент "градусник", работающий аналогично с измерением оставшихся дней триала. Для проверки этого элемента стоит брать классы эквивалентности по дням лицензии (триал=0, 1, 2-27, 28-31, 32 и более) и количеству проанализированных строк (0, 1-99999, 100000, 100001 и более) по отдельности и в технике pairwise - совмещением периодов и количеств. К граничным значениям стоит приглядеться очень внимательно, потому что программисты в ConquestSS страдают проблемой знаков больше-меньше-равно. Функционально рекомендую проверить это изменение при отсутствии подключения к Интернету, поскольку сильно подразумеваю, что мерность лицензии контролируется на сервере ConquestSS. А в качестве перекрёстных тестов стоит перепроверить отображение количества проанализированных строк запуском модулей "OSD Check Messages and Updates". Не смотря на то, что у меня нет в наличии соответствующей лицензии, из-за неполноценного описания и реализации изменение получает лишь 0.3 балла.
New startup window:
** Added the ability to buy a subscription plan from the application.
** Added a graph representing the status of the subscription plan.
** Redesigned the look&feel of the window
.
Новое окно старта:
- Добавлена возможность покупать приложение по плану подписки.
- Добавлен графический показ статуса плана подписки.
- Изменён внешний вид окна
.
По-моему, третий подпункт более информативен и по праву должен быть первым, поскольку окно кардинально сменило интерфейс с информативного на функциональный. Теперь в окно старта состоит из двух последовательно появляющихся и в них можно не только выбрать рабочий проект, но и лицензию. Не смогу вас заверить, что окно соответствует по UI и функционалу всем типам лицензий, поскольку не имею их в наличии. Но если у вас появится такая возможность (кроме встроенного триала купите мерную и постоянную лицензии и пакет AMS), то проведите комплекс тестов внешнего вида (UI-, usability-tests), полноты информации (access-test), точности и своевременности данных (function-test), скорости отклика и прорисовки (performance-, load-, stress-tests), вкупе с тестами предыдущего пункта изменений. Поскольку из приложения напрямую теперь можно докупать лицензию, то проверьте этот функционал при отсутствии и наличии подключения к Интернету. Цена на продукт ConquestSS обычно состоит из двух частей - лицензия и техподдержка, но обновлённое окно не доделано, потому что об AMS информации и обновлении забыли разработчики. Функционал кнопки "Open recent" не в состоянии позиционировать на нужном выборе, список моргает и курсор автоматически кликает без ведома юзера по ближайшему к нему проекту. Из всего вышеперечисленного могу дать за изменение только 0.5 балла и сниму -0.5 за баг.
Analyzer View    1+0.5+1=2.5  из 3 возможных
Identification numbers of code review rules are now shown in the rationale panel on the Code Review tab.
Идентификационные номера правил проверки кода теперь показаны на панели с пояснениями к правилу на закладке результатов проверки правил кодирования.
Поскольку  список контролируемых правил кодирования значительно увеличился в одной из прошлых версий и появилась возможность исключать проверку правил кодирования в конкретном скрипте по его номеру, то моим предложением было отобразить в списке выявленных проблем или в пояснениях к ним номер правила, который проще найти в общем списке, нежели полное наименование правила. Да и для исключения правила из скрипта важен лишь номер, а не наименование, который вписывается в специальный комментарий. Для проверки изменения откройте в интерфейсе CS панели "Script: Editor and Analyzer Info / Code Review" и "Summary / Code Review / Top Violated Code Review Rules", разверните их правые подпанели, переходите по таблице с результатами анализа слева и наблюдайте за изменением "Rule ID" справа. Для убедительности в корректности инфы сравните содержимое правой подпанели со списком правил кодирования в "Options / Code Analyzer Options / Code Review Options / General / Rule ID" сопоставляя их Title. Изменение полезное и выполнено, поэтому получает полный балл.
Поскольку однажды выданные номера встроенным правилам были распределены случайным образом, а пользовательские правила хоть и имеют нумерацию свыше 1000, но также сгруппированы по важности и назначению. Поэтому номера правил в самой таблице результатов анализатора не нужны. Для настройки исключений достаточно информации в панели Rationale.
When a folder is selected, the Analyzer View tabs are now hidden as irrelevant. The tabs are shown only when a script is selected.
Когда выбрана папка закладки результатов анализа теперь скрываются как неуместные. Закладки показываются только для выбранного скрипта.
Поясню, что папки и скрипты выбирает юзер в дереве проекта, а закладки никуда не исчезают, а лишь очищают содержимое и выводят предупреждение о необходимости выбрать скрипт. На самом деле панели аналогично функционировали и ранее, а изменению подверглись лишь сообщения в пустых окнах. Поэтому пункт RNs получает лишь 0.5 балла.
Added the section “Anonymous blocks” to “Structure View > Module Analysis”.
Добавлена секция анонимных блоков в структуру по анализированным модулям.
Для тестирования новшества понадобится скрипт с анонимными блоками. К сожалению, в демо-проекте нет соответствующего скрипта, поэтому сделайте его самостоятельно, скопировав в него любые несколько блоков BEGIN-END. После анализа такого срипта можно проверить результат на информативность и локализацию по клику. Не забудьте некоторые блоки префиксовать декларативной частью. Дополненный функционал получает балл.
Summary Info      0.3+1+0.7+0.5=2.5 из 4 возможных, за баги -6 баллов
Thousands, millions, etc., in the summary results are now shown with the multiplier suffix, e.g. 100k, 2m.
Тысячи, миллионы и т.д. в суммарных результатах теперь показываются с мульти-суффиксом, например, 100к, 2м.
Суммарные данные по проекту CS вполне могут быть более четырёх знаков, поскольку рабочие скрипты обычно намного больше ста строк и проекты могут состоять из сотен тысяч подпрограмм. Поскольку триал теперь ограничивается лишь 300 строками кода в каждом скрипте, то попробуем создать проект с количеством скриптов, более 50, а лучше несколько тысяч. Для генерации данных нагрузочного теста можно экспортнуть ("Tools / Export / Export Scripts" с включенной опцией "Keep project folder structure in the target folder") все скрипты (60 штук) демо-проекта в файловую систему, там сделать двадцать копий головной папки (~1200 скриптов и 380 папок) и уже эту кучу папок и файлов импортнуть ("Tools / Import / Import Files" с включенной опцией "Folders and files" и выключенной опцией "Ignore wrapped") в новый проект. Тут подметим сопутствующий баг в мастере импорта скриптов, который перестал отслеживать одноимённые файлы скриптов. После полного анализа такого монстр-проекта обследуем результаты в окне Analyzer Progress, на закладках CRUD2, All Flowcharts, All Call Trees, Project Analysis History, Summary, Project Report и экспортированные таблицы и диаграммы. Этот список намного превышает единственную закладку итогов анализа, потому что данные во всём приложении должны отображаться консистентно, иначе это приложение нельзя считать единым продуктом, а лишь набором различных утилит. В окнах Analyzer Progress, Project Analysis History и экспортируемых таблицах никакие цифры не округляются суффиксом, да и понятно почему - в этих случаях важны точные данные. Но попутно выявился интерфейсный баг выравнивания числовых данных не по правому краю, а по левому, что не соответствует общепринятым правилам.
Желтым отмечены числа без новых постфиксов, 
сиреневым - неудобное выравнивание цифровых величин
CRUD2 результаты получились сильно урезанными из-за неучтённых копий скриптов, а линки на объекты из матрицы ведут лишь на первый в дереве проекта объект. Деревья диаграмм и матриц так и продолжают показывать количества без мульти-суффикса, причём одноимённые объекты расширены нумерацией лишь в списке All Flowcharts. Из всех чартов и таблиц на закладке Summary только пять ("Folders, Scripts, Script Statuses", Code", "Diagrams", "Duplicates" кроме тех.долга, "Synchronizatuon") приобрели вышеозначенные суффиксы. Идентично данные показаны и в Project Report, который странным образом подвисает при стопроцентной готовности. Вроде бы изменение сделано, но при этом утеряна точность данных, которые можно было бы показать полностью в хинте либо добавить настройку в приложение для отображения больших чисел в диаграммах на манер с суффиксом или полностью с определённой точностью. В очередной раз не вижу исправления на закладке Summary, все подзакладки которой открываются без вертикального скроллинга. Выход из положения есть - максимизировать и вернуть размер какой-нибудь диаграммы, но это приходится выполнять после каждого открытия программы и об этом нигде не сказано. Как пользователь, не вижу приобретённых удобств в приложении, заведующем качеством кода. Не полноценное описание пункта RNs и фактически бесполезное изменение продукта добавляет билду лишь 0.3 балла, а из-за выявленных багов билд теряет 6 баллов.
Pointing on the parts of a pie chart now shows hints with the corresponding values.
Указатели на частях чартов теперь показывают подсказки с соответствующими величинами.
Это изменение только интерфейсное, поскольку интерактивность панелей с чартами работает по клику на легенде диаграммы. Описанное сделано и билд получает балл.
Moved the toolbar to the top of the Summary tab.
Тулбар закладки перемещён наверх.
Значительное изменение интерфейса - замена панели с подписанными кнопками на тулбар иконок - чуть добавили высоты этой закладке. Функционально изменилось лишь то, что теперь тулбар можно перенастроить, а кнопки печати по-умолчанию не видно. Поскольку эти подробности не описаны, то пункт RNs получает лишь 0.7 балла.
Information about duplicate code is now shown on the Summary tab.
Информация о дубляжах кода теперь показывается на закладке суммарных итогов.
Подробнее - диаграммы на подзакладке General пополнились ещё одной Duplicates, показывающей количество повторяющихся строк, блоков и скриптов в проекте. Но понять эти цифры довольно сложно на примере демо-проекта, потому что срабатывающий фильтр на 6 скриптов отсеивает только три, тогда как в списке "Summary / Code Review / Top Violated Code Review Rules / Avoid duplicate code" для не фильтрованного дерева проекта перечислены 6 скриптов. Считаю это приобретённым багом. Изменение приносит лишь 0.5 балла.
SQL*Plus   0+0+0=0 из 3 возможных
Optimized work of SQL*Plus.
Оптимизирована работа SQL*Plus.
Чем-то похоже на то, что это и следующее изменения были лишь копией программирования в предыдущей версии CS, поэтому в текущей версии о них не стоило упоминать. Но здесь формулировка весьма амбициозна, поскольку CS всего лишь отдаёт текстовый файл на исполнение в рамках стороннего!!! приложения. Неужели программисты ConquestSS вмешались в разработку от крупного вендора Oracle? Но, скорее всего, это всего лишь непонимание тех.писательницей того, что рассказал программист. Если бы вместо "of" было "with" в тексте RNs, то подобной претензии не было бы. Примечание: синхронизация линкованных объектов базы не использует SQL*Plus. Поскольку не указано, что именно изменилось (ускорено обращение с большими файлами, заменены или добавляются служебные символы [@/;], добавлена кодировка unicode или что-то иное подобное), то и проверять нечего. Двойная (опечатка, нет конкретики) проблема от тех.писательницы не даёт ни балла.
По-хорошему, давно пора отдать на волю юзера CS настройку для выбора стороннего приложения компиляции скриптов: SQL*Plus, sqldeveloper, SQLDetective.
Improved messages related to the SQL*Plus feature.
Усовершенствованы сообщения, касающиеся фичи SQL*Plus.
Этот пункт был уже реализован в рамках последнего билда предыдущей версии, поэтому не получает ни балла.
SQL*Plus options are now available on the Code Editor pop-up menu.
Опции SQL*Plus теперь доступны из контекстного меню редактора кода.
В данном случае тех.писательница допустила ошибку, выбрав термин options, а не features, потому что из контекстного меню редактора кода невозможно открыть страницу "Options / Preferences / SQL*Plus", но допустимо, как и в прошлом билде, запустить или закрыть SQL*Plus. Поэтому не дам ни балла.
Import Wizard    1+0.5+0+0=1.5 из 4 возможных, -0.5 за баг
Accelerated the work of the options that hide/show system and sample schemas.
Ускорена работа опций, которые прячут/отображают системные схемы и примеры.
Опять тех.писательница "функционал" обзывает "настройками", поэтому ей в назидание сниму -0.5 за баг, путающий восприятие пользователя. Текущее изменение можно проверить нагрузочным тестом производительности, замерив скорости заполнения (перепостроения) дерева объектов при различных фильтрах на множество схем базы Oracle. Для полноты тестов и выявления регресса их необходимо сделать на всех поддерживаемых версиях БД (Oracle 9i и выше). Технически, такая правка заключается в сокращении ресурсов, необходимых для исполнения запроса к базе и в усовершенствовании интерфейсного элемента Delphi, отрисовывающего результаты этого запроса. Замеры времени можно выполнять тестами статики, беря у программиста напрямую тексты запросов или перехватывая их спец.утилитами, например, "SQLDetective / Session Navigator / Current Statement". К сожалению, у тестировщиков нет утилиты для измерения времени полной прорисовки и формирования интерфейсного элемента, поэтому нагрузку интерфейса проверять можно только собственными глазами и секундомером. На моих тестовых данных разницы в обращении к базе с прошлым билдом не замечено, а визуально подмечено лишь отсутствие лишних прорисовок для каждой ноды. Поэтому дам балл.
Added the ability to search for files and objects in the file system and database.
Добавлена возможность искать файлы и объекты в файловой системе и базе данных.
Во-первых, поиск объектов и файлов появился не только в мастере импорта, но и в мастере для формирования нового проекта. Во-вторых, окно поиска имеет статус "поверх всех", за счёт чего перекрывает сторонние приложения. Поиск в файловой системе непонятно работает с деревом, отфильтрованным по расширению файлов, и не находит файлы по символам-заменителям (звёздочка, знак вопроса). Аналогичные проблемы и в дереве объектов базы. Новшество хоть и добавлено, но оно такое корявое, что от него никакой пользы. Поэтому даю лишь 0.5 балла.
File extensions used in the filter are now shown on the status bar of the wizard.
Расширения файлов, использованные в фильтре, теперь показаны на строке состояния мастера.
Это абсолютно не является ни новшеством, ни правкой бага. Отображение расширений файлов, как фильтр существовало с самого начала. Пункт RNs - приписка, поэтому не дам ни балла.
Updated the messages shown on trying to import scripts that already exist in the project.
Обновлено сообщение, показываемое при попытке импортнуть скрипты, которые уже есть в проекте.
Поскольку с предыдущим билдом нет никакой разницы, то этот пункт является дубликатом от параллельной разработки текущей и будущей версий CS. В этой версии не стоило включать его в RNs, поэтому ни балла.
Project Manager   0 из 1 возможного
Html tags no longer appear in the captions of the Code Review filter.
HTML тэги больше не появляются в заголовках фильтра правил кодирования.
На самом деле это не нововведение и неисправление бага. Для воспроизведения бага откройте закладку Project Manager у дерева проекта, включите чекеры "Filter Enabled" и "OK Alert", выберите одно правило кодирования в комбобоксе блока "By Code Review", примените фильтр нажатием кнопки Apply. Затем перейдите в дерево проекта и наведите курсор на его строку статусов в области подписи "Filter:". В появившемся хинте отобразится лишний тэг. Пункт не прибавляет билду ни балла, являясь припиской.
Analyzer Progress   0 из 1 возможного
Updated the information message shown before running a project analysis.
Обновлено информационное сообщение перед запуском анализа проекта.
Перед началом анализа может появиться несколько предупреждений в зависимости от выбранных параметров анализа (с форматированием или без, быстро или обычно, с диаграммами или без и тому подобные), но ни одно из них не изменило текст после предыдущего билда. Поэтому за приписку к RNs не могу дать ни балла.
Project Tree   0 из 1 возможного, -1 за старый баг
On trying to save a project to another file, the user is now prompted to save changes to the current project.
При попытке сохранить проект в другой файл пользователя теперь просят сохранить изменения в текущем проекте.
Поскольку проект CS это не один файл, а целая композиция папок и файлов, то текст RNs не корректен: либо речь о переименовании проекта, либо о создании копии проекта с иным именем, либо о создании копии проекта в другом месте. Кстати, до сих пор невозможно сохранить проект с тем же именем, но в иной папке. За этот забытый баг имею право снять с билда балл. В предыдущем билде при наличии каких-либо изменений в проекте перед переименованием и сохранением копии проекта предлагается предварительно сохранить их. В текущем билде предупреждения работают аналогично, из чего заключаю, что пункт RNs - приписка, за которую нельзя дать ни балла.
Project Report Assistant    1 из 1 возможного
When the project is filtered, the option to select the whole project for a report is now called “Include whole project (filtered)”.
Когда проект отфильтрован, опция выбора всего проекта для отчёта теперь называется "Включить весь проект (отфильтрованный)".
Примечание: переименована только опция в мастере генерации отчёта, а пункт главного меню не переименовывается. Это не баг, а логичное поведение приложения. Дополнение полезное и исполнено. Даю балл.
Project Report   0 из 1 возможного
Removed group names from the Observations pages.
Удалены наименования групп из страниц замечаний.
К сожалению, мне - знатоку продукта с первых его дней - абсолютно не понятно о чём речь. Никаких наименований групп на страницах замечаний в отчёте по проекту никогда не было. За приписку баллов не даю.
Code Analyzer   1 из 1 возможного
Package body variables are now included in Instrumented Code.
Переменные тела пакета теперь включены в инструментированный код.
Для исследования новшества можно воспользоваться "PACKAGE BODY ET_DEBUG" из демо-проекта, у которого есть переменные всего пакета, а не только у отдельных его подпрограмм. Для проанализированного скрипта откройте закладку "Script: Editor and Analyzer Info / Instrumented Code" и найдите в дереве ноду "Package Bodies / [ObjectName] / Assigns" и сверьте все её ветки со списком переменных, объявленных в теле пакета. Дополнение имеется и повышает готовность билда на балл.
Export Wizard    1 из 1 возможного, -0.5 за баг
The image export format is now shown on the wizard’s status bar.
Формат экспорта картинок теперь показан на статусной строке мастера.
Стоит подсказать, что речь идёт только об экспорте диаграмм, возможном для Flowchart и Call Tree в разрезе скриптов и проекта, но не для чартов Summary. По-умолчанию, формат экспорта берётся из четырёх настроек для генерации диаграмм "Options / Code Analyzer Options / Diagram Options / Output Diagram Format", но при экспорте выбранных диаграмм формат можно поменять в мастере экспорта на закладке "Diagram Settings" - из пяти для Flowcharts или шести для Call Trees. Если в мастере экспорта диаграмм был изменён выходной формат, то эта опция не сохраняется/восстанавливается после переоткрытия окна/приложения. Это давнишняя недоработка после изменения интерфейса мастера добавлением настроек экспорта. Старая проблема снимает -0.5 балла с текущего билда. А полезное дополнение своим внедрением добавляет билду балл.
Code Editor   0 из 1 возможного
The object owner is now added to default comments generated by ClearSQL on object import.
Владелец объекта теперь добавляется к дефолтным комментариям, генерируемым CS при импорте объекта.
В предыдущем билде в комментариях к импортируемому объекту имеются две  строки без значений об имени объекта и его владельце. Такие же пустые комментарии добавляются и в текущем билде. Поэтому пункт RNs считаю припиской и балла не даю.
Project Analysis Report    0.5 из 1 возможного
Added a new total value: the number of times a project has been analyzed.
Добавлена новая итоговая величина: количество анализов проекта.
Общее количество анализов проекта или некоторых его скриптов существовало давно в "Project Analysis History Report" отчёте, доступном из главного меню "Analyze / Analysis History Report". Но в текущей версии эта информация в конце таблицы обзавелась более подробной подписью. За такое несоответствие описания исполнению дам только 0.5 балла.

BUGS FIXED  0-1+0.5+1.3+0+1.8+0+0+0+0.7+0.7+0.7+0+0+0+0=4.7 из 2+2+5+4+2+2+1+2+2+1+1+1+1+1+1+1=29 возможных, -0.5-1.6-1-0.3=-3.4 за дополнительно выявленные баги
Core   0+0=0 из 2 возможных
An access violation error no longer occurs when an application with a long title is running in Windows.
Ошибка доступа больше не случается, когда приложение с длинным заголовком запускается в окнах.
Во-первых, следовало уточнить, что под термином "Окна" имелась ввиду операционная система OS Windows. Во-вторых, это уточнение излишне, так как CS может работать только в OS Windows, а в иных операционных системах необходимо предварительно запустить эмулятор OS Windows. Но, возможно баг проявлялся лишь в 32-битном или 64-битном приложении, поэтому присмотримся к обоим вариантам. Поскольку заголовок приложения состоит из имён CS и открытого в нём проекта, то для воспроизведения бага создадим проект с одним скриптом (или без них вообще) и очень длинным именем этого проекта в предыдущем билде или версии CS. Но в самом CS создать имя проекта, допустимое для папок и файлов операционной системы не получится, так как имеется обработка (предупреждает о 260 символах, но позволяет меньше). Поэтому для подобного негативного теста придётся в файловой системе вручную переименовать папку и файл рабочего проекта длиной в 259 символов, а в приложении выбрать этот проект. Да, как и предполагалось, 32-битное приложение прошлой версии ругается ошибкой про кодировку, а 64-битное - ошибкой доступа. 
Максимально длинное имя проекта
Но ошибка на самом деле не в отображении длинной строки в заголовке приложения, а в попытке записать эти предельно большие данные во внутреннюю базу приложения. Так что, при формулировке бага тех.писательница оплошала дважды. Проверяя баг в текущем билде обоих вариаций битности, обнаруживаем полное отсутствие фикса. К тому же, окошко процесса загрузки проекта в приложение не может вместить полное наименование проекта. С полной ответственностью могу заявить, что данный пункт RNs - приписка, поэтому не даю ни балла. А если бы это был тривиальный случай, а не негативный тест, то можно было бы и снять балл.
A project copy is now saved under a new name with the postfix “copy”.
Копия проекта теперь сохраняется с новым именем, оканчивающимся словом "копия".
В одном из предыдущих тестов уже говорилось, что CS не позволяет делать копии проектов с тем же именем в любом месте (текущая папка или любая иная, в том числе и на ином диске). Дело в том, что внутренняя база приложения уникальность поддерживает лишь по имени проекта, а не его расположению. И пока этот архитектурный механизм будет оставаться глупым легаси, программисты из ConquestSS будут вынуждены "костылить". Видимо поэтому пункт RNs не в числе новшеств, а в группе багов, хотя по тексту явно тянет на усовершенствование, тем более, что исполнено было в одном из фикс-билдов предыдущей версии. Поэтому за дубляж не даю балл.
Call Trees    -1+0=-1 из 2 возможных, -0.5 за баг
Fixed generation of Call Trees for standalone procedures imported to a ClearSQL Project including their object owners.
Исправлена генерация деревьев вызовов для самостоятельных процедур, импортированных в проект CS с включенной опцией владельца объекта.
Из текста RNs не очень понятен смысл фикса. Будем разбираться через исследования. Для теста нам понадобятся не пакетные процедуры, обращающиеся к объектам БД (таблицы, подпрограммы), префиксованные именем владельца. Не обязательно импортировать такую процедуру из базы, достаточно написать пару вызовов вручную. Хотя в рамках комплексного тестирования можно перепроверить работу Мастера Импорта и его опции про владельца объекта. Предлагаю в качестве примеров следующие скрипты:
-------скрипт 1 с указанием владельцев объектов
create or replace procedure my_owner.my_proc
  as
  begin
    insert into my_owner.my_table (num, prm) values (1, 'yes');
    my_owner.my_func(5);
  end;
-------скрипт 2 без владельцев объектов
create or replace procedure my_proc
  as
  begin
    insert into my_table (num, prm) values (1, 'yes');
    my_func(5);
  end;
------скрипт 3 вызываемый объект с именем владельца
create or replace function my_owner.my_func (val1 in number) return varchar2
  as
  begin
    return ('ok');
 end;
------скрипт 4 вызываемый объект без имени владельца
create or replace function my_func (val1 in number) return varchar2
  as
  begin
    return ('ok');
  end;
Создаём проект в предыдущей версии CS, анализируем все четыре скрипта и оцениваем все объекты с Деревьями вызовов. Далее открываем текущий билд, анализируем этот же проект дважды - первый с удалением Call Tree диаграмм и второй с их генерацией для полной уверенности, что они переформируются. В предыдущей и текущей версиях самостоятельная (не пакетная) функция оказалась в группе пакетов, где имя владельца функции распозналось как имя пакета
Разница и одинаковые проблемы в деревьях вызовов
Это баг парсера и фактически показывает, что в основном-то баг и не исправлен. Для полной убедительности в отсутствии фикса добавим два скрипта вызываемых процедур и допишем в первые два скрипта их вызовы. Самостоятельные функции и процедуры с указанием владельца всегда парсируются как пакетные объекты, вместо самостоятельных. В том виде, как фикс описан в RNs, он абсолютно не исправлен, поэтому не только не дам балл, но и сниму ещё один за некорректную работу парсера. Единственное заметное изменение в дереве вызовов - это добавленные подпапки со списком зависимых объектов. Но такое новшество должно было быть описано в группе усовершенствований. И поскольку этого нет в RNs, то сниму с билда ещё -0.5 балла.
Fixed highlighting of Call Tree diagrams in SVG format.
Исправлена подсветка диаграмм вызовов в формате SVG.
Если сгенерить диаграммы кода в формате SVG, то при изменении позиции курсора доступна функция смены цвета связанных блоков. Для теста нам пригодятся скрипты, созданные ранее. Для проверки текущего фикса надо включить опцию "On mouse over: highlight connected elements (SVG type only!)" на странице "Options / Code Analyzer Optuons / Diagram Options / Call Tree", проверить выбранность формата SVG на странице "Options / Code Analyzer Optuons / Diagram Options", для применения глобальных установок выключить опцию "Options / Preferences / Project Analysis / Keep diagram/matrix local settings" и перегенерить диаграммы. Но поскольку тех.писательница не пояснила частность случая, то никаких перемен заметить не получится. Поэтому билд теряет балл за приписку.
Import Wizard   0+0+0-0.5+1=0.5 из 5 возможных
Enabling “Hide system schemas” now removes all relevant nodes from the tree.
Включение опции "Спрятать системные схемы" теперь убирает все соответствующие ноды из дерева.
Правильнее было бы разместить этот пункт в числе усовершенствований и перечислить схемы, которые в определённых версиях базы расширили список системных объектов. Результаты тестов одного из предыдущих пунктов могло быть достаточно, если они проводились в разрезе поддерживаемых версий базы. К сожалению, у меня нет всех версий баз и исследовать подробности фикса мне не на чем. И поскольку тех.писательница не потрудилась описать подробности изменения функционала, то билд недополучает балл.
Importing package specs with their package bodies no longer raises the warning message that such objects already exist.
Импортируемые спецификации пакета с пакетными телами больше не вызывают предупреждения о существовании такого же объекта.
Абсурд, что подобный баг мог быть. При импорте из базы скриптам со спецификацией и телом пакета даются различные расширения файлов и они получаются разноимёнными, даже если выключена опция "Options / Preferences / Main Window / Project Tree / Show file name with extension", распространяющая своё действие и на правое дерево в Мастере Импорта. Естественно, баг не воспроизводится в предыдущем билде и не приносит текущему балл.
Scripts that have comments defined between the object type and object name are now imported correctly.
Скрипты с комментариями между объявлением объектного типа и именем объекта теперь импортируются корректно.
Поскольку импорт скиптов из файловой системы может лишь добавить комментарии в заголовок, то скорее всего этот фикс про импорт из базы данных. Зная, что содержимое (DDL) хранимых подпрограмм хранится в базе (смотрите системные вьювера SYS.ALL[DBA/USER]_SOURCES) построчно, начиная со служебного слова о типе объекта. Создать объект с комментариями между его объявлением и именем можно в Stored Program Editor продукта SQLDetective, но последующее переоткрытие такого объекта в этом редакторе может уничтожить добавленные комментарии. Создайте два объектных типа с однострочным и многострочным комментариями непосредственно перед именем и после служебного слова TYPE. Импорт из базы портит такие скрипты удалением многострочного комментария и недобавлением служебных слов CREATE OR REPLACE в скрипт с однострочным комментарием в одном из билдов предыдущей версии. А поскольку последний билд предыдущей версии импортит объектные типы с комментариями без порчи функциональности DDL, то текущий билд недополучает балл.
Objects with similar names but different owners are now imported correctly.
Объекты с одинаковыми именами, но разными владельцами, теперь импортятся корректно.
Вопрос сразу к термину "корректно" - в чём может быть правильность и глючность такого процесса? Они попадали в единую папку или проверка источника не учитывала отдельные параметры? Тех.писательница прикрыла свою малограмотность запретным термином, при этом не раскрыла причины проблемы, что могло служить обходным путём на время существования бага. В предыдущем билде пытаемся воспроизвести ошибку для уточнения RNs. Мои тесты показали, что в процесс импорта одноимённых объектов от разных владельцев добавлена излишняя проверка  на совпадение имён объектов, импортируемых в разные папки проекта. Ни о какой корректности речи не может быть. Балл дать за лишние проверки не могу, даже надо снять за такое -0.5.
The option “Uncheck All” on the “From Database” tab is no longer available when nothing is selected in the tree.
Опция "Выключить Все" на закладке "Из Базы" больше не доступна, когда ничего не выбрано в дереве.
Интерфейсное изменение-подсказка о том, что ни одна из нод дерева не выбрана, могла бы вполне дополнить группу усовершенствований. Но если посмотреть на проблему с точки зрения стандартов интерфейса, то это исправлен баг контекстного меню, как элемента экрана. Фикс сделан и приносит балл.
Preferences   0+0+0.5+0.8=1.3 из 4 возможных
Sorting of the summary code metrics is now reset to default correctly.
Сортировка итоговых метрик кода теперь возвращается к исходной корректно.
Интерфейс продукта показывает итоговые результаты анализа на закладке Summary, настройка сортировки, фильтров и группировок которой устанавливается на странице "Options / Preferences / Main Window / Summary". Текущий баг касается последней опции на этой странице, для управления которой необходимо проскроллировать в самый низ страницы и в блоке "Code Metrics" найдёте таблицу колонок для установки сортировки. Поскольку в Preferences устанавливаются опции глобально, то и они имеют некоторые свои исходные значения, которые можно восстановить тремя способами: удалить ветку реестра и файлы с настройками, либо выполнить "Reset / Reset All Pages to Default", либо "Reset / Reset Current Page to Default" в Preferences. Если пользователь CS сменит сортировку в таблице "Summary / Code Metrics - Details / Code Metrics", то она синхронизируется с Preferences. Примечание: настройки страницы "Options / Preferences / Main Window / Summary" никак не влияют на отображение итогов анализа по скрипту на дочерних закладках "Script: Editor and Analyzer Info". Тесты исправления проводить бесполезно, так как эта же правка числится в последнем билде предыдущей версии. Это значит, что тех.писательница не актуализировала RNs перед выпуском текущего билда, за что билд теряет балл.
Default sorting of the summary code metrics in Preferences is set to Cyclomatic Complexity, descending and it no longer differs from the sorting on the Summary tab.
Сортировка суммарных метрик кода по-умолчанию в настройках приложения устанавливается по Cyclomatic Complexity в обратном порядке и она больше не отличается от сортировки на закладке Summary.
Аналогично с предыдущим пунктом RNs, это является дубликатом из последнего билда предыдущей версии CS, поэтому текущий билд также теряет балл из-за неактуализированных RNs.
The eye icon now works correctly in the “Password” field of the Internet Connection page.
Иконка глаза теперь корректно работает в поле пароля на странице настроек подключения к Интернету.
Этот баг был обнаружен мной в результате проверок RNs двух предпоследних билдов CS 7.1.2. Но в моём ТО, кроме упомянутой страницы, речь шла и о поле пароля при подключении к базе данных. В обоих полях, открытых с имеющимся значением, при начале правки не стирались имеющиеся символы и не рисовалась иконка-глаз, а на странице настроек Интернета иконка-глаз вообще никогда не появлялась. Вторая проблема (регрессия) касалась сохранения введённого значения на странице настроек, когда оно не должно было запоминаться (окно закрывалось по крестику или кнопке Cancel) и её решение будем проверять в следующем пункте RNs. Текущий же фикс выполнен не полностью, то есть термин "корректно" здесь не уместен, потому что переключение со звёздочек на реальные символы возможно лишь при вводе значения в чистое поле. А редактирование имеющегося значения не отображает иконку-глаз и не стирает предыдущее значение, как это работает в окне подключения к базе данных и является наиболее правильным с точки зрения безопасности. За неполноценность правки даю лишь 0.5 балла. Но более логичнее было бы разместить это в блоке усовершенствований, как "добавление индикатора переключения кодировки вводимого пароля при настройке интернет-подключения".
Unsaved preferences are no longer restored after restarting ClearSQL.
Несохранённые настройки больше не восстанавливаются после перезагрузки CS.
В данном случае формулировка понятна лишь мне, как репортеру бага регрессии, выявленного в одном из предыдущих билдов. Для воспроизведения бага лишнего сохранения опций на перезагрузке приложения придётся иметь лишь один-два предпоследних билда предыдущей версии, в котором изменить (дописать) имеющееся значение пароля на странице настроек интернет-подключения, закрыть окно настроек по крестику или кнопке Cancel, перезагрузить приложение без переоткрытия окна настроек и убедиться, что исправление в поле пароля сохранилось вне зависимости от того, что никакие данные не должны сохраняться при закрытии окна по нажатию на крестик или кнопку Cancel. В текущем билде значения не восстанавливаются ни после перезагрузки приложения, ни после переоткрытия окна (перепроверили регрессию), если до этого их не подразумевалось сохранять (окно закрывалось по крестику в правом верхнем углу или по кнопке Cancel). Примечание: окно настроек приложения не имеет отдельной кнопки Apply для применения и сохранения опций. Поскольку описание бага не конкретизировано для всех пользователей CS, то даю лишь 0.8 балла.
Code Analyzer Options   0+0=0 из 2 возможных, -1-0.1-0.5=-1.6 за баги
The filter on the Code Review Options page is no longer hidden when DPI 125% and higher is applied.
Фильтр на странице опций правил кодирования больше не прячется при разрешении экрана в 125% и более.
Страница настроек анализатора со списком правил кодирования имеет множество интерфейсных элементов, часть из которых не масштабируются при смене разрешения экрана. Примечание: изменить настройки монитора без перезагрузки компа вы можете в операционной системе, каждая версия которой имеет свой путь к параметрам экрана. Изменять параметры экрана более корректно не при запущенном приложении. Поскольку опций на тестируемой странице стало много, то и минимальные размеры окна увеличились, но даже это не спасает страницу от пропадающих элементов. Кстати, минимальная ширина окна такова, что даже при 100%-ном разрешении экрана комбобокс фильтров всё-равно пропадает, если правая панель деталей развёрнута до малой видимости значений или левое дерево списка опций раздвинуто более необходимой ширины. Но эти вариации не стоит проверять, так как они не учтены программистом. Тестировать будем минимальный случай: левое дерево со списком страниц имеет минимальную ширину или всё свёрнуто, правая панель деталей свёрнута, всё окно имеет минимальные высоту и ширину. Откроем в предыдущем билде страницу настроек, сделаем снимок экрана, откроем эту же страницу в текущем билде и визуально сравним размеры видимых элементов. Они окажутся одинаковыми. Закроем CS, сменим разрешение экрана и проделаем те же вышеописанные шаги. Поскольку у моего компа максимальная высота экрана 768 пикселей, то весь низ окна, включая кнопки панели фильтров и тем более кнопки основного функционала всего окна, оказывается невидим без возможности скроллирования или изменения высоты окна. Это факт того, что блокирующий баг не позволяет мне протестировать текущий фикс. Поэтому билд недополучает балл за пункт RNs и теряет балл за блокер. А документацию продукта в области системных требований стоит расширить, введя минимальные размеры экрана, на котором пользователь смог бы работать в CS полноценно. При мне было введено ограничение по максимальной высоте окон, допустимое для поддерживаемых на тот момент операционных систем и популярных мониторов. В данном случае это ограничение либо забыто разработчиками, либо изменено по каким-то аналитическим данным, но не отражено в документации для пользователей.
Clicking “Uncheck All” on the Code Review Options page and in the Rule Suppression Template Editor when a filter is applied now unchecks only filtered items.
Клик "Отключить все" на странице опций правил кодирования и в редакторе шаблонов скрываемых правил при применённом фильтре теперь отключает только фильтрованные позиции.
Функцию снятия выбора будем проверять раздельно и в пересечении (заодно перепроверим достаточно новый функционал на регрессию) на двух страницах настроек анализатора "Options / Code Analyzer Options / Code Review Options" и "Options / Code Analyzer Options / Code Review Options / Rule Violation Suppresion / Rule Supression Template Editor - Template [TemplateName]". Кстати, выявлена опечатка в имени страницы опций: есть - "Rule Violation Suppresion", надо - "Rule Violation Suppression". За такое сниму -0.1 балла. Страницу "Options / Code Analyzer Options / Code Review Options / Rule Violation Suppresion" также стоит проверить на аналогичный функционал, потому что конкретное действие выключения и включения всех подсвеченных позиций на ней предусмотрено пунктами контекстного меню "Enable/Disable Selected Rules". Стоит пояснить некоторые термины. Строки в этих таблицах подсвечиваются по экшену Select All контекстного меню (или кликом мыши при нажатых клавишах Ctrl или Shift), а чекеры в поле Enabled выставляются экшеном "Enable/Disable Selected Rules" или "Check/Uncheck All/Selection". По результатам моих тестов ни установка, ни сброс чекеров ничем не отличаются в предыдущем и текущем билдах при наличии и отсутствии фильтрации на всех трёх страницах. Это говорит о том, что баг в его конкретной формулировке не существовал. А за приписки RNs баллов не даю. Но также тесты выявили проблему с сохранением подсветки строк после смены условий фильтрации. Например, при нулевом фильтре подсветите несколько (10-20) первых строк, выберите фильтр с отсеиванием некоторых подсвеченных строк (Severity = Major). Как промежуточный результат теста вы заметите, что несколько первых отфильтрованных строк подсвечены. Далее выключите все подсвеченные правила (Disable All Selected), верните фильтр в нулевое состояние (Any = Enter filter criteria). Как подтверждение моей гипотезы о баге, некоторые первые строки, не вошедшие в предыдущий фильтр, не подсвечены и включены, а выключенные группой в предыдущем фильтре всё ещё подсвечены. Выявленные подробности тянут на интерфейсное несоответствие общепринятым правилам и вычитание -0.5 балла.
Summary Info   1+0.8=1.8 из 2 возможных, -1 за баг
The maximize button is now available on all panels.
Кнопка максимизации теперь доступна на всех панелях.
Четыре панели с чартами из группы General закладки Summary с графическими результатами анализа не имели возможности разворачивания на всю рабочую область в предыдущем билде. Фикс сделан и приносит балл билду. Дефект был интерфейсный, поэтому смежный функционал в Project Report тестировать не имеет смысла. Но в то же время пришлось в очередной раз помучаться от бага на всех интерфейсных закладках Summary, не позволяющего просмотреть все имеющиеся данные. Дело в том, что при первом открытии в каждой сессии приложения на всех закладках Summary отсутствует вертикальный скроллер, а чтобы его активировать приходится максимизировать какую-нибудь из панелей закладки. За старый неправленный интерфейсный баг сниму балл.
Script statuses now correctly fit in the “Folder, Scripts, Script Statuses” panel.
Статусы скриптов теперь корректно размещены на панели папок, скриптов и статусов.
В прошлом билде легенда чарта могла не полностью умещаться в минимальном размере панели. Но этот глюк можно приметить лишь на проектах со всеми возможными статусами скриптов. Эта конкретика не была прописана тех.писательницей, что приводит пользователя к недопониманию. Из-за такого наплевательского отношения кюзерам правка приносит билду не полный балл.
Project Tree   0 из 1 возможного, -0.3 за баг
Clicking “Select None” now leaves one node selected, and the status of the “Analyze” and “Syntax check” options is now validated depending on the type of selection.
Выключения всех выборов теперь оставляет выбранной одну ноду и статусы опций для анализа и проверки синтаксиса теперь валидируются согласно типу выбора.
В дереве проекта существует довольно сложная система подсветки и выбора нод: для анализа скрипта и отображения аналитической информации достаточно на него поставить курсор или подсветить несколько нод (CTRL/SHIFT + MouseClick; удерживая левую кнопку мыши обозначить область выделения - LeftMouseDrag - так можно подсветить ноды скриптов и папок, но без выбора папок), выставление чекера папки выбирает все входящие в неё скрипты и саму папку для последующего анализа или отображения, печати результатов анализа. Подсвечивание папки без включенного чекера не позволяет проанализировать или вывести в отчёт её содержимое, но показывает суммарную информацию в интерфейсах. При выполнении экшена по снятию всех выделений текущий курсор мыши может быть на папке, скрипте, корзине или пустом пространстве дерева. Если подсвечено несколько нод, то текущую визуально можно определить по серо-точечному контуру. К сожалению, все тестовые вариация показали идентичную работу предыдущей и текущей версий дерева проекта. За отсутствие изменений балл дать не могу. К тому же остался интерфейсный баг, когда нода корзины излишне подсвечивается после снятия всех выделений. Ещё одна проблема с выбором нод приводит к казусу, когда корзина никак не подсвечена, но в отчёт почему-то пихают её, а не верхнюю папку.
Отчёт по невыбранной корзине?
Старые баги снижают билд на -0.3 балла.
Project Report    0+0=0 из 2 возможных
Added explanation hints to the links on the Report Summary page.
Добавлены поясняющие хинты к линкам на странице итогов отчёта.
В отчёте по проекту первая страница состоит из итогов интерактивного отчёта. В нескольких таблицах собраны суммарные значения, к почти каждому из которых имеется линк, фильтрующий дерево отчёта. Если вы получите два отчёта по одинаковым демо-проектам, хоть и в разных версиях CS, но никакой разницы в наличии хинтов или их текстов обнаружить не получится. Так что, билд недополучает балл.
Invalid or outdated diagrams and matrices in a project report are now marked with a red warning message.
Инвалидные или устаревшие диаграммы и матрицы в отчёте проекта теперь отмечены красным предупреждающим сообщением.
Странно, что это дополнение к отчёту проекта расположено в числе багов. Поясню два термина. Устаревшими диаграммы и матрицы становятся при внесении изменений в текст скрипта без последующей его компиляции. А инвалидными становятся при валидации имевшихся диаграмм и матриц без их генерации во время анализа изменённого кода. Устаревшие визуализаторы кода никак не отмечены в интерфейсе. Но если включена опция "Options / Preferences / Main Window / Visibility of Instant Help for Analyzer View Panels / Miscellaneous / Modified script warning", то в интерфейсе выдвигается целая панель с предупреждением, но в отчёте так ничего и не появилось. А инвалидные визуализаторы кода стали помечаться в отчёте ещё в начальных билдах предыдущей версии. Факт, но ничего описанного не сделано. Поэтому ноль баллов.
Split/Rename Project Script    0+0=0 из 2 возможных
Fixed the error that is shown on trying to rename a non-txt script.
Исправлена ошибка, которая показывается при попытке переименовать нетекстовый скрипт.
Мастер переименования скрипта не доступен для нетекстовых скриптов, которыми могут быть canvases из числа Oracle Forms. Если же скрипт имеет любое не txt расширение, то это не мешает работе мастера по переименованию. Возможно более конкретное описание фикса или его причин позволили бы мне поглядеть на текст ошибки, но тех.писательница поскупилась на пояснения, из-за чего билд недополучает балл.
Fixed the error message shown on trying to rename a script according to its object type.
Зафиксировано сообщение об ошибке, показываемое при попытке переименовать скрипт, согласно его объектного типа.
Скорее здесь имеется ввиду не имя самого скрипта, а в большей степени - расширение файла, которое настраивается в двух местах: 1) для импорта объектов из базы "Options / Preferences / New Project, Import and Link Manager / Database Source / Database Object File Extension Assigment"; 2) "Options / Code Analyzer Options / Code Review Options / File Extensions" - для сверки правила кодирования "78 - The object type doesn't correspond to the file extension". Переименовать скрипт можно вручную по двойному клику по ноде скрипта в дереве проекта или через контекстное меню "Rename", либо по правилу кодирования через мастер переименования, доступный из контекстного меню "Rename Script by Object Name and Type". О чём может быть сообщение при ошибочном переименовании? К сожалению, тех.писательница не уточнила, а наша тестерская фантазия и опыт может накидать безумное множество вариантов. Попробуем пару из них: присвоить имя или расширение, которое не соответствует правилу; переименуем в одноимённый, уже имеющийся в проекте или папке. Мастер переименований по правилу кодирования жёстко не ограничивает вручную введённое имя и расширение, а значит никаких сообщений об ошибке получить не сможем, кроме проверки на полное совпадение по имени и расширению с другим скриптом в этой же папке. Также сожалею, но никакой разницы в тексте этой ошибки в прошлой версии CS и текущей нет. Поэтому считаю пункт RNs припиской и балла не даю.
Project Manager   0.7 из 1 возможного
Fixed the order of code review rules in the “By Code Review” filter.
Исправлен порядок правил кодирования в фильтре по ним.
Фикс является дубликатом из последнего билда прошлой версии. Для воспроизведения отсутствия сортировки правил по-алфавиту внутри каждой группы воспользуйтесь предпоследним билдом предыдущей версии приложения. За дубликат фикса и не конкретное описание могу дать лишь 0.7 балла. Примечание: для просмотра списка правил при настройке фильтра дерева проекта включите две галки "Project Manager / Filter / Filter Enabled" и "Project Manager / Filter / OK Alert", а потом сможете развернуть комбобокс в блоке "Project Manager / Filter / OK Alert / By Code Review".
Analysis History    0.7 из 1 возможного
Summary charts are no longer duplicated.
Суммарные чарты больше не дублируются.
История анализов с отображением чартов интерфейсно имеется в двух разрезах - скриптовом и проектном. О какой из закладок анализатора речь - тех.писательница поленилась уточнить. Поэтому нам придётся искать баг в обеих. Полагаю, что это был какой-то частный случай, поскольку функционал довольно старый и в нём давно ничего не менялось. Поэтому вполне можем высказать тех.писательнице своё "фи-и-и" за отсутствие подробностей или причин бага. Ещё один минус этого пункта RNs в том, что сам фикс является дубликатом из последнего билда прошлой версии CS. По результатам моих исследований текст фикса должен был звучать иначе: "Легенды суммарного чарта больше не дублируются, а перерисовка всей панели графиков скриптового и проектного анализа больше не оставляет выключенные графики". Баг появился при переходе на два компилятора разной разрядности операционной системы. Почему его так долго не правили? Скорее всего никто из тестировщиков его не успел выявить, поскольку РМ понятия не имеет о правилах и объёмах регрессионного тестирования, но задачи отделу тестирования распределяет ежедневно сам. Полный балл дать никак не могу.
Analyzer View    0.7 из 1 возможного
Fixed handling of the toolbar visibility, so the Analyzer View tabs no longer blink while a new license key is applied in Preferences.
Исправлена поддержка видимости тулбара, теперь закладки просмотра результатов анализа больше не моргают пока применяется лицензионный ключ в настройках приложения.
К сожалению, не уточнено, о каком конкретно тулбаре речь (главный, дерева проекта, на какой-то из закладок с результатами анализа), поэтому наблюдать будем за главным. Также не конкретизированы закладки с результатами анализатора, поэтому для теста возьмём итоговую Summary. Процесс применения лицензионного ключа можно запустить для любого файла особого наименования, поэтому можем взять файл триального ключа (в рабочих папках CS - "cs_unlck_71.trl" и "cs_unlck_80.trl") и переименовать их в "cs_80_MyLic.lic" для текущего билда и "cs_71_MyLic.lic" для предыдущего. Откроем "Options / Preferences / License Key" так, чтобы видеть главный тулбар и закладки анализатора, в поле "Select License Key File / Manually:" выберем файл лицензии и понаблюдаем за интерфейсом приложения, позади текущего окна. Далее, на странице "OSD Update/Messenger" поправим удобные настройки обновлений (если тестируете CS на машине без Интернета, то переведите в Manual оба типа проверок обновлений). Если не успеваете ничего заметить, то запишите все свои действия над интерфейсом в видео-файл, например, приложением UVScreenCamera или Free Screen Video Recorder. Не знаю зачем, но в прошлом билде перерисовывался главный тулбар и некоторые закладки анализатора (CRUD2, All Call Trees), а в текущем билде осталась перерисовка только главного тулбара. К чему эта излишняя процедура? Похоже, что программист забыл выставить флаги о правах на элементы приложения и проверить их скопом после изменения лицензии, а вместо этого перепроверяет каждый элемент интерфейса для любого выбранного ключа. 
Больше шагов, но быстрее отображает
Меньше кода, но дольше работает
Это тот случай, когда дешёвый код программиста приносит юзеру дорогие проблемы по затрате времени и ресурсов. В итоге, конечно, "костыль" сделан, но полный балл дать не могу.
Code Review Options    0 из 1 возможного
The option “Revert Modifications” now works correctly.
Опция возврата редактирования теперь работает корректно.
Контекстное меню списка правил кодирования на странице "Options / Code Analyzer Options / Code Review Options" имеет функцию возврата изменений. Что именно имелось ввиду под термином "корректно", мне не удалось выяснить. Даже элементарный тест - выбрать одно включенное правило, сменить его важность, вернуть изменения - привело не только к возврату важности, но и зачем-то выключило его. Аналогичный результат теста в предыдущем и текущем билдах дают мне право считать пункт RNs припиской и не давать балл билду.
Toolbar   0 из 1 возможного
The options “Unlink all scripts from the linked sources” and “Unlink selected items from the linked sources” no longer appear in the list of options that can be added to the Project Tree toolbar.
Опции "Отвязать все скрипты от источников привязки" и "Отвязать выбранные единицы от источников привязки" больше не появляются в списке опций, которые могли быть добавлены в тулбар дерева проекта.
Какая-то бурная фантазия тех.писательницы придумала этот текст, потому что настройка тулбара дерева проекта никогда не позволяла отобразить кнопки для массовой отлинковки. К тому же, она допустила ошибку, назвав функциональное действие опцией (настройкой). Да, перевод слова option подразумевает синоним действия, но в IT-документациях, как и в любых юридических документах, синонимами стоит оперировать очень аккуратно, чтобы не исказить смысл. За голимую приписку баллов не даю.
GUI    0 из 1 возможного
Captions on the Code Review tab are now shown correctly when the Splash window is open.
Заголовки на закладке правил кодирования теперь показываются корректно, когда открыто временное окно.
Закладка по правилам кодирования имеется в двух местах: результаты анализа в разрезе скрипта, суммарные результаты анализа. Splash-окном в CS всегда считалось окно старта приложения, управляемое опцией "Options / Preferences / General / Application Startup (Launch) / Show splash (startup) window". В прошлой версии CS при открытии приложения всегда активной была закладка скрипта, то есть проблему никак не могли зарегистрировать на таблицу правил кодирования в рамках панели Summary. Текущий билд, как и предыдущий, при открытии CS отображает пустые панели результатов анализа скрипта, так как в любом открываемом проекте первоначально активна верхняя нода, равная папке. Никаких заголовков на пустой закладке не было и нет. Нечёткое описание фикса лишает билд балла.
Autofixes   0 из 1 возможного
Autofixes are no longer lost when a new script version is created.
Автофиксы больше не теряются при создании новой версии скрипта.
Версия скрипта может добавиться в трёх случаях: вручную на закладке "Script: Editor and Analyzer Info / Versions", после инструментирования кода на закладке "Script: Editor and Analyzer Info / Instrumented Code", после синхронизации линкованного скрипта с его источником в файловой системе или базе данных. Для получения списка автофиксов скрипта достаточно проанализировать хранимую подпрограмму без указания её имени после служебного слова END в конце кода. Первый вариант никуда не девает автофиксы и оставляет статус скрипта. Второй вариант оставляет автофиксы и меняет статус скрипта в изменённый. Третий вариант обнуляет список автофиксов и меняет статус скрипта в изменённый. Все три варианта одинаковы в предыдущей и текущей версиях CS. Вывод: баг не исправлен, описание не конкретизировано. Баллы давать не за что.


Итого по билду: набрано 2+11.5+4.7=18.2  баллов из 4+27+29=60 возможных, что даёт 18.2/60~30% готовности, но при этом за баги билд теряет -8.5-3.4=-11.9 баллов.