What is Difference Between Test Plan, Test Strategy, Test Case, Test Script, Test Scenario and Test Condition?

Our popular software testing questions and answers series is back again! Just to remind – in this series we answer questions asked by the readers. You can check some earlier posts in this series here and here. Got a question? Submit it in the comment section below or use the contact form.

In today’s article in this series, we are going to answer (with examples) some most commonly asked (and confusing) questions about the difference between test plan, test strategy, test case, test script, test scenario and test condition.

These questions are asked by “sasi C“.

“We almost have an overload of technical terms when working in an IT environment. There are processes, documents, tasks and everything else that is addressed by its own technical name. Now, how are we to remember, understand and use them in the right context every single time? “

This is the question that is most often asked in our software testing class and I always tell our participants that with experience we hardly notice these words and that they become a part of our vocabulary.

But often, confusion surrounds these and in this article today I am trying to define few commonly used terms.

software testing questions and answer series

What is difference between Test plan and Test strategy?

Test plan is a term and a deliverable. Test plan is a document that lists all the activities in a QA project, schedules them, defines the scope of the project, roles & responsibilities, risks, entry & exit criteria, test objective and anything else that you can think of. Test plan is as I like to call a ‘super document’ that lists everything there is to know and need. Please check this link for more information and a sample.

This is also a deliverable and also a document at that. Test strategy outlines the testing approach and everything else that surrounds it. It is different from the test plan, in the sense that a Test strategy is only a sub set of the test plan. It is a hard core test document that is to an extent generic and static. There is also an argument about at what levels test strategy or plan is used- but I really do not see any discerning difference.

Example: Test plan gives the information of who is going to test at what time. For example: Module 1 is going to be tested by “X tester”. If tester Y replaces X for some reason, the test plan has to be updated.

On the contrary, test strategy is going to have details like – “Individual modules are to be tested by test team members. “ In this case, it does not matter who is testing it- so it’s generic and the change in the team member does not have to be updated, keeping it static.

Further reading => All about creating a Test Plan and Guide to writing a good Test Strategy document.

What is difference between Test case and Test script?

In my opinion, these two terms can be used interchangeable. Yes, I am saying there is no difference. Test case is a sequence of steps that help us perform a certain test on the application. Test script is the same thing.


Now, there is one school of thought that test case is a term used in the manual testing environment and test script is used in an automation environment. This is partly true, because of the comfort level of the testers in the respective fields and also on how the tools refer to the tests (some call test scripts and some call them test cases). So in effect, test script and test case both are steps to be performed on an application to validate its functionality whether manually or through automation.

Further reading => Writing effective test cases, tips for writing test cases, test case example template.

What is difference between Test scenario and Test condition?

This is a one line pointer that testers create as an initial, transitional step into the test design phase. This is mostly a one line definition of “What” we are going to test with respect to a certain feature. Usually, test scenarios are an input for the creation of test cases. In agile projects, Test scenarios are the only test design outputs and no test cases are written following these. A test scenario might result in multiple tests.

Examples test scenarios:

1. Validate if a new country can be added by the Admin
2. Validate if an existing country can be deleted by the admin
3. Validate if an existing country can be updated

Test conditions on the other hand are more specific. It can be roughly defined as the aim/goal of a certain test.

Example test condition:
In the above example, if we were to test the scenario 1, we can test the following conditions:
1. Enter the country name as “India”(valid )and check for the addition of the country
2. Enter a blank and check if the country gets added.
In each case, the specific data is described and the goal of the test is much more precise.

Further reading => 180+ sample test scenarios for testing web and desktop application.

What is difference between Test procedure and Test suite?

Test procedure is a combination of test cases based on a certain logical reason, like executing an end-to end situation or something to that effect. The order in which the test cases are to be run is fixed.

For example, if I was to test the sending of an email from Gmail.com, the order of test cases that I would combine to form a test procedure would be:

1. The test to check the login
2. The test to compose email
3. The test to attach one/more attachments
4. Formatting the email in the required way by using various options
5. Adding contacts or email addresses to the To, BCC, CC fields
6. Sending email and making sure it is showing in the “Sent Mail” section

All the test cases above are grouped to achieve a certain target at the end of them. Also, test procedures have a few test cases combined at any point of time.

Test suite, on the other hand, is the list of all the test cases that have to be executed as a part of a test cycle or a regression phase etc. There is no logical grouping based on functionality. The order in which the constituent test cases get executed may or may not be important.

Example of test suite: If an application’s current version is 2.0. The previous version 1.0 might have had 1000 test cases to test it entirely. For version 2 there is 500 test cases to just test the new functionality that is added in the new version. So, the current test suite would be 1000+500 test cases that include both regression and the new functionality. The suite is a combination too, but we are not trying to achieve a target function.

Test suites can contain 100s or even 1000s of test cases.

Conclusion

This brings us to the end of this definition based segment.

Usually articles like these are excellent starting points for deeper discussions. So, please contribute your thoughts, agreements, disagreements and anything else, in the comments below. We look forward to your feedback.

We also welcome your questions about software testing in general or anything related to your testing career. We will address these in more details in our upcoming posts in the same series.

Thanks Swati S. for helping us to answer these questions.




Recommended reading

54 comments ↓

#1 Nagarajan

Hi Swati,

Very good and informative article!!

-Nagarajan

#2 Claudiu Draghia

Very good article.
I would have added more details about the strategy…it is something seldom taken into consideration. the definition that I like best: “A test strategy is an outline that describes the testing approach for testing in the software development cycle. It includes the testing objective and methods of testing.”. also James Bach description of a strategy is quite nice and simple: Specific, Practical, Justified.

#3 Ankur

Thanks for clearing my doubts on these most confusing terms. good post.

#4 Jensi

Hi ,

This is very informative blog , In simple Term, Manual testing more commonly called as test case in which include a input value ,execution precondition , expected results etc . Test script is like a one type of program written in programming language used in test plan of functionally . Test scenario means to have more test case .

#5 Azharuddin Khan

Hi,
If application is travel portal and changes are happening frequently then how to design test cases for frequent changes in functionliaty.

#6 Ramarajan

Hi,
What is the difference between TestSuite and TestSet?

#7 Jane

Hi! I would like to add smth:
“During test implementation the test cases are developed, implemented, prioritized and organized in the test procedure specification (IEEE STD 829-1998). The test procedure specifies the sequence of actions for the execution of a test. If tests are run using a test execution tool, the sequence of actions is specified in a test script (which is an automated test procedure).”

So according to syllabus for exam: test case and test script are different. We can say that test procedure and test script are the same (manual and automated testing). So test script is SEQUENCE OF ACTIONS to execute the test (test – is 1 or more test cases according to IEEE 829). And Test Case is set of input values, exec precondition, expected results and exec post condition. All definitions are from glossary and syllabus for exam.

#8 Taru

Hi Swati,

Very good and informative article!!

– Taru Desai

#9 Mihir Mehta

To the Author,

Article is written in a nice way and looks professional though I tend to disagree on the point that says “Test Strategy” is a subset of “Test Plan”. I think this is wrong. Plan comes out of the Strategy. Test Strategy is the first document that is created in Software Testing Life Cycle and usually created by the people of the Test Manager level. So Test Strategy comes first, Test Plan is the second in the hierarchy, Test Specification (List of test scenarios) is the next to Test Plan, From Test Scenarios, the Test Cases are derived and then the test execution starts.

#10 sathish

hi this is sathish,
this is very informative, thank u…
sathish

#11 Mamatha

I suggest its helpful if any article regarding importance of automation tools is provided
And which is best tool for the starters who don’t have any knowledge on automation tools with good manual testing experience.

#12 Farhana Islam

I have to write a test plan for load test for a banking software.I just want to know for load test should I have to write a test plan or test strategy or scenario or something else?
How can I start to write that as I have no previous experience?

#13 Bibhu

@Mihir Mehta,

As per IEE 829 documentation standard, Test strategy is part of Test Plan document. Please go through the below link.
http://www.computing.dcu.ie/~davids/courses/CA267/ieee829mtp.pdf

#14 Vivek

I am currently doing manual testing.
Is there future only in manual testing?
Or Do I need to study automation?
Which one do you suggest ?

Regards
Vivek

#15 Swati Seela

@Claudiu Draghia: Thank you for stopping by and sharing your thoughts

#16 Swati Seela

@nagarajan, @Ankur: Thank you

#17 Swati Seela

@Jensi: Thank you for adding your thoughts to the article

#18 Swati Seela

@Azharuddin Khan: Functionality scope has to be constant for us to write test cases accurately. However, if in real time this is not happening, it can be quite challenging – I will suggest keeping in touch with the developers, designers and BA to stay informed and communicate that frequent changes are going to make testing inaccurate

#19 Swati Seela

@Ramarajan: Test suite is all the test cases. Test set is a list of test cases that are going to be executed as a group- this might be all or some. Thank you for submitting your question

#20 Swati Seela

@Jane: Thank you Jane for sharing the definitions

#21 Swati Seela

@Taru: Thank you Taru.

#22 Swati Seela

@Mihir Mehta: Thank you for letting us know your thoughts on the subject

#23 Swati Seela

@sathish : Thank you

#24 Swati Seela

@Mamatha: Thank you for your suggestion. We will take that under advisement.

#25 Swati Seela

@Farhana Islam : Please check our article series on performance testing. I am sure you will find everything you are looking for http://www.softwaretestinghelp.com/introduction-to-performance-testing-loadrunner-training-tutorial-part-1/

#26 Swati Seela

@Vivek: It depends. If you want to become a manager, it is better to learn Quality Assurance and Project Management subjects. If you want to stay and grow into a much more technical role, then automation might be your next step. In any case, automation knowledge is good to have.

Also, skill upgrading is always a necessity. So one way or the other, try automation testing. It is fun :)

#27 chandy

To the author…

Article is good to some extent.

but difference between test strategy and Test plan is not correct according to the global standards and all major testing institutions and Boards.

Test Strategy is very high level Document when compared to test plan and after test strategy only Test plan will be prepared.

Plz verify IT

#28 Mangaladevi P K

Thank you. Very informative article.

#29 Swati Seela

@chandy: Thank you Chandy for letting you know that you differ from us. This is exactly what we wanted to initiate- a brain storming of sorts. We are glad you could contribute

#30 Rajiv Gupta

Thanks, A very nice and helpful article.

#31 Dhaksha

Test strategy nothing but type of level of testing like unit testing , integrate testing ,system testing acceptance testing. Test case is nothing but set of producer that use to test the build with vaild and invaild test data by using requirements.

#32 Rajahmix

Very informative article

But im not quite sure about Test procedure and Test suites, I though test procedures are actually test case steps and Test suites are a collection or combination of test cases of related functions within a module.

#33 Sandeep

Hello,

I read this 2-3 times and I came up with certain questions based on my Testing knowledge, Test artefacts knowledge.

1. You mentioned ‘Test Plan’ is a ‘Document’? How a plan is a document? A plan in your ‘Head’ and when it is formally / informally documented it takes shape of Test Plan Document. Isn’t it? You can have a Test Plan and may not have it documented at all? The kind of documentation you are suggesting is based on IEEE Test Plan Document Template created with a different vision or it may also take shape from a ‘organization’ tailored ‘Test Plan Template’. Also, from a Test Management Tool perspective (QC, MSFT – VSTS and others), a ‘Test Plan’ is a ‘collection’ of carefully selected ‘Test Cases’ targeted / being scheduled to be ‘Executed’ for a coming release.

When someone ‘Plan’ testing, it is not necessary to have that documented at all unless it is a ‘Necessity’ defined by the ‘Context’ of the software Project / Product being tested. As I learnt and I am completely agree with James Bach over definition of test plan which reads as ‘A good test plan, whether documented or not, expresses a set of choices about the test process’

2. In a similar way you described ‘Strategy’ again as a document, No it is not, a test strategy guides your ‘Test Design’, Its not generic, It is Specific to the ‘Product’, ‘Project’, ‘Component’ you are testing. It is not ‘Static’ as well, it is ‘Dynamic’ in nature unless you believe that there is nothing to ‘Learn’ in the system as you go ahead with testing it and from that learning of the system, you have nothing to ‘Optimize’, nothing to ‘Add’, ‘Deprecate’ from your Strategy. As you test the software product, Strategy evolves over the time and that’s the beauty when you look at it once you deliver the software testing information to your manager and feel ‘awesome’ for your ‘Test Strategy’ which helped you in Testing software with ‘Efficiency’, ‘Effectiveness’, ‘Economically’, ‘Aggressively address all risk areas and coverage’.

In essence Planning and Strategy should never be confused by ‘Documentation’ tag to it. Its more than that.

I would be glad to hear your comments on it

#34 Rohit

Totally agree with @Sandeep.

#35 kiran

Thank you , this is really helpful to clear basics of testing.
But I am not clear or having confusion about defining following things…….

1. Model 2. Methodology 3. Framework 4. approach, 5. Scope 6. methods. If any one can help me to differentiate this, then it will really helpful for me…?

#36 kiran

I think Strategy is nothing but a sub set of test plan which defines some set of rules like constraints that we have to follow/focus while using test plan or even during test execution cycle.

#37 Pramod Mallick

This artucle is very good. I read the article completely including all comments. Thank you all for your contrubution.

Here is my understanding on Test Plan and strategy.

In some organization test strategy is kept as a separate document and some include test strategy as a sub section in Test plan itself. There is no hard core rule.

As Swati said test strategy is static, it is partly true but not very static in nature. It is updated when the cope of testing changes or a new type of testing is added to the project.

As in my organization test strategy was updated after a year to include 508 testing as per regession suite.

But test plan used to update for each release. It maybe once in a quarter for major release and twice in a month for minor release.

Any comment on this are welcome.

Pramod Mallick

#38 Rahul

Can you please give some more example about the Test scenario and condition as well as Test procedure and Suite .
Thank you

#39 Ram K

I agree with Mihir Mehta. Test Strategy is THE first document dreated during the Project Initiation phase. Test Plan follows

Thanks
Ram

#40 rishabh kurmi

really i really feel comfort by learn all definition thanks

#41 Poonam dullet

I have just started software testing course ; Please suggest me most important basic things that i need to know to get a good understanding of testing. I’ll be very thakfull to you.

#42 Suraj Karale

Hi,
May i get Scenerious on EMV terminal.
Some plz give me on Karale.surajraje@gmail.com

#43 SENTHIL

REALLY NICE ARTICLE

#44 Debanjan

Thanks a lot Vijay for sharing this wonderful information with us.

I do have a question here.

What is the difference between test case and test condition ?

#45 vasu

Hi

Its really very informative and well explained

vasu

#46 krisha

Hi
nice article
who will prepare test plan and who will prepare Test Strategy

#47 Cazal

Brilliant set of articles, but I’m still a little confused as to the order and hierarchy of documents: Do the Test Scenarios come before the Test Plan? It seems from your daily process for the Orange project that the Test Scenarios, precede the preparation of the Test Plan.

#48 leith

Hi, I am also interested in question from Debanjan in comment #44 “What is the difference between test case and test condition ?”

#49 sachin duve

Hi, how do we create batch file(.bat) to execute selenium test suite when we are adding jar/library files using Maven dependencies.

#50 Sree

Thanks for your very detailed information

#51 Puja

Very Helpfull!!! Much appreciatd :)

#52 Swati

Superbly explained….thanks

#53 Sibu

Nice and well explained article, i now can distinguish between these terms.

#54 Fred

Hi Swati,

Thanks for your very detailed information
. Would you please explain what is test policy?

Leave a Comment