1)What should be tested more, back-end or front-end?
Every area is important and should be tested as much as possible. Start with the important test cases and continue to build up. Your application may break in the area that is less tested.
2)If I do API testing how should I do it? (I'm not asking for codes. Just steps to follow on)
There are two main options:
GUI based API testing:
Tools created specially for API testing. You can create test suites, test cases, assertions etc. Everything you need for an API test suite.
Pros:
- You can jump right into writing tests from the beginning
- Easier to learn
- Basic programming skills
Cons:
- Harder to refactor and to maintain, especially for bigger changes in the project
- Review process is hard since there is no version control system
Code based API testing
Here, you build your own testing framework depending on your project needs. You basically need to choose a language(Java, Python, Groovy) and a HTTP request library
Pros:
- Test suites are easier to maintain and to extend
- Easier to refactor
- Code review
Cons:
- Spending some time at the beginning with building the framework before adding tests
- Intermediate/Advanced programming skills required
3)Should I create separate test cases for back-end and front end?
Yes, you need different test cases and test suites for front-end and back-end, because are two different components with different functionalities.