We are planning on revamp for an old system. Also previously we haven't done any test automation tasks too. So my plan is to start the automation project earlier for the existing system and give a head start to by more time.
Since this is an revamp logic of the system wont change. Old system doesn't have any API's included. Therefore I'm planning on doing UI and DB testing. But with the delivering of revamp system I want to use this project to system as well as start API test automation too.
As I think it will become complicate if we maintain one project for UI,DB and API testing. Therefore I'm planning on three separate projects in order to maintain easily. Below image is a sketch of what I'm having in my mind at the moment.
So my questions are,
1) Is it ok to create three separate projects like this and user DB project in both UI and API project?
2) Is it a good practice to use one project in another?
3) How to user one project in another? EX : Calling DB project's test cases inside UI project. If a function save function is used in UI test case, using db test case we can check the saved data is in the database
Please share with me if there is any better solution or any reading material