|
Как тестировать обработки перебирающие большой объем данных. | ☑ | ||
---|---|---|---|---|
0
Doomer
14.10.13
✎
10:08
|
Вообще ткните в нужно направлении в плане тестирования. Тут я полный чайник.
Проблема такая. Когда делаешь печ. форму протестировать ее работу не сложно. А вот когда делаешь обработку которая перебирает большой объем данных возникает вопрос как тестировать. Можно взять реальный объем данных и попробовать на нем. Иногда бывает что обработка будет работать не один час. Можно сделать тестовый пример в котором отразить все варианты использования, но тут есть вероятность что-то не предусмотреть, и тогда на реальных данных может возникнуть ошибка. В целом, наверное, хочу научиться тестировать свои разработки. |
|||
1
mishaPH
модератор
14.10.13
✎
10:09
|
(0) а что, сократить период нельзя?
|
|||
2
Doomer
14.10.13
✎
10:12
|
(1) Есть вероятность, что в сокращенный период некоторые варианты не попадут.
|
|||
3
ДенисЧ
14.10.13
✎
10:14
|
(2) Вероятность того, что тесты не покроют 100% функционала - 100%
|
|||
4
pumbaEO
14.10.13
✎
10:16
|
(3) вероятность накрытия в 90% уже лучше, чем покрытие в 0%
|
|||
5
Галахад
гуру
14.10.13
✎
10:16
|
(0) Арендуйте быстрый сервер.
|
|||
6
ДенисЧ
14.10.13
✎
10:17
|
(4) Вероятность накрытия - это вероятность, что накроется всё? :-))
|
|||
7
Doomer
14.10.13
✎
10:19
|
(5) Дело не в производительности. Какую бы быструю железку не купить все равно появятся задачи которые она будет долго обрабатывать. Тут еще вопрос целесообразности.
|
|||
8
vde69
модератор
14.10.13
✎
10:24
|
20% выборки отражает 80% действительности
я тестирую так, сначало на 1 примере, потом в запросах ставлю top 100 или top 1000, финальное тестирование - на полных данных, у меня были обработки по 10 часов... Заодно при финальном тестировании пишу временной план (в екселе) и именно с ним потом иду на рабочую, и довожу до пользователей "мне нужно 47 часов" и неволнует... |
|||
9
Лефмихалыч
14.10.13
✎
10:24
|
(0) на малых объемах и тестируй. Если ты знаешь, для чего и как используется обработка, то проблем с "создать все варианты" не должно быть
|
|||
10
Aleksey
14.10.13
✎
10:24
|
(7) Какой бы большой период ьы не брал, всё равно найдутся данные на которых она откосит
|
|||
11
wms
14.10.13
✎
10:25
|
Тестировать надо не нобъем данных, а код.
я тестирую свои процедуры и функции отладчиком и ставлю в заголовке процедуры плюсики зачайтую по 2-3 раза. ну и в сулсовиях внутри кода |
|||
12
Зойч
14.10.13
✎
10:26
|
(8) это фикси, у франча - куда деть те 47 часов тестирования?
|
|||
13
wms
14.10.13
✎
10:28
|
+(11)после такого тестирования на тестовых малых данных в рабочем варианте все работало как требовало ТЗ.
так что объемы данных совсем не кретичны |
|||
14
vde69
модератор
14.10.13
✎
10:31
|
(12) компьютер работает а человек занят другими задачами?
в чем проблемма? |
|||
15
Зойч
14.10.13
✎
10:32
|
(14) ну как видишь для (0) это проблема
|
|||
16
vde69
модератор
14.10.13
✎
10:33
|
(11) а представь что в базе например есть 1 документ с реквизитом - "обьект не найден" и ты обращаешся в обработке через точку...
будет обидно если на рабочей базе после 14 часов обработка вылетет по ошибке. |
|||
17
Зойч
14.10.13
✎
10:35
|
(16) видишь, такие ошибки можно планировать
|
|||
18
vde69
модератор
14.10.13
✎
10:36
|
(17) и как планирование такой ситации поможет? в реальности нужно в пользовательском режиме перезаполнить этот реквизит до начала обработки....
|
|||
19
Зойч
14.10.13
✎
10:37
|
(18) не обращаться через точку, обращаться через точку в попытке
|
|||
20
patapum
14.10.13
✎
10:37
|
(16) и что мешает этому документу появиться в промежуток между тестированием и боевым запуском?
|
|||
21
Зойч
14.10.13
✎
10:38
|
Каждый раз обращаясь через точку в голове должен сработать тригер, А ведь может быть неопределено
|
|||
22
vde69
модератор
14.10.13
✎
10:42
|
(20) шанс возникновения ошибки есть всегда, просто при полном "финальном" тестировании он значительно меньше.
(21) все предусмотреть невозможно, а вот опробовать на конкретной базе можно. |
|||
23
batmansoft
14.10.13
✎
10:57
|
(16) Вот для таких случаев надо предусмотреть возможно дозагрузки(дообработки), что бы после авариного завершения обработины запустить ее еще раз, и что бы она обработала только необработанные данные.
|
|||
24
vde69
модератор
14.10.13
✎
10:58
|
(23) это не всегда возможно
|
|||
25
Зойч
14.10.13
✎
11:00
|
(24) практически всегда. Ну ладно в 99,999%
|
|||
26
batmansoft
14.10.13
✎
11:16
|
(24) Если это невозможно, то тут вообще звездец. А вообще то, как сказал (25), да, в большинстве случаев возможно. Если нет, тот тут уже надо думать отдельно в каждом конкретном уникальном случае.
|
|||
27
pumbaEO
14.10.13
✎
11:17
|
(26) обработка больших данных - чаще всего это всегда уникальный случай.
|
|||
28
IamAlexy
14.10.13
✎
11:20
|
(0) я делал обычно тестовую базу с выборкой данных перебор которой занимает вменяемое время..
|
|||
29
batmansoft
14.10.13
✎
11:22
|
(27) На самом деле там куча типовых случаев:
1. Загрузка (справочников, документов, остатков) - всегда можно проверить, загружен ли уже этот элемент. 2. Изменение реквизита(ов) - тоже как правило, можно сделать отбор по еще не измененным объектам. 3. Если проверка на существование уже загруженного объекта занимает длительное время, можно тупо сначала загрузить в какой то регистр сведений справочник, а потом по мере конвертации в нормальные данные удалять записи регистра(элементы справочника). |
|||
30
Зойч
14.10.13
✎
11:25
|
(27) невозможно только в случае, когда на основании большого кол-ва данных формируется ОДИН объект (а ля ввод остатков). Но не представляю, чтоб такой объект формировался 50 часов
|
|||
31
Aleksey
14.10.13
✎
11:26
|
(29) Обработка больших данных - это не только поменять значения реквизита у документа
|
|||
32
batmansoft
14.10.13
✎
11:29
|
(30) даже в этом случае можно сделать проверку на то, загружен объект данных или нет.
(31) Если надо обработает объекты по какому нибудь сложному хитрозадому алгоритму, можно сначала сформировать список, а потом по списку уже обрабатывать, удаляя из него уже обработанные элементы. Список можно хранить в регистре сведений. |
|||
33
VladZ
14.10.13
✎
11:31
|
(0) Анализируешь алгоритм на предмет проблемных моментов. Тестируешь их на небольших объемах. Если все ОК - делаешь тесты на реальных объемах.
|
|||
34
kiruha
14.10.13
✎
11:51
|
(0)
Есть такая наука статистика Как проверить 100 000 деталей Случайно берется несколько деталей (кол расчитывается, но небольшое) И если ни в одной нет брака - с вероятностью 99 % нет брака в большой партии |
|||
35
kiruha
14.10.13
✎
11:53
|
Особое внимание случайных.
Абсолютно все параметры должны быть случайны . Часто при тестировании данные таковыми не являются , например организация во всех тестах одна и та же |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |