Однообразие межродственных и производственных связей и влияний |
Горячее за неделю
пятница, 27 ноября 2020 г.
Программа иль дитя
понедельник, 5 октября 2020 г.
Математика из нас
В конце 1980-х в СССР существовало очень мало институтов, готовящих специалистов в области информационных технологий. А в нашем городе областного значения подобных факультетов вообще не было ни в одном местном ВУЗе. Поэтому пришлось освоить смежную профессию. В ПедИнституте второй год набирали абитуриентов на учителей математики и информатики. Предметы, с которыми мы были на одной волне, не только легко давались в школе, но и ещё больше увлекли в ВУЗе, при нас начавшем переориентацию на Университет. В профильные курсы входили не только психология и педагогика, но и обязательно "методика преподавания", в рамках которого нам рассказывали о новомодных тенденциях, например, об "опорах Шаталова", кстати, тоже учитель математики. Но он свои опоры чертил (рисовал) не только для профильного предмета, они очень хорошо помогали в изучении истории, литературы, русского языка, и моя мама, будучи методистом в средней школе, изучала эту технику на курсах повышения квалификации.
Математикам и физикам довольно просто объяснить необходимость знаний школьной программы на окружающем мире. Но, к сожалению, большинство учителей ограничивают свои поурочные планы текстами из учебников. Из-за этого школьники наивно полагают, что вдалбливаемые в них знания ничем им не помогут в будущем. Напротив, в моей памяти ярким моментом отпечатался эксперимент, который нам задали на дом в средней школе, когда подручными средствами (линейки, портняжные метры, нитки или ленты, штангельциркули) необходимо было составить таблицу длин окружностей и их диаметров нескольких круглых предметов (дно стакана, крышка кастрюли, циферблат часов и другие обыкновенные бытовые вещи). А уже на уроке, высчитав их отношение, получили по всему классу среднюю величину числа "пи". Подобное привлечение к научно-исследовательской работе весьма эффективно в плане понимания детьми необходимости даваемых знаний.
Поскольку в рамках практики пединститута и на последнем курсе за счёт обилия свободного времени, а также удирания учителей из школы на заводы, мне довелось самостоятельно преподавать математику и информатику в разных классах путём подмены, то для развития любви к предмету приходилось выдумывать либо сказки для среднего звена, либо игры для старшего. Ниже приведены несколько завлекушек при обучении школьников математике, придуманных и использованных мной на практике.
Кроссворд.
В шестом (ныне - седьмом) классе средней школы математика разделяется на два предмета - алгебру и геометрию, которые изобилуют новыми терминами и их определениями. К четвёртой четверти таких слов набирается на весьма внушительный кроссворд, который и предлагается составить тем, у кого за год не выходит желаемая высокая оценка. Дома или на дополнительных занятиях ученикам предлагается выписать поклеточно-побуквенно любые термины из обоих учебников и вырезать полоски. Далее, скрепить эти полоски слов на совпадении букв горизонтально, вертикально или по диагонали. Контур получившейся сетки переносим на чистый тетрадный листок в клетку. Расставляем цифры по порядку. Выписываем номера в группы горизонталей, вертикалей и диагоналей. Самый интересный и коварный шаг - придумать свои, не из книжки, определения терминам и записать их в условия кроссворда. Вся работа оценивается по параметрам: количество использованных терминов, понятность и однозначность их определений. Например, угол - место отбывания наказания малолетки в геометрическом пространстве, луч - путь света от Солнца во Вселенную, отрезок - минимум шагов между парой объектов, параллели - рельсы или шпалы, перпендикуляр - шпала и рельсам.
Углы.
Для изучения строения и характеристик углов ребята принесли или складывали на переменке из листов бумаги веера. На обычном театральном веере отчётливо видны элементы угла: вершина (кольцо или гвоздик соединения), лучи (крайние полосы-держатели ткани), внутренность угла ( растягиваемая ткань), величина (раскрыть "от себя = кистью от предплечья" - положительный или "к себе = из пальцев к предплечью" - отрицательный). Для иллюстрации величины угла лучшим примером был японский веер, раскладывающийся на все 360 градусов. Удобство вееров, сложенных из тетрадных листков, в том, что на них ребята могли подписывать разноцветными карандашами элементы геометрической фигуры и приучались к стандартным обозначениям, не портя дорогостоящие домашние вещи.
Прогрессия.
Игра в геометрическую прогрессию похожа на "испорченный телефон" или "снежинку". Ведущий приглашает к себе одного первого игрока и предлагает ему вытянуть вперёд обе руки. Следующим шагом зовёт двух ребят и предлагает им встать так, чтобы руки первого игрока лежали на их правом плече, но никто не смотрел друг на друга. Эти двое тоже вытягивают руки вперёд, а ведущий приглашает столько новых игроков, сколько уместится правым плечом под пустыми руками. И так далее, пока все ученики класса не встанут в пирамиду. Так наглядно показывается геометрическая прогрессия с начальным значением "единица" и шагом "два".
Второй вариант, для начального значения "три" и шага "три". Первыми вызываются три игрока, которые встают спиной к аудитории. Сзади к каждому первому игроку подходят по три новых участника, которые кладут правую (или левую, но только одну и все одинаково) руку на спину предыдущего игрока. Игра заканчивается, если очередной ряд игроков не может быть полностью заполнен равнозначно. Такой вариант игры визуализирует не только геометрическую прогрессию, но и деление с остатком. Вместо касаний руками можно использовать передачу информации "на ушко". В любом случае, из соединений игроков можно сложить "снежинку", если взглянуть на них с потолка. А фотографии может сделать ведущий и использовать их позже для подсказок при обучении. Геометрическая прогрессия от единицы с шагом два
Геометрическая прогрессия от трёх с шагом три |
Из фотографии геометрической прогрессии первого примера ребята могут провести аналогию на своё генеалогическое древо, а на прогрессиях с иными параметрами можно разогреть интерес к химии и биологии, указав на математические формулы размножения клеток и строения ядер, пчелиных ульев или даже социальных сетей в Интернете. Хорошо также на этих примерах конечности членов прогрессии показать утопичность финансовых пирамид и сетевого маркетинга.
Игру в арифметическую прогрессию (или "лесенку", как я её называю) лучше осуществлять на кубиках и кукле (или вездеходе игрушечном). Одна парта (или стол, или все предметы убираются от окна до противоположной стены) придвигается к стене с картиной. На противоположный от стены край стола ставится один кубик или сразу пирамидка из двух-трёх, но не выше роста куклы. Каждая последующая пирамидка приставляется ступенчато с одинаковым увеличением. Игрокам необходимо построить ровную лесенку, по которой кукла заберётся от края стола к картине. В качестве стимула можно придумать историю, что эта кукла - вор картин в художественном музее, занимающаяся паркуром, но не обладающая способностями скалолаза по вертикальной стене. После того, как ученики воочию поработают с кубиками можно им дать задание на расчёт необходимого количества кубиков для достижения цели куклой. Это уже будет реальное дело, поясняющее применимость знаний не только в области арифметической прогрессии, но и рядов с их членами.
Арифметическая прогрессия или "лесенка" |
Синусоида.
В старших классах некоторые девочки посещают курсы моделей, где их учат красиво ходить по подиуму. Предложите одной из таких учениц прийти на урок математики в гимнастическом трико (дабы не провоцировать мальчиков на подглядывание под юбку) и яркой обуви с подсветкой. Либо прикрепите с боков следков фонарики, которые помогут отслеживать движения ступней. Разделите класс на три группы. Из парт составьте подиум от стенки до стенки учебной комнаты. Все три группы оснащаются чистым листом бумаги и писчим предметом двух цветов. Первая группа учеников располагается сбоку вдоль подиума. Вторая - в торце (начале или конце). Обе эти группы встают или садятся на стулья, пол так, чтобы уровень их глаз совпадал с плоскостью подиума. Третья группа взбирается на шкафы или оснащается дроном так, чтобы следить за моделью сверху. Модель ходит профессиональным шагом по подиуму, а каждая из команд точками должна отразить на листах бумаги траектории движения обеих её стоп двумя цветами. Изначально теоретически ученики предположат, что у них получатся две параллельные прямые, но в идеале у всех трёх команд будут по две параллельные, скрещенные, зеркальные синусоиды или параболы, как часть синусоиды, от движений правой и левой ступнями.
Траектории ходьбы |
Такими незамысловатыми игровыми моментами легко можно переманить учеников на свою сторону счастья знаний.
пятница, 25 сентября 2020 г.
ТО о SD 5.1.1.361
IMPROVEMENTS 1+0.8+0.5+0.9+0.9+0.3+0.5=4.9 баллов из 2+1+1+1+1+1+1=8 возможных, за баги -2
Object Navigator 0.7+0.3=1 из 2 возможных, за баги -2
Connected sessions in the Object Navigator are now colored according to the selected database type.
Подключенные сессии в Навигаторе Объектов теперь подкрашены в соответствии с выбранным типом базы.
Отсутствие единственного слова (tree) в тексте RNs превращают его в проблему для пользователя. Подсветка схем - это продуктовая фича, настраиваемая в опциях подключения к базе (Session / New Session.. / Options / Database Type / Name). Цвет этой подложки давно используется в комбобоксе главного тулбара приложения и в строке состояния Навигатора Объектов в режиме отображения всего содержимого окна. Теперь же эта подложка идентична для верхней ноды дерева объектов. Дерево Навигатора Объектов позволяет наличие нескольких подключений, но ветка лишь одного может быть развёрнута и считается текущей рабочей. Если курсор размещён на верхней ноде подключения, то подсветка теряет свой выбранный цвет, что нивелирует фичу до нуля. Более полезным было бы подсветить всё развёрнутое дерево в выбранный цвет. Исходя из этих замечаний могу дать новшеству лишь 0.7 балла.
If a database connection password expires soon or has already expired, both cases are now indicated in the "Change password" window.
Если пароль подключения к базе заканчивает свой срок или уже перестал быть действительным, то оба случая отображаются в окне для смены пароля.
Мне, как знатоку продукта с первых дней его создания, очень странно читать изменения функции коннекта к базе в блоке модуля Навигатора Объектов, поскольку эта самостоятельная фича доступна в первую очередь через главное меню, из окна коннектов и в редакторе SQL Editor. Эта оплошность тех.писательницы, составлявшей RNs, будет учтена при подсчёте баллов. Для проверки новшества рекомендую создать тестового юзера базы с правами на подключение:
CREATE USER test_user IDENTIFIED BY &pwd
/
GRANT CONNECT TO test_user
/
GRANT RESOURCE TO test_user
/
Диалоги подтверждения нового пароля |
Removed Public schemas from the system schema list, so the Public schemas now remain visible when the "Hide system schemas" check box is enabled.
Убраны общие схемы из списка системных схем, теперь общие схемы остаются видны, когда галка скрытия системных схем включена.
В первую очередь хотелось бы уточнить термин "общие схемы", которые не являются системными. Полагаю, что это наборы объектов из числа примеров (HR, SCOTT, APEX_...) и ещё некоторые другие без "SYS" в имени, но имеющиеся в стандартной нулевой установке базы. В дереве Навигатора Объектов в ветке схем можно найти ноду Public, в которой всегда только два типа объектов - синонимы и связи к сторонним базам, но одноимённый юзер никогда не бывает в ветке Users. Для проверки новшества откроем "Tools / Find Objects / Schemas" в прошлом и текущем билдах, включим опцию прятания системных схем и сравним списки. Оказывается, что изменение всего лишь оставляет в списке схем само значение схемы Public, то есть не причисляет к схемным общие синонимы и связи к базам. Это значит, что тех.писательница ошибочно использовала множественное число в тексте RNs, тем самым показав своё невежество в знании базы Oracle. Опечатка снижает балл.
Compare Schemas 0.5 из 1 возможного
Optimized the memory usage for schema comparison with a large number of objects in each.
Оптимизировано использование памяти при сравнении схем с большим количеством объектов в каждой.
Данное новшество следует проверять в рамках нагрузочного тестирования, для которого необходимо иметь соответствующие тестовые данные (схемы с большим количеством объектов всех типов - от тысячи и выше), операционные системы различных версий (от Win7 и выше) и сочетания оперативной памяти (до 3Гб для 32-битной и 2-16Гб для 64-битной ОС). Если вы обладаете такими различными наборами, то смело проводите тесты производительности и замеряйте используемое пространство оперативной памяти на всех этапах сравнения схем, которые по условиям новшества могут размещаться на едином сервере данных и даже в одной и той же базе и табличном пространстве. Поскольку у меня нет ничего для тестов, то даю полбалла, поверив на слово программисту.
Profile Wizard 0.9 из 1 возможного
Introduced the support for INACTIVE_ACCOUNT_TIME in the Profile Wizard and DDL.
Введена поддержка параметра неактивного времени аккаунта в Мастере Профиля и его DDL.
В последних версиях базы Oracle для профиля пользователя появился параметр пароля о времени его неактивности. Для тестирования вам необходимо иметь базу соответствующей версии и юзера в ней с правами на создание и редактирование профилей пользователя. Интерфейсный компонент ищите на странице "Password parameters" мастера профиля (Object / Create Object.. / Non-Schema Objects / Profile). Перед тестированием подробно изучите статьи по созданию и редактированию профилей пользователя в документации Oracle, из которых выясните ограничения на параметр по версиям баз, правам доступа и значениям. Интерфейс новой опции проверяйте по чит-листу. Согласно внутренним правилам ConquestSS, параметры объекта должны быть доступны для редактирования в соответствии с версией базы, то есть этот новый параметр вы можете видеть пустым и неактивным элементом на форме в ранних версиях базы и полноценно редактировать в последних с достаточным набором грантов. Экспорт DDL и пересоздание объекта по выгруженному коду (не только через мастер объекта) является обязательным функциональным тестом поддержки нового объекта или его части в SD. Не забудьте, что структуру объекта можно посмотреть в множестве мест: мастер объекта, навигатор объектов, сравнение баз, некоторые утилиты администратора базы (Fast Copier не поддерживает профиль, DB Examiner перечисляет параметры, экспорт схем только со схемными объектами работает). К сожалению, тех.писательница не уточнила версию базы, поэтому и мне для тестов не удалось получить необходимую. Полную проверку новшества проделать не удалось, а значит и пункт RNs не получает полный балл.
Synonym Wizard 0.9 из 1 возможного
The object name is now automatically specified in the Synonym Wizard if the synonym is created from the Synonyms’ sub-folder.
Имя объекта теперь автоматически определяется в мастере синонима, если он создаётся из подпапки синонимов.
Скорее всего имеется ввиду подпапка синонимов у объекта в дереве Навигатора Объектов, а не подпапка всех синонимов выбранной схемы. Для создания синонима существует множество способов в SD:
- через главное меню "Object / Create Object.. / Schema Objects / Synonym" мастер синонима откроется с пустыми значениями родительского объекта и нового синонима в текущей схеме. При этом нет никакой разницы, какая нода активной схемы подсвечена курсором в Навигаторе Объектов;
- через контекстное меню "Create Synonym" объекта в дереве Навигатора Объектов мастер нового синонима заполнит владельца синонима схемой Public, а имя родительского объекта и его владельца заполнятся текущими значениями;
- если в дереве Навигатора Объектов курсор стоит на ноде синонимов объекта, как его подпапке, то мастер нового синонима можно открыть либо по главному меню "Object / Create", либо из контекстного меню "Create". При этом новый мастер отработает одинаково: владелец синонима - Public, владелец родительского объекта - активная схема, имя родительского объекта в прошлом билде пустое, в новом - текущий объект.
Исходя из вышеописанных вариантов могу заключить, что это не улучшение, а исправление недоделки, которую заметили ещё четыре года назад, но только сейчас поправили. Путанное описание и сомнительное размещение в списке RNs не позволяет моей совести дать полный балл.
Export and Import Wizards 0.3 из 1 возможного
Improved the layout of the UI elements in the Export and Import Wizards.
Изменён внешний вид интерфейсных элементов в мастерах экспорта и импорта.
Стоит пояснить, что имеются ввиду мастера работы с данными, а не объектами базы. Несколько раз давно в моих отчётах были замечания по некоторым страницам этих форм. Так что, если это не кардинальные изменения, то пункт RNs должен быть в группе исправленных багов. Проверять придётся оба мастера и на всех шагах, то есть сравнению будут подвержены 2(мастера)*7(шагов)*9(типов)=126 скриншотов из каждого билда. Если для тестирования мастера экспорта достаточно лишь иметь в любой базе данных любую таблицу или вьювер с данными, то для тестирования мастера импорта данных придётся создать файлы с соответствующими тестовыми данными. Поэтому рекомендую начать с мастера экспорта и создать файлы всех типов для последующих тестов мастера импорта, в котором нет особой необходимости выполнять сам импорт на последнем шаге. Когда в ConquestSS внутренняя WiKi создавалась в Confluence, то первоначально она наполнилась моими наработками в виде чит-листов. А после проведения акции LFT внутренние стандарты для интерфейсных компонентов приобрели более жёсткие лимиты, утверждённые руководством. Среди таких параметров - минимальный и максимальный размеры рабочих окон, которые не должны позволять юзеру свободно работать со всеми элементами. Точные размеры вписаны были из расчёта минимальных технических характеристик популярных мониторов. Например, минимальная высота окна не должна быть больше 768 пикселей, а расстояние между элементами 4-6 пикселей. Мои тесты показали, что к обоим окнам применены параметры по расположению элементов, то есть учтены интервалы пустот. Но с минимальным размером в обоих окнах проблемы. Окно экспорта имеет слишком большую высоту даже на шагах с максимальным количеством элементов, из-за чего функциональные кнопки для перемещения по шагам прячутся за пределами рабочей области программы. А окно импорта данных наоборот не получило новую минимальную высоту, из-за чего некоторые элементы получаются обрезаны и даже не появляется ползунок вертикальной прокрутки. Оба эти бага считаются критичными для новшества об интерфейсе. Поэтому пункт RNs зарабатывает лишь 0.3 балла.
Tray Notifications 0.5 из 1 возможного
Users are now reminded about the upcoming subscription renewal.
Пользователи теперь оповещаются о приближающемся обновлении подписки.
Следует пояснить, что речь идёт о лицензии продукта. Много лет назад CEO придумал вариант аренды продуктов ConquestSS на месяц, квартал или полгода. Но после одного года поддержки такого типа лицензирования финансисты исключили этот способ выманивания денег из пользователей. Программисты же функционал в продукте и на сервере не удалили, а лишь заремарили. Поэтому маркетолог, выудивший у меня идею возврата к лицензиям аренды, упростил её до месячной подписки и довольно быстро внедрил, как свою, даже не сказав мне за это "спасибо". Поскольку система предупреждений для триалов, AMS и пакетных лицензий была написана после закрытия аренды, то это новшество программист копи-пастил в систему подписки. Полагаю, что предупреждение должно появляться один раз за неделю до окончания и каждый раз за 3-5 дней до срока очередной оплаты, но при этом не спамить юзера многопользовательской лицензии. В CS и CDB против спама была введена опция в Preferences, но в SD её так и не дописали. Для тестирования новшества необходимо купить подписку, а также запускать SD с компа, имеющего доступ к Интернету. В надежде, что программист скопировал код в достаточной мере, считаю новшество сделанным, но поскольку не имею возможности его проверить, а также за счёт пространного текста от тех.писательницы даю лишь полбалла.
BUGS FIXED 0.6+2.8+0+0+0.8+0-1+0.9+0+0+0+0.7+0.8+0.9+1+1+1=9.5 баллов из 1+5+1+1+1+1+2+1+1+1+1+1+2+1+1+1+1=23 возможных , -1-2-1-0.5=-4.5 за баги
Core 0.6 из 1 возможного, -1 за баг
When the corresponding options are enabled for the current database type, the user is now prompted to confirm the execution of the following statements:
- GRANT, ADMINISTER KEY MANAGEMENT in the SQL Editor.
- PURGE in the Object Navigator.
- GRANT, REVOKE in the Object Privileges module.
Когда соответствующие опции включены для текущего типа базы данных, юзер теперь оповещается о подтверждении выполнения следующих команд:
- грантование и администрирование ключей в SQL Editor;
- очистка в Навигаторе Объектов;
- выдача и отнимание грантов в модуле объектных привилегий.
Этот баг, как явная недоделка фичи о конфирмации DDL команд, давно был в моих отчётах о тестировании, но лишь сейчас у программиста дошли до него руки. К сожалению, тех.писательница никак не намекнула, о каких опциях идёт речь. Поясню. Нигде в настройках приложения их вы не найдёте, потому что они спрятаны в опциях подключения к базе (Session / New Session.. / Options / Database Type / Confirm execution required for the following statements: DML, DDL). Какие из перечисленных команд в Oracle считаются DML или DDL, смотрите в моей таблице. Также вам стоит знать, что выставленные опции касаются только выбранного типа коннекта по градации приложения. Здесь всё ещё не исправлен баг о смене опций для уже подключенного коннекта, например, подключиться к базе каким-нибудь типом без включенных опций на подтверждение исполнения DML и DDL, сразу же откройте окно подключений к базе ещё раз и в его опциях включите их с сохранением настроек, но без повторного подключения к базе, а в имеющейся сессии разверните ноду таблиц в Навигаторе Объектов. DML не сможет выполниться и папка окажется пустой.
Перед тестированием фикса вам стоит внимательно изучить статьи документации Oracle о вышеперечисленных командах, чтобы у тестового пользователя было достаточно прав в базе на их исполнение. Для тестирования SQL Editor возьмите тексты примеров из этой документации и подправьте имена юзеров и объектов на свои, либо экспортните в редактор команды из модуля объектных привилегий. Здесь можно отметить баг о нераспознавании некоторых служебных слов в редакторе кода, то есть они не подсвечиваются должным образом. Также стоит вам знать, что команда про администрирование ключей появилась в последних версиях базы Oracle. Для тестирования в Навигаторе Объектов используйте главное меню "Object / Drop" или контекстное меню "Drop" некоторых объектов, для которых актуальна команда Purge, например, ненужные таблицы с ненужными данными, и самостоятельную команду Purge контекстного меню для объектов из корзины (папка "Recycle Bin"). Здесь вы обнаружите, что очищение корзины, как опция при удалении объекта, не считается в SD отдельной DDL командой и исполняется без подтверждения, что является недоделкой. Для тестирования модуля привилегий позаботьтесь о достаточности прав самого подключенного юзера на выдачу и отнимание грантов. Здесь будьте внимательны к галке о выключении опции. Во-первых, она всегда включена, что автоматически отключает все последующие конфирмации. Во-вторых, в наименовании опции значится, что её изменение можно сделать в Preferences, что является ложью, так как опция подтверждения устанавливается лишь в окне подключения к базе.
Итого, если баг разделить на три части по модулям, то из-за выявленных недоделок и сопутствующих багов могу дать лишь 0.6 балла и ещё сниму балл за баг при выставлении опций.
SQL Editor 1+1+0+0.8+0=2.8 из 5 возможных, -2 за баги
Formatting of scripts copied from the SQL Editor is now preserved when pasted in editors that support RTF format.
Форматирование скриптов, скопированных из SQL Editor, теперь сохраняется при вставке в редакторы, поддерживающие RTF формат.
К сожалению, тех.писательница не уточнила, из какого конкретно окна редактора надо копировать текст с особым форматированием. Дело в том, что весь модуль SQL Editor состоит из нескольких видов редакторов: кода, результатов исполнения, структура скрипта, история команд, подсказчик команд. Если же имелся ввиду только основной редактор кода, то аналогичную правку бага стоит проверить в Stored Program Editor и мастерах объектов, состоящих из интерфейсного компонента SynEdit. Исходный текст возьмите всех различных вариаций, настраиваемых в "View / Preferences / Code Editors / Color". В качестве приёмника вставки можно использовать общедоступные WordPad или MS Word редакторы. По результатам моих тестов могу дать балл, но с примечанием о неприменимости фикса к окнам с результатами исполнения скриптов.
Считаю уместным здесь пожаловаться на давнюю проблему текстов RNs для всех продуктов ConquestSS, которые не стоит в оригинале копировать из PDF и вставлять сразу в WordPad, поскольку последующее его дописывание на русском языке во многих местах при сохранении как-то неожиданно меняет кодирование на кракозябры. В качестве выхода из положения мне приходится форматированный текст из PDF копировать в Notepad, который снимает с текста всякие кривые фонты, и только потом из Notepad копировать чистый текст и вставлять его в удобный текстовый редактор, где приходится уже вручную форматировать, применяя красивые фонты. Полагаю, что причиной является безалаберное отношение оформителя текста к своим обязанностям по поддержанию единого стиля форматирования. За такую проблему можно с каждого билда снимать по баллу. А ещё при инсталляции и вообще в системных требованиях давно пора увеличить достаточное свободное пространство с 200Мб до 300-400Мб.
If a session is disconnected while running a long query, the error message "Session [session_name] is busy" now shows a relevant session name.
Если сессия разъединена во время исполнения длинного запроса, сообщение об ошибке теперь показывает соответствующее имя сессии.
Для проведения теста вам понадобятся два-три коннекта к разным базам или разными юзерами, или одинаковыми, но проверьте нумерацию коннектов. Откройте SQL Editor, в котором запустите запрос на длинное исполнение в одной из сессий. Обычно я делаю в SQL Output полную выборку из системного вьювера со всеми объектами и объединяю её с аналогичной несколько раз. Пока он исполняется, попробуйте отключить обе сессии сразу или одну с исполняемым запросом, либо закройте всё приложение. Существует ещё один способ отключения сессии - через её убивание (либо вручную командой Kill, либо в Session Navigator). В прошлом билде баг был заметен на двух одинаковых подключениях с различной нумерацией.
Select statements starting with parenthesis are now correctly executed in the "Data Output" tab.
Выражения выборки, начинающиеся с кавычек, теперь корректно выполняются в закладку данных.
К сожалению, в документации Oracle нет описания каких-то выборок, начинающихся с кавычек. Поэтому и о правильности их исполнения речи быть не может. Пункт RNs никак не могу учесть, в чём состоит полная вина тех.писательницы.
Modifying the vertical toolbar of the SQL Execution History by adding and/or removing icons in the Icon Dictionary now works correctly.
Изменение вертикального тулбара истории исполнений добавлением и/или удалением иконок в словаре иконок теперь работает корректно.
В нескольких прошлых билдах была замечена проблема интерфейса из-за пропавших всех иконок с тулбара истории исполнений. Теперь настройка восстановилась. Но странная величина тулбара по отношению к панелям и нижняя стрелка для какого-то сохранения оставляет юзера в непонимании. Поэтому фикс не получает полный балл. Также стоит обратить ваше внимание на использование термина correctly без отсылки к правилам.
В рамках этого фикса стоит отметить, что настройки главного тулбара различны в предыдущем и текущем билдах. Но этот факт не учтён в RNs, как усовершенствование. Из-за чего у юзера могут возникнуть позже проблемы при переносе настроек приложения с одного компа на другой (забудет скопировать какой-нибудь файл).
Executing the same statement several times no longer opens multiple pages in the Data Output tab.
Исполнение одного и того же выражения несколько раз больше не открывает несколько страниц в закладке с данными.
Для связи редактора и закладки с выходными данными существует несколько настроек на страницах установок приложения "View / Preferences / Code Editors / SQL Editor / Editor and Tab Handling", "View / Preferences / Code Editors / SQL Editor / Data Output" . Также на вывод данных влияет опция "Smart output" в самом редакторе. Одинаковый запрос может быть в разных закладках редактора, либо дублироваться в едином скрипте. Поэтому в сочетании опций и действий юзера всегда найдётся несуразица. В чём была конкретика текущего фикса - отгадать сложно, поэтому считаю его припиской и балла не дам.
Stored Program Editor 0 из 1 возможного
Undoing all changes in a stored object reverts the object’s state back to non-modified.
Возврат всех изменений в хранимом объекте возвращает статус объекта к немодифицированному.
Отдельной команды "возврат всех изменений" в редакторе не существует, так что будем иметь ввиду конечное применение общепринятой горячей клавиши "Ctrl+Z". Состояние объекта графически отображается в статусной строке разноцветными прямоугольниками. Тест состоит из следующих шагов: открыть любой код или файл в редакторе, добавить или удалить один символ текста, нажать горячую клавишу или кнопку на тулбаре для отката изменений до гашения стрелки "Возврат изменений", закрыть редактор. Если бы фикс был сделан, то никакого предложения о сохранении или компиляции модифицированного кода не предлагалось. Но диалог появляется, а также голубой индикатор правки горит, поэтому заключаю, что никакого фикса не сделано. То есть и балл билду не светит.
SQL Editor / Stored Program Editor 0 из 1 возможного
The code editor no longer flickers on moving the caret when a long script is open and the option "Cursor beyond EOL" is disabled.
Редактор кода больше не мерцает при движении курсора, когда длинный скрипт открыт и опция о конце строки и курсоре выключена.
Опция о курсоре и конце строки настраивается на странице "View / Preferences / Code Editors / General". Для теста нам понадобится код с длинными строками, не только больше правой границы "View / Preferences / Code Editors / Display / Margin and Gutter / Width", но и прячущаяся за правым краем окна редактора. Также длина скрипта должна определяться и количеством строк, уходящими глубоко за нижнюю границу редактора. В качестве движения курсора будем использовать кнопки стрелок, клики мышью и вставку пустых строк. Полагаю, что раньше было излишнее перерисовывание окна редактора, заметить которое можно при определённом техническом оснащении монитора и его видеокарты. Мои тесты не показали никакой разницы в работе курсора редакторов, поэтому не могу дать балл за фикс.
Object Navigator 0.8 из 1 возможного
Clicking "Create" from the Object Tree now correctly opens the relevant object wizard for triggers, clusters, and collections.
Клик по команде создания из Навигатора объектов теперь корректно открывает соответствующий мастер объекта для триггеров, кластеров и коллекций.
На самом деле команда создания объекта может быть вызвана не только из контекстного меню для нод дерева Объектного Навигатора, но и через главное меню "Object / Create ..". Этот баг несколько раз отмечался в моих отчётах тем, что перечисленные объекты невозможно было создать через мастер, но в дереве навигатора объектов при этом создавались пустые ноды соответствующих типов. Кроме этого, мастер коллекций был упразднён и код переведён в Stored Program Editor. Теперь же для новых объектов в дереве навигатора не формируется пустая нода, как это работает для староинтерфейсного мастера таблиц, всё ещё не отвязанного от дерева объектов. И перечисленные объекты открываются в своих мастерах. Эти мои примечания поясняют вам значение термина correctly. Поскольку этого не сделала тех.писательница, то полный балл за фикс дать не могу.
Dataset Manager 0 из 1 возможного
Filters created for a table no longer appear in the filter list of another table with a similar table name.
Созданные для таблицы фильтры больше не появляются в списке фильтров для другой похожей одноимённой таблицы.
Скорее всего здесь имелись ввиду одноимённые таблицы разных баз и схем, поэтому для теста нам понадобятся коннекты к разноимённым базам (это можно сделать через tns-файл, назвав по разному одну базу дважды) и одноимённые таблицы с одинаковым и различным наборами полей в разноимённых схемах. В качестве менеджера данных подойдёт список фильтров в SmartDataset или "Object Navigator / ContentSelector". К сожалению, в предыдущем билде мне не удалось выявить проблемы путанием фильтров и имён таблиц, поэтому считаю фикс припиской и не даю ни балла.
Code Insight -1+0=-1 из 2 возможных
The Code Insight window is now shown correctly from the first time when the "Include 'Code Assistant' data" option is enabled.
Окно подсказчика кода теперь показывается корректно с первого раза, когда включена опция добавления данных ассистента кодирования.
Напомню, что ассистент кодировщика - это самостоятельный модуль, который доступен из главного меню "View / Code Assistant" и предлагает упростить работу через вставку целых блоков стандартного кода, а помощник кодировщика - это сочетание структуры кода в редакторе с отображением списка соответствующих введённым символам наименований объектов, параметров или переменных. Опция включения данных ассистента в помощник кодирования настраивается в "View / Preferences / Code Editors / Code Insight". В чём заключается корректность правки придётся выяснять юзеру самому, поскольку тех.писательница не указала исходные правила. По сравнению с предыдущим билдом этот фикс могу считать только ухудшением, поскольку после набора двух символов SD зависает одинаково долго, а после этого курсор теряется и ввод последующих символов невозможен. Поэтому пункт RNs отнимает балл у билда.
Code suggestions shown in the Code Insight window are no longer corrupted and scrolling the window no longer causes an access violation error.
Предложения кода в окне помощника больше не портятся и прокрутка окна больше не вызывает ошибок доступа.
При тестировании предыдущего фикса мной не было замечено никаких проблем в текстах подсказок и при прокрутке. Поэтому пункт RNs, как приписка, не заслуживает балл.
Query by Example 0.9 из 1 возможного
The "Ignore case" option now works correctly for the CLOB columns.
Опция игнорирования регистра теперь корректно работает для CLOB колонок.
Для теста нам понадобится таблица с данными в CLOB поле, заполненном разнорегистровыми текстами. Нажав красный вопросик в левом верхнем углу грида или кнопку New в "Dataset Manager" или F7 в гриде, откроем редактор фильтра и введём значения для обозначенного поля. Смысл термина корректности заключается в том, что опция просто на просто теперь действительно применяется. Но, возможно, тех.писательница имела ввиду и что-то иное не описанное, поэтому не дам полного балла.
Code Analyzer 0 из 1 возможного
The rule "Specify full column list" now shows correct code analysis results.
Правило означения полного списка колонок теперь показывает правильные результаты анализа кода.
По-видимому, речь идёт о срабатывании правила кодирования "Specify a full column list (as opposed to using '*') in each DML statement and cursor", поэтому для теста будем использовать выражения выборки данных с использованием звёздочки вместо перечисления полей. Корректность отображения, опять же, не описана тех.писательницей, поэтому предположим, что либо правило совсем не срабатывало, либо номер строки не совпадал, либо в каком-то частном случае кода анализатор не распознавал звёздочку. Поскольку ничего конкретного нет в описании фикса, то протестируем простейший вариант - срабатывание правила для выражения "select * from my_table;". В предыдущем и текущем билдах не выявлено никаких различий в работе правила, поэтому не даю фиксу балл.
Rename Object 0 из 1 возможного
An index name that does not match its table name is no longer included in the script when the table is renamed.
Имя индекса, которое не совпадает с именем таблицы, больше не входит в скрипт, когда переименовывается таблица.
В одном из предыдущих билдов было добавлено автоматическое переименование индексов, совпадающих с именем таблицы. Никаких изменений в текущем билде нет, поэтому этот пункт RNs является пустышкой.
Find and Replace 0 из 1 возможного
When searching for a selected text occurrence, the search scope is no longer changed to "Selected text".
При обнаружении искомого текста найденное выражение больше не меняется на выделенное.
Описание фикса довольно мудрёное, поэтому остаётся только догадываться, что речь идёт о подсветке найденного выражения. Для теста настроим или запомним цветовые подложки "View / Preferences / Code Editors / Color / Elements / Selection / Color" и "View / Preferences / Code Editors / Color / Elements / Search match / Color". В любом редакторе приложения откроем какой-нибудь текст. Выполним одинарный поиск (Ctrl+F), повторный (F3) и в выделенном фрагменте одинарный, повторный. Во всех четырёх вариантах подмечаем раскраску. Никакой разницы с прошлым билдом не выявлено, поэтому можно заключить, что либо тех.писательница не описала конкретный частный случай, либо программист сделал нечто иное, либо ничего не исправлялось. Поэтому билд недополучает балл.
Object Wizards 0.7 из 1 возможного, -1 за баги
Fixed the highlighting of the nodes in the object tree.
Зафиксирована подсветка нод в дереве объектов.
Во-первых, в каждом мастере объекта нет дерева объектов, а есть только дерево страниц. Это опечатка тех.писательницы серьёзно может сбить с толку юзера. Во-вторых, не понятно, о каких конкретно мастерах, то есть типах объектов, идёт речь. Дело в том, что некоторые объекты до сих пор управляются через старые интерфейсы, например, таблицы. Но и новые мастера, не смотря на свою видимую схожесть, на самом деле не являются единым сквозным по всему приложению компонентом. Поэтому любые фиксы в одном мастере необходимо перепроверять во всех интерфейсах каждого типа объекта. Но есть и третий вариант, если компонент дерева переписан из Delphi-стандарта под ConquestSS нужды. В таком случае стоило баг разместить не в только группе мастеров объектов, а в глобальном модуле GUI. Тогда и проверять пришлось бы вдоль интерфейса всего приложения. Ещё одно упущение тех.писательницы в том, что не описан вариант кликанья или выделения нод в дереве, клавиатурой или мышью. В одном из моих прошлых отчётов был описан баг почернения подложки до цвета шрифта при повторном клике правой клавишей мыши в дереве новоинтерфейсных мастеров. В прошлом билде подложка нод дерева страниц староинтерфейсного мастера была серой, а в текущем - голубая. Потемнения подложки в староинтерфейсных мастерах не было и нет по клику правой кнопки мыши, а в новоинтерфейсных потемнение не происходит. Это даёт мне право прибавить лишь 0.7 балла.
В процессе тестирования выявились ещё пара багов. В староинтерфейсных мастерах по правой кнопке мыши в дереве страниц открывается контекстное меню с пунктами кнопки настроек мастера, а в новоинтерфейсных этой фичи нет.
Пустая колонка и перекрытые наименования |
The Export Wizard’s window is now restored correctly after restarting the application without the database connection.
Окно мастера экспорта теперь корректно восстанавливается после перезагрузки приложения без коннекта к базе.
Во-первых, стоит пояснить, что речь идёт о мастере экспорта данных, а не, например, схемы. Во-вторых, этот модуль имеет возможность смены коннекта, поэтому должен поддерживать автоопределение активной сессии при открытии окна и отключении коннекта. В-третьих, рабочая область SD должна быть настроена так, чтобы окно мастера автоматически открывалось при запуске приложения. Это устанавливается на странице "View / Preferences / General / Workspace" несколькими опциями. В прошлом билде автооткрытие окна без подключения к базе сопровождалось ошибкой доступа, в текущем же проблемы нет, то есть баг можно считать исправленным. Но полный балл ставить нельзя, так как тех.писательница забыла про конкретику.
В рамках теста всплыла недоделка главного меню и тулбара, которые не позволяют открыть эти сессионно-независимые окна при отсутствии коннекта к базе. Напомню, что сессионная независимость мастеров экспорта и импорта данных была введена не так давно, а вот их экшены до сих пор остаются неактивными. Это примечание снимает полбалла с билда.
If the "Change Owner To" option is empty when exporting a script, the original object owner is specified in the output file.
Если опция смены владельца пустая когда выгружается скрипт, то исходный владелец объекта подставляется в выходной файл.
Для тестирования фикса проведём по два экспорта из прежнего и текущего билдов. Один с включенной галкой о приписке владельца и другой с выключенной. Можно ещё варианты проверить, когда в редакторе имени владельца пробел или точка, которые по правилам наименования владельцев в рамках документации Oracle считаются пустыми наименованиями, но для SD их считаю частными случаями и предлагаю вам самостоятельно на таких примерах поискать баги модуля. Мои тесты ограничивались insert-скриптами, а имя владельца редактировалось лишь в режиме включения владельца в скрипт. При отключении галки оба билда не меняли содержимое редактора. Да и файлы экспорта ничем не отличаются. Так что ответственно заявляю, что фикса нет. То есть и балла нет.
Constraint / Table Wizard 0.9 из 1 возможного
When the check box "Exclude users with no objects from the Schema list" is selected, users with no objects are no longer shown in the list of constraints.
Когда чек-бокс для исключения юзеров без объектов из списка схем выбран, юзеры без объектов больше не показываются в списке констрейнтов.
Сначала попытаемся понять, в каком модуле сделан фикс. В мастерах таблиц и вьюверов есть страница с констрейнтами, а для ключей существует в SD самостоятельный мастер создания и их настройки. Тех.писательница этого не уточнила, поэтому придётся проверять оба места. Также не сказано, что опция о списке схем и юзеров настраивается в "View / Preferences / General / Session". Итак, тех.писательница не права в том, что в описании фикса упустила констрейнты вьюверов и возможность выбора объектов иных схем лишь для внешних ключей. Для теста переключаем опцию в настройках приложения и создаём внешний ключ для таблицы или вьювера. Предварительно в базе создадим пользователя без объектов, чтобы отследить отработку фильтра по значению вышеозначенной опции. Фикс сделан, но полного балла не дам из-за неполноты описания.
Table Wizard 1 из 1 возможного
The confirmation message is now shown on trying to truncate a partition from the wizard.
Сообщение подтверждения теперь показывается при попытке очистить партицию из мастера.
В одном из прошлых отчётов мной было подмечено, что диалог подтверждения о выполнении "опасной" операции не распространяется абсолютно на все места. Полагаю, что это именно тот фикс, вернее, его часть. Для тестирования необходимо переключать опцию "Session / New Session.. / Options / Database Type / Confirm execution required for the following statements: DML, DDL" и в таблице с партициями, но ненужными данными, исполнять очищение. Предупреждение появляется в текущем билде и приносит балл.
Job / View / Materialized View Wizards 1 из 1 возможного
Pressing the tab key no longer removes the cursor from the SQL statement editor.
Нажимание кнопки табуляции больше не убирает курсор из редактора sql выражения.
На некоторых страницах перечисленных мастеров есть редакторы для формирования и правки анонимного pl/sql блока или выражения выборки данных. Подобные окна есть и в иных мастерах объектов, например, шедулеров или триггеров. Поскольку окно редактора кода является частью интерфейса, по элементам которого обычно переходят кликом клавиши табуляции, а в редакторе текста табулятор должен вводить служебный символ, то описанный баг говорит о наличии коллизии экшенов. Текущий билд её исправил.
Online Support Desk 1 из 1 возможного
The "Reply to message" toolbar button is no longer active when an empty folder is selected.
Кнопка на тулбаре для ответа на сообщение больше не активируется, когда выбрана пустая папка.
Похоже, что это баг из моих отчётов после добавления фичи о формировании ответа на OSD сообщение из списка. Тогда это была регрессия. Теперь она поправлена.
Итого по билду: 4.9+9.5=14,4 баллов из 8+23=31 возможных дают 14.4/31=46% готовности к передаче билда пользователю, но за минусом -2-4.5=-6.5 баллов за баги.
среда, 9 сентября 2020 г.
Загадки QA
1. Этой профессии уже не мало лет, хотя признали её совсем недавно.
Программированием, а значит и тестированием, занимаются официально в мире с середины ХХ столетия. Должность СТПО включена в государственный реестр весной 2014 года.
2. До недавних пор этим делом занимались в основном представительницы женского пола, но современность привлекла и мужское население.
Пока был больше упор на ручное тестирование, то эту нудную работу легче выполняли девочки. С распространением автоматизации мужской ум стал более приемлем.
3. Многие считают эту профессию самым лёгким путём для начала карьеры.
Поскольку операторы ПК превратились в просто-пользователей, а тестировщиков считают юзерами альфа-версий, то и желающие "войти в IT" полагают, что освоив профессию QA, они быстрее станут одним из членов престижного клана по созданию информационных технологий.
4. Прежде чем занять свою нишу в производственной сфере, необходимо изучить и опробовать не только нижние ступени, но и хорошо знать верхние, а также уметь заменить любого в параллели. Профессия из числа ИТРиС (инженерно-технические работники и специалисты), но в ВУЗах специализированных факультетов до сих пор нет. На сегодня специальность можно освоить самостоятельно, либо по спец.курсам.
Пирамида команды разработки состоит из трёх слоёв. На верхнем - владелец продукта. В самом большом среднем - программисты, аналитики и тестировщики. В нижнем вспомогательном - тех.поддержка, маркетологи, тех.писатели, коучеры, операторы. У программистов бывают семестры по изучению тестирования, но этого слишком мало. Тестировщик совмещает в себе не только опытного пользователя с аналитиком, но и смотрит на продукт с точки зрения программиста и финансового директора.
5. Наша работа из числа высокого неожиданного риска, но сертифицированный допуск не требуется.
Исследовательское тестирование чаще других может "повесить" или "убить" приложение. Хакерские секреты используются как принципы проверки безопасности.
6. Не смотря на то, что мы входим в группу созидания продукта, на самом деле нашей ежедневной задачей является его разрушение, за которое нас никогда не ругают, а наоборот поощряют.
Исследуя новый продукт тестировщик обязан найти его слабые места до момента продажи. Исправляют проблемы программисты и аналитики.
7. Наш вклад в производство настолько субъективная величина, что каждый потребитель мерит её по-своему.
Тестировщика часто называют специалистом по обеспечению (QA инженер) и поддержке качества продукта, а оно имеет три параметра: скорость поставки, цена, удовлетворённость функционалом. Их совокупность каждый пользователь определяет сам.
8. В наши обязанности входит подробное чтение документации.
Есть даже особый раздел про проверку требований к продукту, инструкций пользователя.
9. Не смотря на то, что мы в работе должны чётко соблюдать правила, но по результатам наших действий эти же правила могут быть изменены.
Требования к продукту, составленные аналитиком, перетекают в инструкцию пользователя после апробации тестировщиком и внесения исправлений, наиболее соответствующих истине.
10. У истоков профессии было насекомое.
Ошибки программирования называются "багами", потому что первой причиной проблемы ПО был мотылёк, а по-английски bug - жучок.
11. День красоты - профессиональный праздник.
Первую ошибку зарегистрировали в журнале проблем ПО 9 сентября 1947 года. В этот же день с 1995 года чествуют всех причастных к красоте в международных рамках.
12. Представителям нашей касты приходится "рыться в чужом грязном белье".
Тестирование методом "белого ящика" подразумевает чтение кода, написанного программистом, и выявление проблем в этом коде. Программисты очень ревностно относятся к этому методу, наивно полагая, что код - их личная собственность вроде нижнего белья, которое не следует видеть пользователю.
13. Эта профессия требует особой психологической устойчивости, потому что во всех бедах виновными считают именно нас. Нас хвалят за то, что мы ругаем других.
Тестировщик - основной поставщик проблем для группы разработки.
14. Наш основной стиль работы - объективность. Нам нельзя рекламировать и продавать товар, не смотря на то, что мы о нём знаем всё лучше всех.
Главный отчёт тестирования - вердикт о работоспособности ПО, то есть правдивое описание положительных и негативных тестов. У нас нет прав умалчивать проблемы. Постоянно работая в разрабатываемом ПО именно тестировщики знают и помнят о всех его лучших и худших сторонах.
15. Сталкиваясь с вирусом мы кричим "Ура!" и, не боясь заразы, несём его на "лечение".
Хакерские атаки в мире программирования называют "вирусами", от которых систему освобождают программисты и администраторы сетей.
16. Эта профессия подвластна всем - среди нас не мало "желторотых" студентов и седых пенсионеров.
Юниоры входят в IT в основном через тестирование ПО.
17. Мы практику превращаем в теорию.
На основе наших проб пишутся инструкции пользователя.
18. На работе мы можем играть в игрушки целый день, и никто не будет против.
Есть особое направление Game-Dev или Test-Game. Программным обеспечением может быть игра. Но даже в серьёзном продукте элементы игры весьма хорошо применимы при тестировании.
вторник, 1 сентября 2020 г.
Профориентация IT
Пирамида группы разработки ПО |
Схема отношений ролей в группе разработки ПО |
Связи Ролей | ||
---|---|---|
От | Что | Кому |
FP | деньги | PO |
PO | задачи | A |
D | ||
T | ||
S | ||
M | ||
C | ||
П | ||
У | ||
O | ||
A | работа | D |
T | ||
S | ||
зачем использовать | M | |
описание | C | |
D | работа | A |
T | ||
S | ||
T | работа | A |
D | ||
S | ||
тех.состояние | PO | |
тех.пояснения | C | |
как использовать | M | |
S | работа | A |
D | ||
T | ||
M | доход | FP |
потребность | PO | |
как используется | A | |
C | текст | M |
инструкция | O | |
D | ||
S | ||
грамотность | П | |
M | ||
У | ||
П | освоение | O |
У | освоение | O |
Соотношение знаний и умений по ролям |