Здравствуйте!
Темой первого поста будет наболевшее… Тестирование апдейта приложений. До того как приложение попадает на App Store мы тестируем билд приложения которые сразу заливаем к себе на девайс, ну а что если это, например, версия 1.1? Мы кидаем себе на девайс этот билд и тестируем, потом тестируем еще и еще, вот вроде бы все хорошо, билд релизится и начинают приходить отзывы в духе "У меня удалились все данные, ужас!!!" - а как известно такие отзывы плохо влияют на нервную систему тестировщиков, PM'ов и еще многих людей, не говоря уже о рейтинге продукта и репутации.
Разница в том что мы поставили чистый билд а пользователи проапдейтились до этого билда, и из-за изменений в базе или добавлении некоторых фич у них не отображаются данные, не работает какой то функционал и тд.
В интеренетах я нашел крайне мало информации по этому поводу, так что попробую написать свой вариант мануала.
Для начала нужно определить какие изменения были внесены в новую версию: менялась ли база? Были ли добавлены новые фичи или была изменена логика работы старых, в общем определить возможные слабые места которые могут повлиять на работу приложения после апдейта. Так как пользователь ожидает что после апдейта весь старый функционал будет работать как и работал, он не потеряет свои данные или другую информацию и получит какие то новые фичи которые тоже будут работать как полагается.
Итак сам процес апгрейда:
1. Сначала мы устанавливаем более раннюю версию приложения (v. 1.0)
2. Запускаем его на девайсе и дальше уже в зависимости от приложения вносим определенные данные.
Предположим что у нас какой нибудь Task Manager, то есть у нас есть какие то таски - выполненные и невыполненые, напоминания - сработавшие или которые еще должны сработать, возможно еще какие то специфические настройки самого приложения - все это нужно добавить в наше приложение v. 1.0 чтобы увидеть остается ли все на местах после апдейта.
3. Устанавливаем апдейт - просто перетаскиваем билд v. 1.1 в iTunes, появится окно в котором нужно нажать "Заменить"
4. Теперь просто синхронизируем iTunes библиотеку с девайсом
Если все прошло хорошо то на девайсе уже должна быть версия 1.1
И уже после этого мы начинаем смотреть как прошел апдейт, остались ли все данные на месте, корректно ли работает новый функционал и т.д. При успешном апдейте не должно изменится ничего кроме планируемых изменений - новых фич, пофикшеных багов - в общем того что планировалось добавить в приложение с апдейтом, но это не должно негативно сказаться на уже имеющихся данных.
Думаю, там уже каждый тестировщик сам решит на что стоит обратить внимание и определит критерии по которым сможет сказать был ли апдейт успешен.
Есть еще одна ситуация связанная с апдейтами и In-App Purchase. Вы тестируете приложение у которого есть Lite версия с возможность купить через In-App Purchase Про версию. Допустим пользователь скачал Lite версию, в ней же купил Pro версию и потом выходит апдейт Lite версии приложения, он апдейтится и все что он покупал пропадает, пользователь расстроен и зол (и вполне понятно почему)!
Как воспроизвести это в тестовой среде:
1. Устанавливаем приложение v. 1.0
2. Покупаем Pro версию
3. Кидаем в iTunes билд v. 1.1 Lite версию!
4. Синхронизируем
5. Проверяем остался ли в приложении функционал Pro версии
Ну вот пока и все)
Спасибо за внимание!
