In recent versions of Android, I don't think you can reliably backup all app data. Android's built-in backup does a good job of backing up most system settings and things. It will backup google apps and app data. It backs up apps installed from the Play store (not necessarily their data though). Some 3rd party app data will be backed up if it is programmed to. ADB has a backup command, but it is now unsupported and unreliable. Swift Backup is a tool that will backup just about everything if you are rooted. You can use it unrooted to backup the APK files of your apps, but not the app data. It can backup locally or to the cloud. Titanium Backup is no longer updated or supported, so it might not be reliable even with root.