From a QA perspective:
Usually, when a tester is assigned in a team, there are few phases of testing that he/she goes through. The most important ones are:
Dumb Monkey Testing:
Use the system as a completely new user who has '0 knowledge of the product'
Try out the system in a way it is not meant to be used.
This allows in identifying the robustness of the system, security issues, handling errors, recovery time etc.
Exploratory Testing:
Use the system as a completely new user who has '0 knowledge of the product'
Use it as a user who is trying to learn the product.
Use it as a user who tries to understand error messages, tooltips, button design etc. to understand the correct way of using a product.
This allows in identifying the flaws in the UX design, identifying usability, accessibility-related issues etc.
Functional Testing:
Use the system as a domain expert who knows the domain and product.
Use the system in a way who knows the business requirement.
Test highly complex business use cases etc.
So coming to your question:
The advantage of the first approach is that:
This will give you more results in Dumb monkey testing and exploratory testing. As the testers domain knowledge and product knowledge would be limited in scenarios where they test multiple products than concentrating on a single product. ( Because we all are humans and will get distracted when multi-tasked).
Disadvantage of first approach:
The testers will lack domain expertise and product expertise that could lead to missing out testing complex business scenarios and bugs being pushed to production.
The advantage of the second approach is that:
The user gets more time in improving knowledge about the product and domain.
This will give more results in functional tests as the tester is well aware of complex use cases of the product and domain. This allows making sure the product works the way it intended to.
Disadvantage of second approach:
As the tester is well aware of the product and domain, sometimes they miss in identifying UX flaws that might prevent a user from being attracted to buying the product.
So exploratory testing and monkey testing would be less efficient here (But a well-skilled tester might even cover this part)
So my tip:
- The First approach is better for products that are building from scratch and are not mature enough.
- The second approach is best for all scenarios and can find complex scenarios in early testing itself. (Given you don't overload the tester)
- Hire more QA if a single person can't handle it alone.