# Equivalence partitioning ###### tags: `Black Box Testing Tech` `ISTQB` `Software Testing` `SQA` - Chunck values into groups of similar attributes or effections. - Every value inside the partition is exactly equivalent to any other value **as far as our program is concerned**. In other words, all the values in an equivalence partition are handled in exactly the same way by a given program. - It often suits us **to treat zero as a special case** for testing where ranges of numbers are involved. - **To reduce the number of test cases** we need to write cause we need **only test one of them as a representative of the partition**. - According to source of values to be chuncked, there are: - Input partitions - For exaples, the program accepts any value between −10,000 and +10,000. If we imagine a program that seperate numbers into >0, =0 and <0. So if the computer accepts −2,905 as a valid negative integer we would expect it also to accept −3. Similarly, if it accepts 100 it should also accept 2,345 as a positive integer. - Output partitions - Use test cases that generate each of outputs as an alternative to generating input partitions. - Other partitions - For example, if a program handles input requests by placing them on one of a number of queues we could, in principle, check that requests end up on the right queue. - In this case a stream of inputs( of a test case) can be partitioned according to the queue we anticipate it will be placed into. - According if the values are valid or not, there are: - valid equivalence partitions - non-valid equivalence partitions - There will be many other possible non-valid input partitions, so we may have **to limit the test cases to the ones that are most likely to crop up in a real situation**.