Talk:Boundary-value analysis

Or should be And?
IMHO X_1 \le X_2 or X_2 \le X_1 is always true for total orders. What am I missing? Erik Zuurbier, 29 July 2015

Number of cases
This article suggests the common example of using three test cases at a boundary.

I have some problems with this, as there is disagreement as to how many cases are actually useful. Beizer in Black-Box Testing gives a very strong (to me) argument that only two cases are needed, including going through the eight failure cases for a one dimensional boundary, and comparing whether three cases is better than two.

I am loathe to just change this article so as to use only two test cases per boundary, as I understand that many people don't like this reasoning. I was considering adding a new section, titled something along the lines of 'Alternate Approach'. To me that smacks of turning the page itself into a discussion (where I am assuming that this page is useful to someone who wants to know what BVA is, and see an example we don't necessarily need to drag them into a discussion). However I am more loathe to leave the article as is (I think Beizer has a very good point here, and it just seems wrong to ignore it).

Any comments? I'll check back and see what you all think. Jtowler 18:40, 26 November 2006 (UTC)

2 v 3 value boundary value analysis. Boris beizer is correct. 3 value BVA does not find any additional defects over 2 value BVA. Also it is confusing since there is never a value on the boundary as it suggests. The value is either in one partition or the other it is never on the boundary. If we say the pass mark for an exam is 60% then 2 value would have you testing 59%, 60% and 61%. If though we consider that the failure boundary is 59% then 3 value would have us testing 58% 59% and 60%. So it would depend on whether you are testing the "valid" partition for pass or the "valid" partition for fail. If it helps you with your arguments. The International Software Qualification Board (ISTQB)the body that certifies testers internationally via exams and syllabuses now has come down on the side of using 2 value BVA.

Peter Edmond Qbit-Sogeti - Software Testing Trainer. —Preceding unsigned comment added by 80.168.82.98 (talk) 18:00, 25 November 2009 (UTC)

I agree that only two cases are needed. I don't know where this misunderstanding that three are needed comes from but it is often repeated. The problem is in this phrase from the article "The boundaries are the values [...]". In the example, the maximum value in the partition is 12, however 12 is not "the boundary". The boundary is actually a line between 12 and 13. Both sides of the boundary must be tested (+/- 1) therefore both 12 and 13 must be tested. Both 12 and 13 can be called "boundary values" because they lie on either side of the boundary, but don't confuse "the boundary" with "boundary values", every boundary has two boundary values and it is impossible to be "on" the boundary.

''The boundaries are the values on and around the beginning and end of a partition. If possible test cases should be created to generate inputs or outputs that will fall on and to either side of each boundary. This would result in three cases per boundary.'' should be changed to ''The boundaries are the seperations at the beginning and end of a partition. Boundary values are those that start and end a partition. If possible test cases should be created to generate inputs or outputs that will fall to either side of each boundary, to each boundary value. This would result in two cases per boundary.''

If there are no objections, I will change the article. --144.36.24.78 (talk) 21:58, 9 May 2011 (UTC)

I have made the change to two values, and some other minor cleanup. If there are any issues I would add the following text in an "Common Confusion" section.

Some people state that the boundary must be tested along with values on either side of the boundary, resulting in three test cases. This is a confusion of the boundary with the boundary value, because in English people say boundary when we mean boundary value. The maximum month is 12, however 12 is not the boundary. The boundary is between 12 and 13. Both side of the bounday must be tested, so 12 and 13 must be tested. But the boundary itself cannot be. Only two cases are needed. Michaeldunn123 (talk) 21:00, 16 May 2011 (UTC)


 * This is where white box and grey box comes into play. Your example is for if month (<=12) However, you don't know if the code doesn't have a special case for 12. I generally agree with your point. --Walter Görlitz (talk) 21:18, 16 May 2011 (UTC)

Boundary value analysis or Boundary Value Analysis
I'm not sure the recent rename was correct. Is BVA a proper noun? If not WP:TITLE says it should be changed back. --Salix alba (talk) 12:25, 28 January 2007 (UTC)
 * Of course it's not a proper noun. I've requested a page move 86.152.203.212 13:33, 22 April 2007 (UTC)

Andreas Kaufman, external link
Andreas - you seem to keep adding a link to an external site that contains no information about BVA. I keep removing it. Obviously this is silly. Could you add some info here why the external site you link to is relevant to an article on BVA (rather than to software testing in general). Maybe I am missing something? Jtowler 11:30, 4 December 2007 (UTC)

Grammatical update needed
The page currently uses "you" a lot, as if it is talking to the reader. This needs to be recast to avoid this. --ΨΦorg (talk) 17:10, 9 June 2008 (UTC)

Test case scenario
A test need to be alaways tested against a BVA so as to determine the effectiveness of the coverage. Might be imp area s gets mis...but alwasys prefr a strong planning in the context of BVa. It requies a wide arae knowledge so as to cover the mximum coverage.

regards,--131.107.0.73 (talk) 11:24, 3 November 2008 (UTC)--131.107.0.73 (talk) 11:24, 3 November 2008 (UTC) Vikas

Cost/Benefit Ratio
How does boundary value analysis compare with other testing methods (i.e. fuzz, all-pairs, etc.) in terms of the cost/benefit ratio?

--Stevepalmateer (talk) 18:56, 23 April 2009 (UTC)

Merger proposal
Merge: I have never heard of Boundary-value analysis ever discussed without having to explain equivalence partitioning. This article is no exception. BVA cannot stand on is own, and EP is just a theory without BVA. --Walter Görlitz (talk) 05:12, 8 May 2009 (UTC)

Don't Merge: Although I principally agree, BVA is not necessarily connected to EP, but EP forms the basis for concrete Testcases, regardless of whether you enhance it with boundary values or not. Furthermore, boundary values are only useful if you have bounds (which is not the case in - say - a dropdown menu with text items that form various equivalence classes... Never connect these two too tight. They are different techniques and this should be reflected here. —Preceding unsigned comment added by Tprosser (talk • contribs) 09:56, 13 August 2009 (UTC)


 * While BVA may be able to stand alone without equivalence classes, equivalences classes make absolutely no sense without boundaries. --Walter Görlitz (talk) 16:23, 13 August 2009 (UTC)

Don't Merge; Unfortunately Water Gorlitz has his argument completely the wrong way round. EQP can exist without BVA but BVA can not exist without EQP. The reason why this very common mistake occurs is because everyone who attempts to explain EQP uses numeric fields or numeric properties (such as length). BVA ONLY works on Numeric values that form a continuous set. EQP however, can be used on ANY set of values. and a should be explained by such an example. For example, An application may recognise people as being Minors or Adults. Within Adults it treats males and females differently (perhaps non-PC these days but still likely in some cirumstances). BVA does not help you with this problem of testing, but EQP does by showing you that you must test with one child, one male and one female. This is a simple example that illustrates the point. Even if you have numeric values they might not be continuous until your use EQP to illiminate the values that stop it from being continuous. For example, if an ATM only has £20 notes, then BVA does not show you the test cases until you use a EQP derived test to remove those values that are not divisible by £20. So your tests should be £30 (not divisible by 20), £20 and the maximum for the ATM. —Preceding unsigned comment added by 80.168.82.98 (talk) 17:50, 25 November 2009 (UTC) Peter Edmond QBit Sogeti - Software Testing Trainer - —Preceding unsigned comment added by 80.168.82.98 (talk) 18:03, 25 November 2009 (UTC)

I as a student of software engineering and testing wish to put forth my opinion on how BVA and EP are dissimilar in respect to the other, even when they both are types of black box testing technique.BVA takes n inputs to yield 4n+1 test cases under normal circumstances, 6n+1 under robust circumstances, 5^n under worst case scenario.EP on the other hand reduces redundancy even while exhausting all kinds of possible test cases under given circumstances.
 * Your recent addition was not an improvement to the article and has been reverted. BVA is used in white-box testing and your statement was that it is an black-box-only activity. Secondly, you removed the definition entirely.
 * The fact that BVA and EP are dissimilar is not the point, you cannot explain EP without using BVA is the point. --Walter Görlitz (talk) 18:48, 4 January 2011 (UTC)

recent addition was copy-vio
http://it.toolbox.com/blogs/enterprise-solutions/testing-via-boundary-value-analysis-17126

Why is boundary value analysis being limited to black box testing?
The first sentence contains "Boundary value analysis is a software testing(Black Box) technique". Is this limitation there for a reason? Even if most times the requirements are used to create partitions, I think it's just as valid to use implementation details to create different (more fine-grained) partitions in order to test other code paths as well. I would remove the "(Black Box)" part from the first sentence. 194.105.120.70 (talk) 12:45, 10 January 2013 (UTC)
 * True. feel free to make the change. --Walter Görlitz (talk) 15:14, 10 January 2013 (UTC)

Misuse of Mathematical Terms & Baseless Assertions
You've only to follow the links provided to the referenced mathematical articles to discover that the terms are being misused in this article, that the arguments are invalid and that very little is actually said in total:

"Those inputs which belong to the same equivalence class as defined by the equivalence partitioning theory would constitute the basis (topology)." The 'inputs' (test vectors) have been defined as the points of the topological space and don't themselves constitute the topology so this really should read: "The equivalence classes defined by (the?) equivalence partitioning theory constitutes a basis for the topology."

"Given that the basis sets are neighbors as defined in neighbourhood (mathematics)," A subset of a topological space contains points each of which has it's own set of neighbourhoods. A subset may also be said to have a set of neighbourhoods. It is ambiguous at best to refer to two sets as being 'neighbors': this is not standard mathematical terminology and is most likely the result of confusing this specific mathematical concept with the everyday usage of the term.

"there would exist a boundary between them." A (single) subset of the topological space can have a boundary. 'between them' (arbitrary sets) has not been defined here and Topology makes no such requirement that any such thing should exist. Only for subset and it's complement may a boundary be said to exist 'between' the two sets.

"The test vectors on either side of the boundary are called boundary values." Boundary values as defined in Topology, constitute the boundary so can't be said to exist 'either side' unless that means 'exists in the closure of both sides'. In fact, this is most likely where the author is talking as if an order has already been defined on the set without himself realizing it.

"In practice this would require that the test vectors can be ordered, and that the individual parameters follows some kind of order ( either partial order or total order )." Not simply a matter of practice. The situation has been ill-defined.

"Let C_1,C_2 be two equivalent classes." *equivalence classes

"If X_1 \le X_2 or X_2 \le X_1" If this is the case then by the antisymmetric property of the order relation the two elements are equal and so it is strange when they are referred to as separate values in the following part.

"then the classes C_1, C_2 are in neighbourhood (mathematics) and the values X_1 , X_2 are boundary values." Again, two sets can't be said to be 'in neighbourhood' unless you mean to clarify what exactly is meant by this. If you mean to say that they are 'close' then this is redundant as the topology is defined with them as part of it's basis.

"In plainer English, values on the minimum and maximum edges of an equivalence partition are tested. The values could be input or output ranges of a software component, can also be the internal implementation. Since these boundaries are common locations for errors that result in software faults they are frequently exercised in test cases." This last part appears to be the extent of the actual information contained in all of this section and what it amounts to is an assertion that the extrema are better test cases with no actual justification for the claim.

This article could be improved upon by stripping it of all references to mathematical concepts which it doesn't actually make use of in proofs of it's claims and then adding _justification for it's claims_. I personally don't see any necessity in extreme values 'producing more errors' and would like to see a mathematical proof of something to that effect under reasonable assumptions. As it stands it just seems to be a rule of thumb based on the kinds of errors humans tend to make and not rigorous at all, which makes references to Topology rather pointless.94.9.72.218 (talk) 23:51, 2 May 2014 (UTC)
 * BVA is a mathematical concept.
 * Wikipedia is an encyclopedia.
 * Perhaps you should suggest the removal of Latin names from all articles on flora and fauna, the removal of precise medical terminology from anatomy articles and the removal of code from computer language and programming articles because your suggestion that we remove math from a math-based concept is equally misguided here. Walter Görlitz (talk) 01:03, 3 May 2014 (UTC)
 * "This article could be improved upon by stripping it of all references to mathematical concepts which it doesn't actually make use of in proofs of it's claims and then adding _justification for it's claims_." does not mean "This article shouldn't have math in it" in the same way that "You aren't a human who can read a full sentence" does not mean "You aren't a human". Nbrader (talk) 00:20, 11 May 2014 (UTC)
 * "This article shouldn't have math in it". In my opinion, it should have only well-referenced math in it: see my own answer to the OP below. The author of the Wikipedia article is trying to demonstrate a connection between the general topology and the BVA. If there exists well-accepted published literature on this subject, then a reference needs to be added to the Wikipedia article. If the analysis presented by the author of the Wikipedia article has never gone through the peer review, then such material is best omitted until it passes the peer review process or (at least) appears on a reputable preprint website (like arxiv). User9716869 (talk) 00:05, 31 October 2022 (UTC)
 * As it is written, I also find the following passage dubious/suspicious:
 * "The idea comes from the boundary. Given that we have a set of test vectors to test the system, a topology can be defined on that set. Those inputs which belong to the same equivalence class as defined by the equivalence partitioning theory would constitute the basis. Given that the basis sets are neighbors, there would exist a boundary between them. The test vectors on either side of the boundary are called boundary values."
 * I believe that what needs to be done here first and foremost is the provision of an academic reference that, indeed, exposes a connection between the BVA and general topology (I am yet to see one, but I have not been thorough in my search and I do not have access to Shibboleth/Athens). Secondly, I would like to see a detailed example that defines a topology (somehow relevant for the BVA) on "a set of test vectors to test the system" for a specific system/program. Otherwise, if neither is possible within a reasonable timeframe, then all references to concepts from the general topology have to be removed from the article. User9716869 (talk) 23:41, 30 October 2022 (UTC)