Навдом порядок в приложении
#1
Отправлено 11 августа 2010 - 09:52
Имеется следующая задача: есть клиент-серверное приложение (Delphi&Oracle). Порядка\единообразия не было при разарботке (или просто не нужен был), поэтому часть обращений к БД работает через серверные процедуры PL\SQL, остальная часть напрямую осуществляет запросы к таблицам. Понадобился порядок: т.е. заменить прямые обращение на вызов процедур. Необходимо проверить такой переход. Приложение не большое, но все же...
Сделал программу, которая проверяет исходники на наличие упоминаний таблиц. Так можно проверить, что все прямые обращения убрали. Осталось проверить, что все то, что заменили работает правильно. Т.к. автотестов нет, придется по всей видимости, все перещелкивать руками и сверять результаты со старой версией.
Просто интересуюсь: может кто сталкивался с такими задачами? Как справлялись? Может есть средства, которые запоминают, что я щелкал\вводил на старой версии ПО и воспроизводят это на новой версии ПО и сверяют, допустим, результат по экрану?
#2
Отправлено 11 августа 2010 - 11:02
С задачей такой не сталкивался, но есть идея - действовать от противного. Надо сделать старый беспорядочный код нерабочим и найти места где начнёт падать из-за этого.Добрый день!
Имеется следующая задача: есть клиент-серверное приложение (Delphi&Oracle). Порядка\единообразия не было при разарботке (или просто не нужен был), поэтому часть обращений к БД работает через серверные процедуры PL\SQL, остальная часть напрямую осуществляет запросы к таблицам. Понадобился порядок: т.е. заменить прямые обращение на вызов процедур. Необходимо проверить такой переход. Приложение не большое, но все же...
Сделал программу, которая проверяет исходники на наличие упоминаний таблиц. Так можно проверить, что все прямые обращения убрали. Осталось проверить, что все то, что заменили работает правильно. Т.к. автотестов нет, придется по всей видимости, все перещелкивать руками и сверять результаты со старой версией.
Просто интересуюсь: может кто сталкивался с такими задачами? Как справлялись? Может есть средства, которые запоминают, что я щелкал\вводил на старой версии ПО и воспроизводят это на новой версии ПО и сверяют, допустим, результат по экрану?
Можно переименовать таблицы (к примеру добавить везде 1 на конце persons -> persons1 etc). Соотвественно поправить везде где сделано правильно, хотя не знаю насколько это затратно.
Далее прогнать тесты и посмотреть где упало при попытке найти таблицу со старым именем.
Alexey
#3
Отправлено 11 августа 2010 - 11:11
Переименовывать таблицы сложно (как и вообще менять структуру БД), при этом и хранимки тоже все придется модифицировать.
Лучше сделать таблицы недоступными путём настройки прав доступа.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#4
Отправлено 11 августа 2010 - 18:32
Интересно как это можно сделать. Была бы речь о джаве, я бы подумал в сторону Security Manager/policy files где можно разграничение по правам дать на различные куски кода.Лучше сделать таблицы недоступными путём настройки прав доступа.
А тут как быть?
Alexey
#5
Отправлено 11 августа 2010 - 20:40
Ну так в базах данных тоже есть разграничение прав доступа, вплоть до отдельных столбцов.Интересно как это можно сделать. Была бы речь о джаве, я бы подумал в сторону Security Manager/policy files где можно разграничение по правам дать на различные куски кода.Лучше сделать таблицы недоступными путём настройки прав доступа.
А тут как быть?
Запрет на прямой доступ через SQL-запросы ко всем таблицам будет выглядеть примерно как-то так:
REVOKE select,insert,update,delete ON *.* FROM some_user@localhost;
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#6
Отправлено 12 августа 2010 - 06:56
Не берет этот спосбо вещи вида подчиненных таблиц (когда главная таблица не грузится и соответственно другие не увидить, т.к. выбрасывается ошибка) и мастера по создания объектов (когда на первом шаге получили ошибку, то дальше не уйдешь).
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных

