Whereas the duplication of assertion code could be easily fixed by creating some reusable stored procedures (e.g. One of the more painful areas of the framework is setting up tables to have sample data loaded, the process involves adding variables, setting up connection managers adding components to the data flow task and updating the script component.
One way of fixing this issue that I thought of was generating the Test Controller package with BIML and have all of this automatically generated.
Having no standard approach (that is, a configuration schema or deployment strategy) makes modifying and maintaining the package after the initial development difficult for either another developer, or maybe even you.
If the metadata change is overarching across all packages, changing, testing, and redeploying every package that contains that metadata would take a lot of effort.
One change that will happen every time you create a package is modifying the name of a server location while moving a package through your environments, from development to quality assurance (QA) to production, or something similar.
Every time you need to open and change the package itself, you open yourself up to the possibility of error.
In the event that a logging database server name changes, checking that all packages have the new database server name would be necessary.
If any packages used text-based logging instead of database logging, the package would either miss the change, or need to be modified separately.