Qt "Обезьяна" Тестирование - симуляция случайных кликов и нажатий клавиш
Есть ли основа для имитации детерминистски псевдослучайной серии кликов, наложенных на приложение Qt - чтобы попытаться вызвать любые утечки памяти, ошибки многопоточности и т. Д. - типичное тестирование на обезьянах?
Какая-то экзотическая обезьяна, используемая для QTestLib?
2 ответа
Да, вы можете использовать полезный модуль модульного тестирования. Посмотрите, в частности, на класс QTestEventList. Просто предоставьте QWidget, который вы хотите протестировать, или QMainWindow или любой другой подкласс, который вы хотите, и добавьте список событий, которые вы хотите сгенерировать. Если вы хотите сгенерировать последовательность точек для воспроизведения в случае сбоя, используйте qsrand() и qrand().
Среду автоматизированного тестирования графического интерфейса Squish можно использовать для щелчка мышью в вашем приложении. Есть несколько хороших вещей об использовании Squish для этой цели:
- Squish работает на Windows, Mac, Linux и Android
- Он записывает любые случайные шаги, которые он выполняет, в качестве сценария, который можно запустить повторно ( документы по тестированию обезьян)
- Имеется возможность сделать снимок экрана при сбое приложения ( снимок экрана при сбое в настройках документации)
Недостатки: сквош не бесплатный. Настройка Squish для запуска вашего приложения может быть очень раздражающей, особенно если вашему приложению требуются определенные характеристики сборки Qt или Python.