1

I don't get it why use case testing is divided as a separate testing technique. In use case testing we test cases given by the clients, but we test them with positive and negative tests.

So, basically we do exactly the same thing which we would do when testing only against requirements. The only difference is that in use case testing we get the scenarios from the client instead of creating them based on requirements.

Any thoughts on that?

2
  • Nothing to add, your analysis is great. It's just terminology.
    – Rsf
    Sep 16, 2016 at 7:40
  • I would only add that your test cases might not come from your client. Use case testing test cases are obtained from UML's diagrams by definition. Sep 16, 2016 at 20:26

3 Answers 3

1

Use cases are a way of defining requirements often in the form of a use case diagram. Use case testing as terminology could mean testing that a use case is complete and correct. As in you test the use case.

Definition from Wikipedia:

In software and systems engineering, a use case is a list of actions or event steps, typically defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system, to achieve a goal. The actor can be a human or other external system.

As with all terminology it greatly depends on the context and location. Discuss with your team and company what the term means to use and use it like that.

Not from clients

I do not think use cases per say come from clients. I have worked in teams where we would design use cases & UML and use these as sort of contracts in our code. No clients where involved.

I would dare to challenge that use cases are not designed or created by clients at all, but after design are used to have a conversation with the clients to verify that the assumptions they show are correct.

1

I'd say, yes, you are right, it's always just verifying a requirement with a test.

It doesn't have to come from a client.

I'd say the term use case testing helps to define the level or granularity of your testing. I'd put it in the following diagram below "requirements and architecture" and above "detailed design".

enter image description here

Image source: Wikipedia V-Model

Internet sources

Have you googled before asking the question?

There seem to be definitions for it. Here is one:

Use case testing is a technique that helps us identify test cases that exercise the whole system on a transaction by transaction basis from start to finish. They are described by Ivar Jacobson in his book Object-Oriented Software Engineering: A Use Case Driven Approach [Jacobson, 1992].

Source: ISTQB exam certification: What is Use case testing in software testing?

Here is another one:

Use Case Testing is a functional black box testing technique that helps testers to identify test scenarios that exercise the whole system on each transaction basis from start to finish.

Source: Tutorialpoint: What is Use case testing?

0

The difference is in the mentality. When you're testing against a requirement, you're performing a very black-and-white process: either the requirement was met, or it wasn't.

When you're using a Use Case to guide your testing, you're constructing a scenario that describes how a potential end-user might use the product you're testing. This mentality shift helps you take a broader view of the product, hopefully helping you to find a more diverse set of defects.

As an example, a requirement is often defined as:

The application must have a login screen

Whereas a use case is normally defined more like:

A user should be able to log in and view their previous actions on our website

In the second case, since you're following the mindset of a user who has a specific goal, you're much more concerned with how the system will be used rather than "does it tick all the boxes we've been asked to tick"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.