Здравствуйте, Erop, Вы писали:
E>Здравствуйте, malphunction, Вы писали:
M>>>>Если программа программа полностью покрыта путями, значит, она останавливается.
E>>>докажи...
M>>Лениво, сам доказывай...
E>Я приводил контрпример...
Контрпример? Программу, покрытую тестами, которые приводят к прохождению всех путей, но не останавливающуюся?
M>Контрпример? Программу, покрытую тестами, которые приводят к прохождению всех путей, но не останавливающуюся?
Возможно, я как-то не так понимаю термин "прохождение всех путей", но есть куча практически нужных даже примеров, а не то, что бы синтетических...
Я приводил в пример итерационные оптимизирующие алгоритмы, сходимость которых плохо исследована. Например генетические...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Возможно, я как-то не так понимаю термин "прохождение всех путей",
Ну так разберись, прежде чем спорить. Инфы по тестированию путей в гугле/википедии полно.
E>Я приводил в пример итерационные оптимизирующие алгоритмы, сходимость которых плохо исследована. Например генетические...
Для чего приводил?
Как пример непокрываемых программ? Я выше уже писал, что если программа содержит цикл, она непокрываема.
Или как контрпример для моего утверждения "покрываемые программы" останавливаются? Ну так как контрпример это не работает, потому что путь --
это последовательность операторов от начала программы до конца. Если программа полностью покрываема путями, то она не может "зависнуть",
т.к. все пути приводят к концу.
M>Как пример непокрываемых программ? Я выше уже писал, что если программа содержит цикл, она непокрываема.
ERGO: Коммерческих покрываемых программ не существует.
M>Или как контрпример для моего утверждения "покрываемые программы" останавливаются? Ну так как контрпример это не работает, потому что путь -- M>это последовательность операторов от начала программы до конца. Если программа полностью покрываема путями, то она не может "зависнуть", M>т.к. все пути приводят к концу.
Что значит "покрываема"? Что есть такой набор путей, что для любого оператора в программе можно указать хотя бы один путь из набора, в который, этот оператор входит, или, что можно перебрать все возможные пути?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
M>>Или как контрпример для моего утверждения "покрываемые программы" останавливаются? Ну так как контрпример это не работает, потому что путь -- M>>это последовательность операторов от начала программы до конца. Если программа полностью покрываема путями, то она не может "зависнуть", M>>т.к. все пути приводят к концу.
E>Что значит "покрываема"? Что есть такой набор путей, что для любого оператора в программе можно указать хотя бы один путь из набора, в который, этот оператор входит, или, что можно перебрать все возможные пути?
См. начало топика; ещё тут: https://ru.wikipedia.org/wiki/Покрытие_кода. Я писал про тестирование покрытием путей (т.е. перебор всех возможных путей), а не операторов.
Здравствуйте, malphunction, Вы писали:
M>Здравствуйте, Erop, Вы писали:
E>>Что значит "покрываема"? Что есть такой набор путей, что для любого оператора в программе можно указать хотя бы один путь из набора, в который, этот оператор входит, или, что можно перебрать все возможные пути?
M>См. начало топика; ещё тут: https://ru.wikipedia.org/wiki/Покрытие_кода. Я писал про тестирование покрытием путей (т.е. перебор всех возможных путей), а не операторов.
Походу вы пишете про покрытие путей (Path coverage — Has every possible route through a given part of the code been executed?) а подразумеваете "Full path coverage", по поводу которого в английской вики написано что "is usually impractical or impossible", который же связан с halting problem.
Т.е. вы с коллегой разговариваете о разных критериях покрытия.
Здравствуйте, malphunction, Вы писали:
M>См. начало топика; ещё тут: https://ru.wikipedia.org/wiki/Покрытие_кода. Я писал про тестирование покрытием путей (т.е. перебор всех возможных путей), а не операторов.
Можно пример коммерческой программы, где такое покрытие достигалось?..
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском