Usually you should convey to developers and testers to shut down the VMs manually when they are not using non production virtual machines. Also there some ways to automatic shutdown the VMs like you can create and schedule a script to start and shutdown VMs based on use timings or you can use Dev Test labs.
Azure App Services
As app service plan allocate compute resources for which you pay so if you run multiple applications in same app service plan, that will definitely reduce your cost. If your app service plan tier is not fulfilling your new app requirements like it requires high computation resources or your exiting app service plan is already exceeding the resource utilization, than its better to create new one.