4

I think I understand the difference between the two, and I've found a lot of resources that explain the difference between the two, but I haven't found any explanation of why you should have one or the other or both.

Here's my current thoughts. You start with test cases as a simple way to cover the detailed functional requirements, which you can do before any software is written. However, given the application, it's probably more efficient to execute a realistic test procedure that groups test cases, and explicitly states how to do that with the actual application.

Sound about right?

Follow up question: Do a lot of organizations use both? From my research, it seems like a lot of organizations stop at the test cases.

UPDATE: My definition of the terms "test case" and "test procedure" are primarily influenced by the book Systematic Software Testing.

4
  • For what you explained, "test procedure" is just the execution of testing (beign scripted or exploratory). I got it right? Apr 25, 2017 at 23:11
  • What's your definition of "test procedure"?
    – FDM
    May 26, 2017 at 5:46
  • @FDM I think a test procedure is a list of instructions that excercises one or more test cases, using actual the actual UI. For example: 1) Type a valid username into the username field. 2) Type a valid password into the password field. 3) Click the Login button. May 29, 2017 at 6:13
  • @TomasRamirez your 1-2-3 list is one test case. If that's a test procedure for you, they are equal in meaning.
    – FDM
    May 29, 2017 at 8:16

3 Answers 3

2

for anyone coming here, I wanted to add, that ISTQB & ISO/IEC/IEEE 29119 actually do have a definition for both of them and in case you go with this definition the distinction is very clear and also why you need both:

test procedure

sequence of test cases in execution order, associated actions to set up the initial preconditions, and wrap-up activities post execution

Source: ISO/IEC/IEEE 29119-1:2013 Software and systems engineering--Software testing--Part 1: Concepts and definitions, 4.78 - via https://pascal.computer.org/sev_display/index.action

test case

set of test case preconditions, inputs (including actions, where applicable), and expected results, developed to drive the execution of a test item to meet test objectives, including correct implementation, error identification, checking quality, and other valued information

Source: ISO/IEC/IEEE 29119-1:2013 Software and systems engineering--Software testing--Part 1: Concepts and definitions, 4.48 - via https://pascal.computer.org/sev_display/index.action

Very similar definitions are used by ISTQB.

The book mentioned in the question Systematic Software Testing is based on the standard IEEE 829, which was superseded by the above mentioned standard ISO/IEC/IEEE 29119. It shows the relationship of a test procedure consisting of many test cases in a great graphic on page 197 (link to google books)

Depending on the context you are operating in, you might need to consider another definition/standard.

If you pay close attention, you'll notice that a test case explicitly talks about a single test item. E.g. an input field. You'll only seldom find a test case that is so simple in the real world. Usually you will find a sequence of simple test cases which are by the defintions above test procedures. However most people simply refer to them (wrongly according to the definitions) as test cases.

So being confused about this is totally normal :-)

1

A procedure defines a process:

an established or official way of doing something

A case is only a single item in a process and not a process on its own.

There is a thin-line between test-procedure and or test-case. As both define steps how to execute testing work. I would argue that the procedure would be higher-level explaining why, what and how we are testing, more like a strategy, a way of working. While a test-case is a detailed isolated piece of functionality being tested.

Maybe it is better to call the test-procedure a test-plan or test-strategy. This shows a clearer difference between the two.

As with all terminology it depends. There is not a official defined definition. When in doubt ask in your company or team what they mean with it.

Yes, most companies should use both. We have a high-level testing strategy describing how we build high-quality products. There is also a separate strategy for each of our four products. We also group tests in test-suites and execute test-cases manual and automated. Although most if not all our test-cases are automated.

2
  • I agree, Niels - what you have described sounds more like a "test plan" to me. May 29, 2017 at 6:21
  • On the highest level yes, but a procedure could also be that during the executing of a user-story the process contains an exploratory testing session. Making it more part of a work-process than a test plan. Here an example sentence I think I could use: "The test procedures for our user stories is that we create test-cases up-front, they contain at least 65% code-coverage, that two people have tested it, we executed an exploratory testing session." May 29, 2017 at 8:19
0

As per you say that test case and test scenario are same as to each other. I have agreed with you, but we can also its differentiate like,

Test case: Test case consist of a set of input values, execution precondition, expected results and executed post condition, developed to cover certain test condition. The test case is written by using the functional requirement.

Test scenario: Test scenario is covered that all possibility of all case, it's covered the business point of the view all cases covers.

Please read more in below link:

http://www.360logica.com/blog/test-case-vs-test-scenarios/

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.