What is a Test Condition?
According to ISTQB glossary definition, a Test Condition is an aspect of the test basis that is relevant in order to achieve specific test objectives. Well, this sounds as a very formal definition isn't it? And it is not very informative in case you do not have much experience with test analysis.
In order to better understand what is a Test Condition we need a better, a bit informal definition. How about this - a Test Condition is something that we can test. So some condition, rule, option, part of functionality, etc that we can test is a Test Condition.
Why do we need Test Conditions?
In order to test better, efficiently and effectively we need to identify Test Conditions so "all" possible items could be tested. We should not miss any of Test Conditions as they are the subject of further analysis and prioritization. When we will be creating test cases we would use Test Design Techniques in order to create a defined number of effective Test Cases and not just a bunch of simple checks over your application, in case we are going to create Test Cases for a manual test execution.
Where to look for Test Conditions?
In any place in your work items - requirements, specification, design documents, code, acceptance criteria, etc. All these documents are called a Test Basis as they serve a source of a Test Conditions.
What to do with Test Conditions?
Further analysis and prioritization of Test Condition is required for effective test cases creation. We need to review them, create a basic tractability if required and prioritize according to your testing strategy and/or approach. If we have a limited development/testing time and test itself is risk based then we need to prioritize them according to a risk level.