Всем привет. Как вы поняли из количества сообщений в моем профиле, я начинающий Сейчас работаю в небольшой компании и мне надо автоматизировать тестирование десктопного приложения (раньше я работал только с web) Программа связана с форексом и представляет собой конвертер данных связанный со временем. Если немного подробнее то на входе мы имеем набор файлов с юникс временем, вот пример 1515151277; 0.98090; 0.98104 (unixTimeStamp; bid; ask это общая схема) из этого мы получаем файлы с такими данными EURUSD, 20180105,112117,0.98104,0.98090 ( curCode, YYYYMMdd, HHmmss, ask, bid) кроме того файлы раскладываются по папкам (года), а в этих папках месяца.
Так вот в чем вопрос… объем данных очень большой, каким образом осуществлять тестирование этой программы? Помогите, пожалуйста, я вообще не понимаю с какой стороны подойти. Если есть вопросы - задавайте, понимаю что не все может быть понятно. Очень надеюсь на ответ. Спасибо
PS сейчас стараюсь что-то сделать с помощью Java + Winium (как Selenium только для десктоп) + TestNG
Так же прилагаю скриншоты для лучшего понимания. Так выглядит файл изначально а так после конвертирования
Т.е. вам надо просто проверить что конвертер работает по заданному алгоритму и все сконверченные данные норм?
Если так, берите в руки какой нибудь груви (он позволяет довольно просто работать с файлами и большими коллекциями из коробки + с коллекциями делать всякий груви-меджик) и проверяйте на здоровье) ну алгоритм проверки конечно придется написать =)
Юниты пишутся в том же коде, что и само приложение, запускаются при компиляции. По хорошему библиотеки и мат.логику алгоритмов надо покрывать юнитами и только ими, а для верняка можно ещё интеграцию проверить. Мы про одни и те же юнит-тесты сейчас говорим?
Если Вам нужен регрессионный тест то у Вас у же все для этого есть:
У вас есть исходный файл и даже несколько (возьмите пару месяцев в каждом году и несколько лет, желательно брать самые большие файлы в году)
У вас есть ожидаемый результат (возьмите сгенерёные проверенные Вами файлы это будет ваш снапшот)
При помощи Winium стартуйте Ваше приложение с исходными файлами и получайте новые сгенереные файлы
В ассертах проверяйте дифф нового сгенереного файла со снепшотом
4.1) Если отличия Вас в принципе не интересуют, а волнует только то что программа стала вести себя по другому и генерит отличный от снепшота файл (тогда можете снять просто мд5 хеши с файлов и сравнивать в ассертах их). Но с таким подходом потом придется искать вручную что именно сломалось в новом файле.