Тоже пытаемся развивать автотесты, гуру в команде нет, но у начальства есть понимание, что ннада.
Для начала если нет того кто все знает и умеет (как у нас), то строем по принципу пилотных проектов, т.е. есть задача ее решаем в лоб, решаем проверку какой либо фичи, потом выкидываем все что получилось, и со знаниями начинаем следующий проект - не нужно пытаться плыть на дырявой лодке, она нас чему то научила, и далее сделаем лучше.
В чем видится проблема при небольшой команде, особенно если софт не статичен - пока мы все будем прорабатывать и додумывать, еще не успеем все сделать, как что то придется переделывать.
По этой причине планируем выбирать популярные user-story и по ним делать автотесты за относительно короткое время, при этом можно пожертвовать отчетами и детализацией где ошибка, т.е. ОР сверяется в ФР только в конце, а если что то пошло не так, то разбор руками.
Немного про приложения десктоп.
Всякая подготовка, скачивание с TC пишу на powershell, эти же скрипты полезны ручным автотестерам, не нужно никуда тыкать в браузере.
Если инсталятор не поддерживает салйнт установку, то дешево и сердито - AutoIT, даже бесплатно.
Про системы GUI автоматизации, рассматривали testcomplete, ranorex studio и Squish froglogic. Разработчики топили за Squish, т.к. есть проект где Unix и win.
Мое ИМХО по продуктам:
Squish - из режима записи получаем код автотеста, кто не кодил тяжко, нельзя ткнуть в строку и увидеть скриншот элемента.
Ranorex - с точки зрения мануальщика хорошая вещь для понимания, для разного уровня знаний есть разные инструменты. Мало знаешь используй запись. Минусы обучалки на английском.
Так же можно брать данные хоть с excel, где каждая строчка это отдельный прогон теста.
testcomplete - во многом схож с ranorex, но с нашими приложениями на Delphi 7 справляется хуже, вообще такое старье сложно тестировать автотестами, часто это просто картинка.
Еще важно на каком языке скрипты, если все знают С++, то лучше testcomplete, Ranorex поддерживает VB и C#.
В результате купили Ranorex, еще летом на акцию попали две лицензии по цене одной. Цена конечно не маленькая.
По порядку тестирования если есть возможность проверить, что что то попало в БД из интерфейса, то лучше сделать через него, будет доп. проверка интерфейса.
Набивать базу не через UI имеет смысл только как подготовка к тесту, лучше по максимальному повторить действия пользователя.
Еще не нужно делать один большой автотест, последовательно выполняющий все. Их должно быть много мелких, а потом выбирать что проверять.
Еще важный момент, результат работы одного автотеста не должен быть исходными условиями для второго.
Пример не правильных:
1. ставим приложение;
2. создаем БД;
3. наполняем БД в UI;
4. проверяем работу базы.
Любая ошибка, и мы лишь знаем что все плохо на этапе Х, а что работает не известно. По этой причине
Альтернативный вариант:
тест 1
скачать приложение.
поставить приложение через мастер, проверить результат.
тест 2
скачать приложение, поставить через сайлент режим, либо вообще копированием файлов с TC (на случай если сломался инсталятор)
создать БД
тест 3
поднимаем готовую БД из бекапа и с ней работаем.
и т.д.
Удачных вам pass