We're starting to plan out a salesforce app that will connect to our external system. We'd like it to be a managed package down the road. I've been told that our APEX code all needs tests, which is fine, but does our external app need unit tests as well? Currently we're doing manual black box tests but not automated tests. What type of test coverage do we need? Can it they mostly just focus on the end points we use to communicate with SF? Apex will communicate with our app via our api and/or components of our app will be embedded via canvas.
You'll probably want to read the Requirements Checklist to make sure that your app is prepared for a security review, if that's your goal. There's a lot of cost involved in proper security, and a lot of policy/discipline that goes in to security as well. Automated testing of code external to salesforce is not covered by the security review, so it's not strictly necessary, but I'd strongly recommend it.