|
Тестирование логики
|
|||
---|---|---|---|
#18+
Вопрос форумчанам - есть ли у вас тестирование логики ХП и триггеров? И если да, то как/на чем? Пример: есть ХП, которая с указанными входными параметрами делает обновление в пяти таблицах, удаление в трех и вставку в одну. После изменения ХП, надо проверить, что затронутые таблицы остались теми же. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 10:43 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
CyberMax> После изменения ХП, надо проверить, что затронутые таблицы остались теми же. В смысле, "изменились как надо" ? P.S. Как, как... Функциональными тестами на синтетических (или куске реальных) данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 10:54 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
CyberMax, Есть. Используется маленькая самописная утилитка на питоне. На вход принимает файл в формате json с указаниями какие запросы выполнить и какой ожидать результат. Результатом может быть не только число/строка, но и ошибка и равенство ("field1 = field2) и неравенство ("id > 0"). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 01:59 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
miwaonline> какой ожидать результат. Результатом может быть не только число/строка, miwaonline> но и ошибка и равенство ("field1 = field2) и неравенство ("id > 0"). Ну т.е. DML-процедуры ей не проверить... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 08:35 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Результат выполнения вполне себе проверить можно. Если я правильно понял CyberMax-a, ему надо убедиться что после выполнения процедуры данные в таблицах соответствуют ожидаемым. Собственно, для выполнения (в том числе) похожих задач оно и используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 10:20 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
CyberMax, что ты имеешь в виду под "затронутые таблицы остались теми же"? Убедится, что зависимости остались теми же? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 10:26 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
rdb_devCyberMax, что ты имеешь в виду под "затронутые таблицы остались теми же"? Что не были изменены другие таблицы и что состав измененных таблицы остался тем же самым. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 10:45 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
miwaonline> Результат выполнения вполне себе проверить можно. miwaonline> данные в таблицах соответствуют ожидаемым. А как ты передашь набор данных (и тем более несколько) в свой скрипт? CyberMax> Что не были изменены другие таблицы ИМХО, проверять что другие таблицы не изменены, это какой-то маразм. А вот проверять данные (ну и связность, если хочется вручную) без их копии или ещё одной ХП/EB/клиента (скрипта) нереально. Да и проще просто сверить два (перечня) НД между собой. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 11:15 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
CyberMaxrdb_devCyberMax, что ты имеешь в виду под "затронутые таблицы остались теми же"? Что не были изменены другие таблицы и что состав измененных таблицы остался тем же самым.Как состав таблиц может остаться тем же, если в логику ХП заложено изменение таблиц - "делает обновление в пяти таблицах, удаление в трех и вставку в одну"? Тебе тест на регрессию нужен? Возьми две одинаковые базы, в одной прогони старый скрипт, а в другой новый, затем сделай выборку из этих баз и сравни результаты (естественно программно). Конечно, такое сравнение не дает 100% гарантии отсутствия регрессии, но хоть что-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 11:54 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамmiwaonline> Результат выполнения вполне себе проверить можно. miwaonline> данные в таблицах соответствуют ожидаемым. А как ты передашь набор данных (и тем более несколько) в свой скрипт? Холодное копирование в эталонную тестовую базу. В эталоне - отдельные записи на отдельные тесты, в тестах - хардкод соответствующих id, можно с комментариями. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 12:30 |
|
Тестирование логики
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамmiwaonline> Результат выполнения вполне себе проверить можно. miwaonline> данные в таблицах соответствуют ожидаемым. А как ты передашь набор данных (и тем более несколько) в свой скрипт? По-всякому: можно sql-скрипт выполнить перед запуском теста, можно bash/python/cmd. Можно непоредственно в тесте нужные данные вносить: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Сам скрипт на гитхабе валяется: https://github.com/miwaonline/fdbtest Правда оно писалось для внутреннего употребления, так что с оформлением и документацией все плохо. Но если интерессно, реальных примеров набросать могу. Да и код там не особо сложный. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 13:17 |
|
|
start [/forum/topic.php?fid=40&fpage=41&tid=1561429]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 432ms |
0 / 0 |