Skip to content

Policy for application testing by end‐users

benoit74 edited this page Dec 12, 2023 · 2 revisions

Context

  • in App Store, we can have either internal or external testers
  • internal testers need to exist as Users in our Apple account, with at least one role on one app
  • external testers can only tests builds that have been reviewed by Apple (and it probably takes some time, we are not - yet - very used to it)
  • we would like to grant access to custom app on Apple console to one or two "admins" per custom app, so that the "client" can respond to customer comments, update application details like the description, ...
  • to access Apple console user need an Apple ID, but AFAIK user does not need to have an Apple device (https://appleid.apple.com/account) ; in other words, the admin does not need to have an Apple device to manage the application, she will just not be able to test builds without it
  • we are limited to 100 users on our Apple account, for now this is not an issue at all but in the longer term it might become one if everything goes as planned

Policy

  • we differentiate two phases in the custom application lifecycle:
    • the setup phase, where the custom app has just been created
      • the application has not yet been reviewed by Apple and many details are usually not yet ready (description, legal terms, ...)
      • quick iterations are needed for testers
      • we do not expect to have many applications in a setup phase at once
    • the maintenance phase, where we push updates in terms of ZIM and/or code
      • the application has been reviewed by Apple, all details are done
      • iterations on tests are slower (testers have usually way less focus, changes are usually not important/urgent anymore)
  • during the setup phase:
    • we add all "client" testers as users to our Apple account with minimal rights ("Customer Support" is the one with minimal impact, see https://developer.apple.com/support/roles/) and only on their application
    • one or two "client" users are designated and granted the "App Manager" role so that they can update application details and stuff like that on their own
    • we create a dedicated internal tests "client team" on the application and add all client users to this team
    • on this internal team, builds are automatically available, so that the loop is fast (see https://github.com/kiwix/apple/issues/581)
  • during the maintenance phase:
    • we keep only the one or two admins as users on our Apple Account (hence limiting the number of users in our account)
    • we create an external testers team with all other client users (hence allowing them to still test builds after an Apple review but this should be quite fast now that the application has been published once)
    • admins are kept on the internal test team so that they can quickly test a new build (e.g. when an urgent fix is needed, or just for convenience since they are the ones who will test the application usually on new releases usually)
  • we keep an eye on the number of users in our Account, and once we have reached the 70-80 users cap, we define a new policy
Clone this wiki locally