|WikiProject Computer science||(Rated Start-class)|
- 1 Or should be And?
- 2 Number of cases
- 3 Boundary value analysis or Boundary Value Analysis
- 4 Andreas Kaufman, external link
- 5 Grammatical update needed
- 6 Test case scenario
- 7 Cost/Benefit Ratio
- 8 Merger proposal
- 9 recent addition was copy-vio
- 10 Why is boundary value analysis being limited to black box testing?
- 11 Misuse of Mathematical Terms & Baseless Assertions
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.
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.
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
- Of course it's not a proper noun. I've requested a page move 220.127.116.11 13:33, 22 April 2007 (UTC)
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
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.
How does boundary value analysis compare with other testing methods (i.e. fuzz, all-pairs, etc.) in terms of the cost/benefit ratio?
recent addition was copy-vio
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. 18.104.22.168 (talk) 12:45, 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.22.214.171.124 (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)