Process Builder Processes are always deployed as inactive. This creates additional work during deployment (then go click to Activate it), and introduces new problems with APEX test coverage.
Processes run with APEX test execution, so the deployment test coverage can complete during deployment with the inactive process, then fail once the Process is activated, blocking all future deployments. For a future deployment, you can mark the Process as Inactive, and then re-activate it. Alternatively the tests could be written to work with the process, and those will fail during deployment because the Process is inactive, bringing the deployment to a halt.
With Processes we can replace a lot of code with clicks, but then we have need more more code development for APEX test classes simply because the Processes are deployed as Inactive.
Deployed processes should retained their active status (Active or Inactive) from the source organization of the change set, this would:
- Simplify deployments, removing the manual step of activating the process.
- Reduce the need for new APEX code development work.