Use case testing is a functional testing technique which helps in identifying test scenario on the whole system or doing start to end transactions. Use case testing has "User action" and "system action". In user action, an action is performed by the user and in the system action, the system performed the actions. Both actions support each other.
This type of testing based on the vision of a user. Tester uses the real world transaction for the testing without depending on the input or output. Use case document has a written flow along with expected and alternate flow.
A flow of transactions (positive test case) and alternate (negative test case) are typically based on both the actions i.e. user action and system actions. This testing can also be used for developing the detailed level.
Advantages of use case testing:
User focused: use case is an intense apparatus for the software necessities process. It is a complete client driven apparatus which identifies the user and interacts with the system, fulfill the need or goals. It also ensures the genuine business esteem and truly produced the client needs, not those limited capacities speculated from a system or a developer. The use case has been an essential tool in the domain of user-centered design.
Access better: Use cases are frequently composed in normal dialects with organized formats. This literary structure which is reasonable by everybody encourages better and more profound communication among all partners, including clients, designers, analyzers and directors.
Quality requirements: dissecting a use case from preconditions to post conditions, investigations and exploring the every action flow step by step is one of the most intense things about the use case. Moreover, uses case do identify those dubious, hidden or ignored, realistic and costly requirements in a very beneficial way to clear, steady and quality of all the prerequisites systematically. Upgrading or minimizing the action step also contributes to the user experience of the system and also in interaction design to achieve the user's goal.
Following are some use case limitations:
The use case is not suitable for non-functional requirements such as platform, timings, performance, and mathematical performance and so on.
Use case is a beginning stage of test design, yet each stage needs its own achievement criteria, it might be changed to give a distinguish post conditions to every path.
Right from start to end, step by step, transaction by transaction is very important and the "use case testing" helps to investigate that all the test case should cover the whole system.