Linkto Рис 1. Под linkto здесь и далее предполагается понимать ссылку внутри атрибуты одной ноды( сейчас – описания в TestStep ) на другую ноду( в TestStep – на Test Purpose ). Каждая ссылка может находится в двух вариантах состояний — отображение или хранение. При хранении ноды ссылка хранится в виде «[<span id="26db4f2f-abdb-4549-b84bb1d1738c3399">&zwnj;</span>linkto: 01/01]»(Рис. 1.1). При этом span не отображается, хотя пользователь может видеть его в режиме редактирования HTML(возможно потом положение исправится). 01/01 означает User Visible Id ноды на которую должна указывать ссылка. Второй возможный вариант хранения ссылок — это представление их в виде [linkto: 01/01]. Когда такое может получиться — будет рассмотрено позднее. Для Test Step отображение ссылок происходит только для Test Step ов в режиме Verify. Отображение ссылки может происходить в 2х(на самом деле - в 3х) видах. Это или корректная ссылка, и тогда она будет выглядеть примерно так (Рис. 1.2). Второй вариант отображения — это ссылка, содержащая ошибку или неопределенность (Рис. 1.3). Подобное случается в нескольких случаях 1) Не существует ноды с таким User Visible именем 2) Существует более чем одна нода с таким именем (неопределенность) 3) Существовала нода с таким именем, но была удалена Для отображаемого варианта возможно нажать на подсвеченную(синим или красным) ссылку. При этом если происходит нажатие на синюю(корректную) ссылку, то открывается UniEditor для ноды на которую ссылается ссылка(или на ее родителя если сама нода не может быть открыта в UniEditor е). Если нажимается красная ссылка то все зависит от типа ошибки. Если проблема в неопределенности имени, то вызовется диалог выбора одной из нод с указанным User Visible Id (Рис. 2). Если же путь не ведет ни к 1 ноде, то вызывается диалог выбора Test Purpose (Рис. 3). Рис. 2 Рис. 3 Рассмотри м примерну ю диаграмму изменения linkto при сохранени ив редакторе( UVName – User Visible Id). Возможна я проверка – сохранить три вида linkto: с путем, который не cуществуе т, в ситуации когда есть ровно 1 нода с таким UVId и когда есть много таких нод. Данная диаграмма показывает как происходит отображение ссылки с ошибкой или неопределенностью. Красным показано действие пользователя – нажатие на соответствующей подсвеченной красным цветом ссылке. Также пользовательским действием является выбор ноды. Возможные варианты проверки: Создать 2 варианта ошибочных ссылок. 1) Сделать ссылку с отсутствующей нодой, нажать на нее. 1. Посмотреть диалог, попробовать отменить выбор. Ничего не должно измениться. 2. Попробовать выбрать ноду. (Диалог для выбора Test Purpose не должен разрешать выбирать Test Purpose). Ссылка должна замениться на корректную в соответствии с выбором. 2) Сделать ссылку с неопределенным выбором(Чтобы в проекте было несколько вариантов распознания UVName, например Requirement/01(имя)/01 , Requirement/02/01(имя)/01) 1. Попробовать отменить выбор в диалоге. Ничего не должно измениться 2. Попробовать создать ноду. После этого выбрать созданную ноду. Ссылка должна замениться на синюю 3. П о п р о б о в а т ь в ы б р а т ь с у щ е с т в у ю щую ноду. Ссылка должна измениться на синюю. При отображении ноды с сохраненным UUID хранимый вариант заменяется в UniEditor на синюю ссылку. При нажатии на эту ссылку происходит открытие редактора для ноды. Если это невозможно, то открывается редактор для родительской ноды. Возможные тесты: 1. Создать несколько валидных ссылок, сохранить, наблюдать замену на соответствующие ссылки 2. Попробовать создать ссылку для ноды для которой нельзя отобразить UniEditor 3. Попробовать создать ссылку для ноды для которой можно отобразить UniEditor 4. Открыть ссылки. Выше показано желаемое поведение при изменении и удалении ноды на которую ссылается ссылка. Перед данным деревом ссылка должна изменить цвет на красную. Следует уточнить, что действие «Показать диалог выбора любой ноды» включает вызов диалога выбора одной из существующих нод. Из возможных вариантов тестирования — проверить поведения при различных условиях по диаграмме, действия должны проявляться при нажатии на ссылку. 1) Удалить ноду после сохранения и перед отображением, нод с аналогичным UFName не существует. В данном случае отобразится диалог выбора из списка существующих нод 2) Удалить ноду после сохранения в ситуации когда ноды с UFName существуют. В этом случае появится диалог, спрашивающий о замене. Действия далее по таблице 3) Изменить имя ноды когда есть ноды со старым UFName 4) Изменить имя ноды когда нет ноды со старым UFName Еще нечто что стоит проверить — это сохранение ссылок в правильном формате. Ссылки должны быть сохранены в виде [linkto: UFName] или [<Span id=»UUID»></span>linkto: UFName]. Проверяется разными сочетаниями изменений и сохранений. Например, 1) Открыть в UniEditor е любые test step ы, добавить в них ссылки. Открыть редактор, закрыть его. После этого в панели Properties для данного Test step в панели Source на месте соответствующей ссылки должна быть подстрока вида [<span id= «UUID»></span>linkto: UFName] 2) Попробовать провести различные варианты замен для красных ссылок. Каждый из вариантов кроме «Ничего не делать» должен заменить красную ссылку на корректную(см. 1) 3) Сам процесс преобразования в красную ссылку должен привести любой вариант к хранимому [linkto: UFName] Кроме этого, для Test Step можно проверить отсутствие ссылок для тестовых шагов с tstype отличным от Verify. Для этого создать различные виды ссылок, изменить тип тестового шага. Также имеет смысл проверить нажатие на кнопку в редакторе для тестового шага. Кнопка оформлена как изображение, соответствующее тестовому набору( ) При нажатии на кнопку должен вызваться диалог выбора одного из существующих Test Purpose.