The main difference in designing the GUI and API test-cases is the parameters verified and its expected result
GUI test-cases mostly validate the user flow and test-cases will comprise of the Pre-requisite, Steps to perform and the expected results at the user end
On the contrary, API test-cases will include endpoint details, the C/R/U/D operation to be ...
The user interacts with the GUI
The GUI interacts with the API
The API interacts with the back end
In theory the GUI tests should cover all the API tests, right? Well, what about when the GUI prevents the user from submitting invalid data? You still need to test that the API handles these cases sensibly. Each layer should be tested separately:
Usually for UI testing I'll focus on the major work flows/use cases. You mentioned the CRUD operations. I'll have a test for each of these to make sure it works. Typically you can black box test these imo. "If this UI goes out tonight, and these work flows pass, the UI should be good"
For API's i usually have 1 or multiple tests for each endpoint and verify ...
Note: I will talk about testing itself since the documentation of certain activity is only but a product of the activity itself.
I'm not sure is your question is about "the testing for ... is different" or if the "the testing design for ... is different".
The second point talks about the heuristics for exploration, the "meta-hows". E.g.,
Yes, API and GUI are different from a hardware product or command line enterprise software and as such requires specialized approach and techniques.
But GUIs and APIs are usually a very thin layer above the actual business logic and features, when designing a test you you obviously check that the GUI itself (colors or location of elements for example) or ...
This is a common case in a software testing company.
In this scenario there can be 2 different point of views.
You can review the important step again and check if it is a mandatory step else, can refactor the test case as the desired result is already achieved.
You should fail the test case as an important step did not execute correctly even though ...