Active Topics Memberlist Calendar Search Help | |
Register Login |
One Stop Testing Forum : Types Of Software Testing @ OneStopTesting : Manual Testing @ OneStopTesting |
Topic: Boundary Value Analysis |
|
Author | Message |
Mithi25
Senior Member Joined: 23Jun2009 Online Status: Offline Posts: 288 |
Topic: Boundary Value Analysis Posted: 01Aug2009 at 5:43am |
OverviewBoundary value analysis is a software testing design technique to determine test cases covering off-by-one errors. The boundaries of software component input ranges are areas of frequent problems. Contents:IntroductionTesting experience has shown that especially the
boundaries of input ranges to a software component are liable to
defects. A programmer implement e.g. the range 1 to 12 at an input,
which e.g. stands for the month January to December in a date, has in
his code a line checking for this range. This may look like: if (month >= 0 && month < 13) DefinitionBoundary value analysis is a methodology for
designing test cases that concentrates software testing effort on cases
near the limits of valid ranges Boundary value analysis is a method
which refines equivalence partitioning. Boundary value analysis
generates test cases that highlight errors better than equivalence
partitioning. The trick is to concentrate software testing efforts at the extreme ends of the equivalence classes. At those points when input values change from valid to invalid errors are most likely to occur. As well, boundary value analysis broadens the portions of the business requirement document used to generate tests. Unlike equivalence partitioning, it takes into account the output specifications when deriving test cases. PurposeThe purpose of
boundary value analysis is to concentrate the testing effort on error
prone areas by accurately pinpointing the boundaries of conditions, Applying Boundary Value AnalysisTo set up boundary value analysis test cases you first have to determine which boundaries you have at the interface of a software component. This has to be done by applying the equivalence partitioning technique. Boundary value analysis and equivalence partitioning are inevitably linked together. For the example of the month in a date you would have the following partitions:
... -2 -1 0 1 .............. 12 13 14 15 .....
A further set of boundaries has to be considered when you set up your test cases. A solid testing strategy also has to consider the natural boundaries of the data types used in the program. If you are working with signed values this is especially the range around zero (-1, 0, +1). Similar to the typical range check faults, programmers tend to have weaknesses in their programs in this range. e.g. this could be a division by zero problem where a zero value may occur although the programmer always thought the range started at 1. It could be a sign problem when a value turns out to be negative in some rare cases, although the programmer always expected it to be positive. Even if this critical natural boundary is clearly within an equivalence partition it should lead to additional test cases checking the range around zero. A further natural boundary is the natural lower and upper limit of the data type itself. E.g. an unsigned 8-bit value has the range of 0 to 255. A good test strategy would also check how the program reacts at an input of -1 and 0 as well as 255 and 256. The tendency is to relate boundary value analysis more to the so called black box testing ,which is strictly checking a software component at its interfaces, without consideration of internal structures of the software. But looking closer at the subject, there are cases where it applies also to white box testing. After determining the necessary test cases with equivalence partitioning and subsequent boundary value analysis, it is necessary to define the combinations of the test cases when there are multiple inputs to a software component. Performing Boundary Value AnalysisThere are two steps: STEP 1: IDENTIFY EQUIVALENCE CLASSESFollow the same rules you used in equivalence partitioning. However,
consider the output specifications as well. For example, if the output
specifications for the inventory system stated
that a report on inventory should indicate a total quantity for all
products no greater than 999,999, then you d add the following classes
to the ones you found previously: STEP 2: DESIGN TEST CASESIn this step, you derive test cases from the equivalence classes. The process is similar to that of equivalence partitioning but the rules for designing test cases differ. With equivalence partitioning, you may select any test case within a range and any on either side of it with boundary analysis, you focus your attention on cases close to the edges of the range. Edited by Mithi25 - 01Aug2009 at 5:46am |
|
Post Resume: Click here to Upload your Resume & Apply for Jobs |
|
IP Logged | |
Forum Jump |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |
© Vyom Technosoft Pvt. Ltd. All Rights Reserved.