tag:blogger.com,1999:blog-7722108.post3781580889945495050..comments2024-03-28T12:11:07.539+05:30Comments on Thinking Tester: Boundary Value Exploration - BVEShrini Kulkarnihttp://www.blogger.com/profile/10782753752478547381noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-7722108.post-41173096447107478212007-06-13T17:09:00.000+05:302007-06-13T17:09:00.000+05:30Hi,Can anyone explain me that how boundary testing...Hi,<BR/><BR/>Can anyone explain me that how boundary testing is different from equivalence partitioning?<BR/><BR/>Nidhi VermaAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7722108.post-47569891355887833462007-03-24T15:39:00.000+05:302007-03-24T15:39:00.000+05:30Malik,Traditional BVA deals with one variable at t...Malik,<BR/><BR/>Traditional BVA deals with one variable at time and is extende other variables in problem domain. Key here is boundary investigation of one variable in isolation.<BR/><BR/>If you want to consider the effects of multiple variables and their boundaries - Combination testing, pair combinations tests are to be used. Tools/techniques likes "allpairs", "orthogonal arrays" are to be used.<BR/><BR/>Here are few links that could be of help<BR/><BR/>http://www.pairwise.org/<BR/>http://blogs.msdn.com/micahel/archive/2004/04/28/122702.aspx<BR/><BR/>http://www.developsense.com/testing/PairwiseTesting.html<BR/><BR/>http://www.burtleburtle.net/bob/math/jenny.html<BR/><BR/>http://en.wikipedia.org/wiki/All-pairs_testing<BR/><BR/>As far as using code based boundary testing --- I am of the opinion that a tester can use all available sources to to BVE, an active collaboration with developer can add great value to the process of BVE.<BR/><BR/>Modelling test space as input and output variables and using EQ classes can be of great help in BVE<BR/><BR/>I would not be comfortable in only developer running BVE with the knowledge of Code.<BR/><BR/>ShriniShrini Kulkarnihttps://www.blogger.com/profile/10782753752478547381noreply@blogger.comtag:blogger.com,1999:blog-7722108.post-6756842731996435162007-03-24T13:10:00.000+05:302007-03-24T13:10:00.000+05:30Hi Shrini, My experience is that most of the times...Hi Shrini, <BR/>My experience is that most of the times the bugs found are not simple boundary cases but many times its the bugs in combination testing. If developer is using integer variables like a and b, testers most of time will do the boundary analysis for this variables, but somewhere in the code developer may be using stuff like c=a+b; where c is another integer variable, but here there is case of integer overflow which can be missed out. But this also blows out the number of test cases with increasing variables. So Should'nt boundary value analysis be a job of code based tester ?Mallikhttps://www.blogger.com/profile/03900502542223960754noreply@blogger.comtag:blogger.com,1999:blog-7722108.post-60932316435829018902007-03-14T22:59:00.000+05:302007-03-14T22:59:00.000+05:30Hi Rajesh,Thanks for your points and emphasis on "...Hi Rajesh,<BR/><BR/>Thanks for your points and emphasis on "output value boundaries". I somehow not inclined to "ask" the developer for the boundaries.<BR/><BR/>I would like to explore them - while keeping myself open on any information that will help me in my exploration. It is like finding your way in a jungle using whatever means that is available. I am sure tools like maps will become less useful ....Shrini Kulkarnihttps://www.blogger.com/profile/10782753752478547381noreply@blogger.comtag:blogger.com,1999:blog-7722108.post-22452323431119275922007-03-14T18:33:00.000+05:302007-03-14T18:33:00.000+05:30Hi Shrini, This is a good summarization of boundar...Hi Shrini,<BR/> This is a good summarization of boundary value analysis. Boundaries can also be looked in a different way; Boundaries with proximity to the inputs and boundaries with proximity to the outputs. Consider a simple to that will help explain the concept. An application that takes two dates as input and outputs the difference between the two dates in number of days. The input boundaries are the obvious; dates with start of the month, end of month, start of year, end of year, months with 30 days, months with 28 days, months with 31 days, year 2000, today's date etc. The output boundaries are the again the values 30, 31, 28, 365. <BR/> From my experience, most of the testers focus on the input boundaries and not enough importance given to output boundaries. The output boundaries are unfortunately not defined clearly in most cases from the requirements or from the design documents. In order to find the output boundaries the best way will be to speak with your developers. <BR/>Regards<BR/>RajeshRajesh Kazhankodathhttps://www.blogger.com/profile/00776206192461021082noreply@blogger.comtag:blogger.com,1999:blog-7722108.post-51995436440031950802007-03-11T02:44:00.000+05:302007-03-11T02:44:00.000+05:30Hi Shrini,I think it's important to create new ter...Hi Shrini,<BR/><BR/>I think it's important to create new terminology to reflect the emergence of new awareness of what we're doing. <BR/><BR/>I already have a way of describing what you call BVE. I call it exploratory boundary testing. <BR/><BR/>Exploration is quite important in boundary testing, because programmers have no solid idea what their boundaries actually are. No one can tell you that. They are just guessing.<BR/><BR/>Boundary testing depends on your model of the product, and that is not easy to get right. The reason testers exist is because programmers, in fact, often don't get it right.<BR/><BR/>Boundary testing is an example of the embarrassing lack of content in the traditional ways of discussing test techniques. As it is described by most authors, it strikes me as intellectually empty; a content-free idea. Another such content-free idea is equivalence class partitioning. So, I appreciated you trying to supply a little more substance to it.<BR/><BR/>-- JamesJames Marcus Bachhttps://www.blogger.com/profile/09985950531079499844noreply@blogger.comtag:blogger.com,1999:blog-7722108.post-90177278281769967262007-03-09T23:02:00.000+05:302007-03-09T23:02:00.000+05:30Hi Shrini,This is an excellent summation. I especi...Hi Shrini,<BR/><BR/>This is an excellent summation. I especially like the section you labeled 'What is a boundary' and specifically the additional notes.<BR/><BR/>Boundary testing (as well as equivalence class partitioning, combinatorics, state transition testing, etc) are 'functional" testing techniques. I don't refer to them as "black box" test techniques because that is somewhat misleading. <BR/><BR/>In fact, boundary testing (as well as EQ partitioning, etc) can also be applied while designing tests from the white box test approach (using the traditional connotation of white box testing (e.g. implicit knowledge of the code (program language, intermediate, or assembly).<BR/><BR/>(I know there is a huge debate regarding black box vs. white box. IMHO, the debate is mostly philosophical and lacks academic or practical merit at this point for practioners of software testing.)<BR/><BR/>Anyway, this is one particular class of defects that can be prevented or detected earlier at the unit testing level in 99% of the cases. Personally, I think finding boundary class defects at the integration and system level of testing is an indication to me that developers lack the basic skills to design adequate unit tests. And, in an effort to push quality upstream and detect defects earlier I would probably spend some time with the developers and review their unit tests. But, that is a tangent.<BR/><BR/>Personally, I am not a big fan of giving things new names. The jargon we use in our profession is convoluted enough. I am not sure we need a new acronym to describe this technique. The ability of a person to "analyze' something is based on their skill, knowledge, and experience which is similar to exploratory testing. <BR/><BR/>However, that being said, there are many ways to approach the topic to help people better understand and apply the technique, and that is the ultimate goal you and I share.<BR/><BR/>- Bj -Anonymousnoreply@blogger.com