|
Author
|
Topic: equivalance partitioning
|
handy_software_error Member
Posts: 8 Registered: Mar 2003
|
posted 03-28-2003 01:06 AM
can some one tell me what exactly is equivalance partitioning and how can it be used practically.------------------

|
sathyanarain@yahoo.com Member
Posts: 19 Registered: Sep 2002
|
posted 03-28-2003 05:11 AM
HI,This is Sathya. To answer your query,the concept of Equivalence Partitioning and Boundary Value analysis applies when you want to test validity / graceful inputs to be accepted by your application or system as a whole. First we need to distinguish valid and invalid equivalence classes. From that, apply boundary values to test the system. Most of the bugs encountered in Boundary value analysis. For eg., If age field in the application accepts 2 numeric digits only (requirement for eg.). Now to apply equivalence partitioning here you will be having valid equivalence classes such as 54, 20 , 9 etc., similarly you will have invalid equivalence classes such as -54, -9, 0, AB, 9AB-,999 etc., ...And to apply boundary value analysis on this...If you have limitation in age field say age should not be greater than 55..Then you will check for lower and upper boundary inputs such as 54, 56 for 55. Like this the concept of Equivalence Partitioning and Boundary value analysis is always helpful in testing the validity of inputs in the software application. One significant use of these concept is that when you test Date function in your application this will be very much useful. Think I have narrated the significance of the concept you had asked for...Hope this will help you. Thanks & Regards, Sathya. ------------------------------------- Testing - A critical discipline of finding fault with the system ------------------ Sathya Narayanan G

|
ljeanwilkin Member
Posts: 42 Registered: Jan 2003
|
posted 03-28-2003 07:44 AM
Generally, equivalence partitioning ensures you exercise at least one valid and one invalid test per test requirement. Boundary testing tests all real/implied limits of the requirement.For example: You have a field with a valid range of -1 to +1. Therefore, in equivalence partitioning, you would select one valid value within the range (perhaps 0) and one invalid value, like 2. With boundary analysis, using the same example, you test the full boundary of the range. So you would select -1, +1, -2, +2, null, space, and an invalid character (such as "&"). For this particular example, boundary testing provides the best test coverage. I have several slides I use in classes that demonstrate both techniques against a variety of data (the range example above is just the simplest to explain). If you'd like more information, please drop me an EMail, and I'll ship it to you.
- Linda ------------------

|
jimhazen Member

Posts: 82 Registered: Jan 2002
|
posted 03-30-2003 07:20 PM
quote: Originally posted by ljeanwilkin: Generally, equivalence partitioning ensures you exercise at least one valid and one invalid test per test requirement. Boundary testing tests all real/implied limits of the requirement.For example: You have a field with a valid range of -1 to +1. Therefore, in equivalence partitioning, you would select one valid value within the range (perhaps 0) and one invalid value, like 2. With boundary analysis, using the same example, you test the full boundary of the range. So you would select -1, +1, -2, +2, null, space, and an invalid character (such as "&"). For this particular example, boundary testing provides the best test coverage. I have several slides I use in classes that demonstrate both techniques against a variety of data (the range example above is just the simplest to explain). If you'd like more information, please drop me an EMail, and I'll ship it to you.
- Linda
Close, but.... Equivalence deals with reducing the set of inputs for the validation range. Say you have a field that can handle a numeric range of 100 to 1000. To test it 'fully' you would use the entire input range (100 to 1000). That would take too much time and effort. In equivalence class partitioning you reduce the set of inputs to 3 (100, 500, and 1000), because the range is satisfactorily covered with only the 3 inputs instead of the whole range. When you begin to go outside of the range then you hit into boundary value type tests. Boundary value is exactly that, testing around the boundaries. In the previous example you would test the lower and upper ranges around the boundaries (100 & 1000). The lower boudaries are 99, 100, 101 because you are at the boundary region and test around it. Thus the upper boundary would be 999, 1000, 1001. You test just below the boundary, at the boundary, and just above it. Now to add a little more oomph to the test you could go to extremes (lower input could be 1 or -1, and upper could be 1100 or 5000) just to do a little more torture. Typically what happens is that the two are combined like so: -1, 99, 100, 101, 500, 999, 1000, 1001, 5000. Finally, when you are testing specifically for error conditions you are performing Error Handling tests. These can involve known error condition or error guessing tests. You purposely try to inject an error into the processing and see how the system handles it. Does it catch it and handle it correctly, does it not catch and dies gracefully, or does it not catch it and throws up all over itself and falls over dead. Phew... how's that for a text book answer. Jim P.S. Jean, not taking a jab at you. Just clarifying things. ------------------

|
handy_software_error Member
Posts: 8 Registered: Mar 2003
|
posted 03-30-2003 11:39 PM
Thanks for the enlightenment. What would be the best way to design such a test?------------------ Gary Hukkeri

|
deepend Member
Posts: 8 Registered: Feb 2002
|
posted 04-01-2003 09:44 AM
I find the easiest way is to draw a line with minus infinity at one end and plus infinity at the other, then mark on the boundaries.------------------ Strive not to be a success, but rather to be of value - Albert Einstein.

|
jimhazen Member

Posts: 82 Registered: Jan 2002
|
posted 04-01-2003 06:49 PM
quote: Originally posted by deepend: I find the easiest way is to draw a line with minus infinity at one end and plus infinity at the other, then mark on the boundaries.
I assume you do that on a logarhythmic scale, and plot it as 2nd order derivative that will asympatote correctly. Of course again, you could do it as the standard deviation of the mean while determining the linear regression. Naw, the best way is to super cool the CPU in order to reduce the capacitence of the wire so that the molecular excitement is reduced to its lowest level. Jim
------------------

|
Jeanj Moderator
   
Posts: 1476 Registered: Feb 2000
|
posted 04-01-2003 07:47 PM
quote: Originally posted by jimhazen: I assume you do that on a logarhythmic scale, and plot it as 2nd order derivative that will asympatote correctly.Of course again, you could do it as the standard deviation of the mean while determining the linear regression. Naw, the best way is to super cool the CPU in order to reduce the capacitence of the wire so that the molecular excitement is reduced to its lowest level. Jim
...what....? Uh yup, clarified... perfectly! 
------------------ -- Jean "Never doubt that a small group of thoughtful, committed people can change the world. Indeed, it is the only thing that ever has." Margaret Mead

|
jimhazen Member

Posts: 82 Registered: Jan 2002
|
posted 04-02-2003 07:47 AM
quote: Originally posted by Jeanj: ...what....? Uh yup, clarified... perfectly! 
Yeah, clear as mud. I figured one smart remark deserved another on 4/1. Jim
------------------

| |