What issues will I run into when we try and do both API and UI implementations and validation on the same user story?
Some issues you will run into are:
- co-ordination of who tests what
- determining who tests what parts of security
- determining the feedback mechanisms for each
- changes in one area that affect the other
- co-coordinating validations
- standards for where validation is done (can be both)
Essentially the issues are mostly about
Communication and co-ordination
combining API and UI
Since a user story describes a feature and features could consist of UI and API changes, I guess this is pretty natural and happens all the time on different teams.
API and UI implementations and validation
Validations are something that usually have to be implemented, both on frontend (html, JS) and again on backend because we can't trust data coming from the outside. So just like in the previous answer, this is a part of a user story and so it should be implemented.
Perhaps you could give us an example of some of your concerns regarding this very topic. I don't know if I really understood your questions, it feels like you meant something concrete but expressed it in broad terms.
Implementing API testing without UI testing or vice versa is like having a pizza without cheese. Though many top software testing companies are likely testing both layers, there are teams that are focusing to test both effectively.
Thus by providing UI and API testing as well as UI+ API testing the overall quality of testing can be improved significantly as listed below:-
- Functional Testing
- End User experience
- Look and Feel
- Business logic validation
- Boundary errors
- Load Testing for API
- Cross check front end UI logic with API tests
- Optimize permutations and combinations with a UI setup and API execution
- Cross functional test with API permutations and combinations
Best of my knowledge API & UI Testing in same story will create below issues :
- Challenging to track testing efforts & observed issues
- Visibility might be less
- Can not prominently plan which flow, part and feature who will test
- Few features can be tested by more than one time and unknowingly high chances of missing something to even test once
- Management will be difficult
- Something goes wrong with UI or UI libraries for that matter, will also make impact on API unnecessarily
- For bigger story with UI ans API testing work might not get completed in specific sprint which might fail objective of Agile/Scrum