Комментарии 8
Вопрос от нуба, никогда не занимавшегося системным тестированием: как можно автоматизировать процесс тестирования инсталлятора, какие для этого есть инструменты?
В контексте этой статьи — можно автоматизировать поиск путей в графе по заданному типу покрытия, полагаю (на счет конкретных инструментов, решающих эту задачу, не подскажу, но думаю, можно обойтись произвольным языком программирования: реализаций разных алгоритмов поиска чего бы то ни было в графе, должно быть, масса). А имея пути, можно автоматизировать прохождение по визарду по каждому из них. Поскольку речь о десктоп-приложении, то, полагаю, понадобится что-то вроде TestComplete.
Ранее, возможно у этого же автора, были две статьи на тему графов, где была приведена терминология и примеры.
Было бы хорошо во введении эти две статьи указать как ссылки.
Было бы хорошо во введении эти две статьи указать как ссылки.
В графе на хватает перехода от «Ready to Install» к «Installation Cancelled»
Подскажите, пожалуйста, по ЦС, я не понял, для чего она здесь вычисляется.
Из википедии:
«Мак-Кейб применял вычисление цикломатической сложности при тестировании. Предложенный им метод заключался в тестировании каждого линейного независимого маршрута через программу, в этом случае число необходимых тестов равно цикломатической сложности программы.»
То есть, в данном случае тестов нужно 12? Или 12 тестов это максимум? Поэтому в вашем пути их меньше?
«путь(T) = {[1, 12], [1, 2, 12], [1, 2, 3, 4, 12], [1, 2, 5, 6, 12], [1, 2, 5, 6, 7, 8, 12], [1, 2, 5, 6, 7, 8, 9, 12], [1, 2, 1, 2, 5, 6, 2, 3, 4, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 6, 7, 8, 9, 10, 11]} „
Я запутался :)
Из википедии:
«Мак-Кейб применял вычисление цикломатической сложности при тестировании. Предложенный им метод заключался в тестировании каждого линейного независимого маршрута через программу, в этом случае число необходимых тестов равно цикломатической сложности программы.»
То есть, в данном случае тестов нужно 12? Или 12 тестов это максимум? Поэтому в вашем пути их меньше?
«путь(T) = {[1, 12], [1, 2, 12], [1, 2, 3, 4, 12], [1, 2, 5, 6, 12], [1, 2, 5, 6, 7, 8, 12], [1, 2, 5, 6, 7, 8, 9, 12], [1, 2, 1, 2, 5, 6, 2, 3, 4, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 6, 7, 8, 9, 10, 11]} „
Я запутался :)
12 тестов обеспечат по одному проходу одного цикла за тест. Как мне кажется, для этой задачи можно, скажем так, совместить в один тест проходы более чем по одному циклу, что и делает последний тест. Почему так сделала — здесь, по-моему, важно именно сохранять состояния, эту проверку и реализовывает последний тест, остальные — добавляют покрытие путей, т.е. в этом примере — возможность отменить операцию на каждом шаге.
Не знаю, насколько понятно объяснила, к тому же, это мое понимание, которое может не совпадать с правильным. :)
Не знаю, насколько понятно объяснила, к тому же, это мое понимание, которое может не совпадать с правильным. :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Тестирование и теория графов: инсталлятор