Size: a a a

2020 September 24

ИС

Игорь Середа... in atinfo chat
Переслано от mrx
вот скажите тестировщики.
есть программа, выдаёт рандом, допустим от 1 до 5.

сколько нужно запусков, чтобы определить, что она однозначно выдаёт рандом? точный ответ не нужен, скорее как решать будете.
для реальности можете считать, что программу писал уебан-фронтендер.
источник

ИС

Игорь Середа... in atinfo chat
@sniiick, прости, я перепутал.
источник

EE

Escudo Escobar in atinfo chat
над api тестами тоже думал
источник

AZ

Alexey Zakharov in atinfo chat
Игорь Середа
Переслано от mrx
вот скажите тестировщики.
есть программа, выдаёт рандом, допустим от 1 до 5.

сколько нужно запусков, чтобы определить, что она однозначно выдаёт рандом? точный ответ не нужен, скорее как решать будете.
для реальности можете считать, что программу писал уебан-фронтендер.
Рандома не существует
источник

EE

Escudo Escobar in atinfo chat
да решил с коммандой через API сделать
rest assured в помощь....
источник

S

Sergei in atinfo chat
Alexey Zakharov
Рандома не существует
ну почему же :) может генератор на основе квантовых частиц :)
источник

AZ

Alexey Zakharov in atinfo chat
Sergei
ну почему же :) может генератор на основе квантовых частиц :)
У него будет нормальное распределение, а что за функция раскидывает кванты по 5 значениям - черный ящик
источник

EB

Evgenii B in atinfo chat
Игорь Середа
Переслано от mrx
вот скажите тестировщики.
есть программа, выдаёт рандом, допустим от 1 до 5.

сколько нужно запусков, чтобы определить, что она однозначно выдаёт рандом? точный ответ не нужен, скорее как решать будете.
для реальности можете считать, что программу писал уебан-фронтендер.
по збч распределение всех вариантов должно быть примерно одинаковым. то есть на 100к прогонах если это честный генератор, он должен выдать +- равно встречаемые результаты по каждой цифре

далее, последовательность, она может инициализироваться внутри очень большой строкой, которая тупо следующее число тебе отдает, тут важно 2 мя запусками проверить, что результаты не повторяются.

далее, вдруг строка (от которой псевдорандомное число берется) закончилась (количество вызовов больше, чем ответов в исходной строке ответоа) и она по какому-то паттерну обновляется/замыкается.

тут поможет только анализ ответов на большом массиве и различные методы эвристические которые будут кусочно находить паттерны в ответах.

ну то есть чтобы считать что-то рандомным оно должно: давать тебе случайный ответ и ты не должен уличить программу в том, что с какой-то периодичностью ответ будет неслучайным, когда следующее значение можно угадать за счет предыдущего.
источник

EB

Evgenii B in atinfo chat
ну и как бы успешного критерия абсолютного нет: наверняка можно было бы доказать, что /dev/urandom тоже как-то предсказуем, но кажется вычислительные мощности которые требуют этой проверки (как черный ящик) такие большие, что никто еще не доказал обратного (или доказал?)
источник

EB

Evgenii B in atinfo chat
то есть в какой-то момент определяется доверительный интервал при котором генератор чисел будет работать и все
источник

MN

M N in atinfo chat
Господа, кто что посоветует использовать / изучать человеку заинтересованному в автоматизации тестов на нативные приложения?
источник

R(

Roman (rpwheeler) in atinfo chat
Evgenii B
по збч распределение всех вариантов должно быть примерно одинаковым. то есть на 100к прогонах если это честный генератор, он должен выдать +- равно встречаемые результаты по каждой цифре

далее, последовательность, она может инициализироваться внутри очень большой строкой, которая тупо следующее число тебе отдает, тут важно 2 мя запусками проверить, что результаты не повторяются.

далее, вдруг строка (от которой псевдорандомное число берется) закончилась (количество вызовов больше, чем ответов в исходной строке ответоа) и она по какому-то паттерну обновляется/замыкается.

тут поможет только анализ ответов на большом массиве и различные методы эвристические которые будут кусочно находить паттерны в ответах.

ну то есть чтобы считать что-то рандомным оно должно: давать тебе случайный ответ и ты не должен уличить программу в том, что с какой-то периодичностью ответ будет неслучайным, когда следующее значение можно угадать за счет предыдущего.
По-моему никакое количество прогонов не даст всех гарантий. "Пасхалка" или бэкдор могут быть завязаны на дату, на дату и время, на состояние внешнего сервиса -- много на что.

Поэтому к тестированию генераторов подходят строже чем просто запуски.
источник

S

Sergei in atinfo chat
M N
Господа, кто что посоветует использовать / изучать человеку заинтересованному в автоматизации тестов на нативные приложения?
наверное с++ :)
источник

Ш

Шох in atinfo chat
Sergei
наверное с++ :)
А лучше чистый C)
источник

Ш

Шох in atinfo chat
Шох
А лучше чистый C)
Чтобы наверняка
источник

S

Sergei in atinfo chat
👍
источник

EB

Evgenii B in atinfo chat
Roman (rpwheeler)
По-моему никакое количество прогонов не даст всех гарантий. "Пасхалка" или бэкдор могут быть завязаны на дату, на дату и время, на состояние внешнего сервиса -- много на что.

Поэтому к тестированию генераторов подходят строже чем просто запуски.
к тестированию генераторов лучше подходить со стороны белого ящика по возможности =) иначе как я сказал только проецировать риски предсказуемости основываясь на характере генерируемых значений, юзкейсов, етс етс для правильного подбора размера выборки, размера ошибки, етс
источник

R(

Roman (rpwheeler) in atinfo chat
M N
Господа, кто что посоветует использовать / изучать человеку заинтересованному в автоматизации тестов на нативные приложения?
Видел как народ не раз рекомендовал PyWinAuto.

К нему, как я погляжу на ГитХаб, даже примеры находимы:
https://github.com/search?q=pywinauto
источник

EB

Evgenii B in atinfo chat
тестировал на pywinauto лет 6 назад, это было больновато. хендлы окон терялись, какие-то окна приложений написанные на современных фреймворках не находились / некорректно считывалась инфа с них
источник

R(

Roman (rpwheeler) in atinfo chat
Evgenii B
тестировал на pywinauto лет 6 назад, это было больновато. хендлы окон терялись, какие-то окна приложений написанные на современных фреймворках не находились / некорректно считывалась инфа с них
А есть что существенно получше? (без подколок, интересно).
источник