<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: More on Boundary Testing and Mp3 Encodings</title>
	<atom:link href="http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/</link>
	<description>Treatises on the practice of software testing</description>
	<lastBuildDate>Mon, 06 Sep 2010 15:27:05 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/comment-page-1/#comment-88</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:38:13 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/#comment-88</guid>
		<description>It is mathematically impossible for 2 raised to the 32nd power to be greater than 4294967295 (4294967296 - 1 because we start counting at zero).

Therefore, if the developer declares a variable with an unsigned 32-bit integer type (which is an integral data type) and the user enters a value &gt; 4294967295 then an overflow exception will be thrown (and hopefully the developer has error code to deal with that situation. 

Now, if you can enter a value of 5,000,000,000 and the application does not throw an exception then the developer has not declared the variable as a 32-bit unsigned integer, but (mostly likely) as a signed or unsigned 64-bit integer data type. 

If the developer chooses to artificially constrain that 64-bit integer to 5000000000 based on some requirements, then it is most likely that will remain fixed because I don&#039;t know of too many developers who arbitrarily change an established boundary value in the code very frequently. In fact, in well-formed code the value used to contrain the size of an integral data type is typically declared as constant value and not hard-coded into a conditional statement.

Curiosity is good, and curiosity often helps us discover new and interesting things. However, between 4294967295 (max value for unsigned 32 bit integer) and 9,223,372,036,854,775,807 (max value for a signed 64 bit integer) there are 9,223,372,032,559,808,512 integer values. Personally, I don&#039;t want to rely on hunches or best guess to see if the developer has artifically constrained variable declared as a 64 bit integer. I will find the specific value from the requirements, code, developer, etc. and take it for a boudnary test ride. Once I do that, if I want to poke around at random values to see if anything interesting happens, then that my friend is called equivalence class testing.

Karen Johnson gives some pretty good examples of specific boundary values in an earlier post. She states, she doesn&#039;t think about the numbers technically, but the fact is there is a technical basis why some of the numbers she refers to are extremely valuable to know and why they are more interesting than other numbers.

For example, she discusses the value 2038 in the context of date input. The link in her post does an excellent job of explaining the details of the problem. However, on Jan 19, 2038 at precisely 03:14:07 the second count will reach the max size of a signed 32-bit integer value and the second count will wrap around to -2147483648. Not only is this particular issue interesting in date fields (and in fact has mostly been corrected), but any place in the program which uses time as an operand to perform internal calculations should be suspect.

Friday, March 09, 2007 6:50 PM by I.M.Testy</description>
		<content:encoded><![CDATA[<p>It is mathematically impossible for 2 raised to the 32nd power to be greater than 4294967295 (4294967296 &#8211; 1 because we start counting at zero).</p>
<p>Therefore, if the developer declares a variable with an unsigned 32-bit integer type (which is an integral data type) and the user enters a value > 4294967295 then an overflow exception will be thrown (and hopefully the developer has error code to deal with that situation. </p>
<p>Now, if you can enter a value of 5,000,000,000 and the application does not throw an exception then the developer has not declared the variable as a 32-bit unsigned integer, but (mostly likely) as a signed or unsigned 64-bit integer data type. </p>
<p>If the developer chooses to artificially constrain that 64-bit integer to 5000000000 based on some requirements, then it is most likely that will remain fixed because I don&#8217;t know of too many developers who arbitrarily change an established boundary value in the code very frequently. In fact, in well-formed code the value used to contrain the size of an integral data type is typically declared as constant value and not hard-coded into a conditional statement.</p>
<p>Curiosity is good, and curiosity often helps us discover new and interesting things. However, between 4294967295 (max value for unsigned 32 bit integer) and 9,223,372,036,854,775,807 (max value for a signed 64 bit integer) there are 9,223,372,032,559,808,512 integer values. Personally, I don&#8217;t want to rely on hunches or best guess to see if the developer has artifically constrained variable declared as a 64 bit integer. I will find the specific value from the requirements, code, developer, etc. and take it for a boudnary test ride. Once I do that, if I want to poke around at random values to see if anything interesting happens, then that my friend is called equivalence class testing.</p>
<p>Karen Johnson gives some pretty good examples of specific boundary values in an earlier post. She states, she doesn&#8217;t think about the numbers technically, but the fact is there is a technical basis why some of the numbers she refers to are extremely valuable to know and why they are more interesting than other numbers.</p>
<p>For example, she discusses the value 2038 in the context of date input. The link in her post does an excellent job of explaining the details of the problem. However, on Jan 19, 2038 at precisely 03:14:07 the second count will reach the max size of a signed 32-bit integer value and the second count will wrap around to -2147483648. Not only is this particular issue interesting in date fields (and in fact has mostly been corrected), but any place in the program which uses time as an operand to perform internal calculations should be suspect.</p>
<p>Friday, March 09, 2007 6:50 PM by I.M.Testy</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/comment-page-1/#comment-87</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:37:03 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/#comment-87</guid>
		<description>Thanks BJ for the clarifications. It really helped. I will come back with more questions in due course.

[Bj] I assume you mean a 32 bit unsigned int cannot be greater than 4294967295.

[shrini] Yes that was my assumption. Is this boundary fixed or not. If I overflow this with some value which is greater and managed to go past it and hit another boundary say at 5000000000 - will this remain as fixed? Here tester&#039;s curiosity or hunch that &quot;things can be different&quot; is at play and might discover few interesting things. What do you say?

I have a blog post for you see and comment at

http://shrinik.blogspot.com/2007/03/boundary-value-exploration-bve.html

I am calling the whole approach of boundary testing as &quot;Boundary Value Exploration&quot;.

&gt;&gt;[Bj] Actually, step 1 is identifying parameters that accept physical or quantifiable values (basically something that can be counted).

[shrini] That is BVE -Outsider&#039;s view for me.

&gt;&gt;&gt; [Bj] Step 2 the physical range of allowable values can come from the spec, the dev, or the code.

[shrini] That is BVE - Insider&#039;s view.

&gt;&gt; [BJ]The minimum and maximum values are the specific boundary conditions or values themselves. So, one way to view analysis is the process of analyzing the value immediately above that value and immediately below the specific boundary value (per data type).

[Shrini] Again, BVE -Outsider&#039;s view

&gt;&gt; [BJ]Another way to view analysis is the fact that we must decompose and analyze the range and type of data for potential boundaries within the allowable range and identify unique or special values that are or could be more interesting than other values within the allowable minimum and maximum range.

[Shrini] BVE - Insider&#039;s view.

Thanks again

Shrini

Friday, March 09, 2007 10:59 AM by Shrini</description>
		<content:encoded><![CDATA[<p>Thanks BJ for the clarifications. It really helped. I will come back with more questions in due course.</p>
<p>[Bj] I assume you mean a 32 bit unsigned int cannot be greater than 4294967295.</p>
<p>[shrini] Yes that was my assumption. Is this boundary fixed or not. If I overflow this with some value which is greater and managed to go past it and hit another boundary say at 5000000000 &#8211; will this remain as fixed? Here tester&#8217;s curiosity or hunch that &#8220;things can be different&#8221; is at play and might discover few interesting things. What do you say?</p>
<p>I have a blog post for you see and comment at</p>
<p><a href="http://shrinik.blogspot.com/2007/03/boundary-value-exploration-bve.html" rel="nofollow">http://shrinik.blogspot.com/2007/03/boundary-value-exploration-bve.html</a></p>
<p>I am calling the whole approach of boundary testing as &#8220;Boundary Value Exploration&#8221;.</p>
<p>>>[Bj] Actually, step 1 is identifying parameters that accept physical or quantifiable values (basically something that can be counted).</p>
<p>[shrini] That is BVE -Outsider&#8217;s view for me.</p>
<p>>>> [Bj] Step 2 the physical range of allowable values can come from the spec, the dev, or the code.</p>
<p>[shrini] That is BVE &#8211; Insider&#8217;s view.</p>
<p>>> [BJ]The minimum and maximum values are the specific boundary conditions or values themselves. So, one way to view analysis is the process of analyzing the value immediately above that value and immediately below the specific boundary value (per data type).</p>
<p>[Shrini] Again, BVE -Outsider&#8217;s view</p>
<p>>> [BJ]Another way to view analysis is the fact that we must decompose and analyze the range and type of data for potential boundaries within the allowable range and identify unique or special values that are or could be more interesting than other values within the allowable minimum and maximum range.</p>
<p>[Shrini] BVE &#8211; Insider&#8217;s view.</p>
<p>Thanks again</p>
<p>Shrini</p>
<p>Friday, March 09, 2007 10:59 AM by Shrini</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/comment-page-1/#comment-86</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:36:41 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/#comment-86</guid>
		<description>Hi BJ,

My question was more about &quot;very well known&quot; boundaries and &quot;not so well known or unknown” boundaries.

I believe there are some boundaries that can be reasonably considered to  be &quot;clear&quot; and known - like &quot;32 bit unsigned int can be greater than 4294967295&quot; (Let me know if I am wrong)


[Bj] I assume you mean a 32 bit unsigned int cannot be greater than 4294967295.

So can you please elaborate on approach to identifying &quot;known&quot; and &quot;unknown boundaries&quot;.

If we agree that given a test object with several variables - there are some known boundaries and some unknown. Hence, Pradeep&#039;s assertion that &quot;he has not seen boundary&quot; seems correct (at least with respect to unknowns) 


[Bj] I take his assertion to imply that there are no defined boundary conditions in software. Even if the boundaries are unknown, testers should assume that any time there are physical values in play there are definate boundary values that must be considered (unless of course we can prove otherwise). But, it is probably foolish for me at this point to make any assumptions as to his implied meaning.

Coming back to your differentiation between &quot;Extreme ranges of data types and other variables (I am not sure what other variables you are referring to)&quot; vs. &quot;Maximum and minimum physical ranges of variables&quot; - Can you help me with an example? This can be an interesting twist to our discussion on boundary values.

[Bj] The use of the word variable is often overloaded. But, perhaps a simple example is the extreme range of an integral uint type in C# is 0 to 4,294,967,295. But, if the program only allowed input values greater than or equal to 1 and less than or equal to 10, then the minimum and maximum physical range of the user input (variable) is artifically constrained between 1 and 10 although the extreme range of the type is much larger. In the example below we declare a variable of type uint which has a extreme range between 0 and 4,294,967,295. But, the conditional statement limits (or artifically constrains) the userinput assigned to the variable named input to the minimum value of 1 and maximum value of 10.

//assuming user input is a valid integer value between 0 and 4,294,967,295
uint input = Convert.ToUnit32(userinput); 
if ((input &lt; 1) &#124;&#124; (input &gt; 10))
{
    //sorry..invalid input
}

Another thing for which I am always puzzled is – about the name &quot;Boundary Value Analysis&quot;.

Consider following traditional approach that I mostly heard from people

1. Identify the variable(s)

2. Get the boundaries of the variable from specification and by asking the developer.

3. Create a set of values (3 per each boundary - one bellow, one on the boundary and one above it) for each variable

4. Check the application behavior for these values

5. Declare that Boundary testing has been performed.

If the whole process were so simple - why it is called as &quot;analysis&quot; - what analysis goes here?

[Bj] Actually, step 1 is identifying parameters that accept physical or quantifiable values (basically something that can be counted). Step 2 the physical range of allowable values can come from the spec, the dev, or the code. 

The minimum and maximum values are the specific boundary conditions or values themselves. So, one way to view analysis is the process of analyzing the value immediately above that value and immediately below the specific boundary value (per data type). Another way to view analysis is the fact that we must decompose and analyze the range and type of data for potential boundaries within the allowable range and identify unique or special values that are or could be more interesting than other values within the allowable minimum and maximum range. But, this may mostly be an academic debate as the technique has different names depending on your reference.

What are your experiences?

[Bj] In my experience, most people have a limited understanding of boundary testing from a very superficial point of view which is often based only on the minimum and maximum input and output values (although most people also forget about output values). The most common problem is the failure to decompose the data to identify additional boundary values or potential boundary conditions that could exist within the allowable (and most easily identified) physical range. Of course, the ability and skill to decompose data takes a great deal of time, expertise, and in-depth knowledge of the data set, the programming language in use, the algorithm, the system, etc. (This is one example of the types of abilities and skills we are expecting from our highly skilled testers at Microsoft and our training is designed to teach and reinforce this and other skills necessary to become more effective and more efficient.)

The mere execution of testing boundaries is pretty much rudimentary as you describe above once the boundary conditions or values are identified. The real skill in the application of the technique of boundary value analysis (or boundary testing) is not in the execution of the test, but in the ability to identify specific and probable boundary conditons (especially those within the obvious minimum and maximum ranges).

Shrini

Thursday, March 08, 2007 12:05 AM by Shrini</description>
		<content:encoded><![CDATA[<p>Hi BJ,</p>
<p>My question was more about &#8220;very well known&#8221; boundaries and &#8220;not so well known or unknown” boundaries.</p>
<p>I believe there are some boundaries that can be reasonably considered to  be &#8220;clear&#8221; and known &#8211; like &#8220;32 bit unsigned int can be greater than 4294967295&#8243; (Let me know if I am wrong)</p>
<p>[Bj] I assume you mean a 32 bit unsigned int cannot be greater than 4294967295.</p>
<p>So can you please elaborate on approach to identifying &#8220;known&#8221; and &#8220;unknown boundaries&#8221;.</p>
<p>If we agree that given a test object with several variables &#8211; there are some known boundaries and some unknown. Hence, Pradeep&#8217;s assertion that &#8220;he has not seen boundary&#8221; seems correct (at least with respect to unknowns) </p>
<p>[Bj] I take his assertion to imply that there are no defined boundary conditions in software. Even if the boundaries are unknown, testers should assume that any time there are physical values in play there are definate boundary values that must be considered (unless of course we can prove otherwise). But, it is probably foolish for me at this point to make any assumptions as to his implied meaning.</p>
<p>Coming back to your differentiation between &#8220;Extreme ranges of data types and other variables (I am not sure what other variables you are referring to)&#8221; vs. &#8220;Maximum and minimum physical ranges of variables&#8221; &#8211; Can you help me with an example? This can be an interesting twist to our discussion on boundary values.</p>
<p>[Bj] The use of the word variable is often overloaded. But, perhaps a simple example is the extreme range of an integral uint type in C# is 0 to 4,294,967,295. But, if the program only allowed input values greater than or equal to 1 and less than or equal to 10, then the minimum and maximum physical range of the user input (variable) is artifically constrained between 1 and 10 although the extreme range of the type is much larger. In the example below we declare a variable of type uint which has a extreme range between 0 and 4,294,967,295. But, the conditional statement limits (or artifically constrains) the userinput assigned to the variable named input to the minimum value of 1 and maximum value of 10.</p>
<p>//assuming user input is a valid integer value between 0 and 4,294,967,295<br />
uint input = Convert.ToUnit32(userinput);<br />
if ((input < 1) || (input > 10))<br />
{<br />
    //sorry..invalid input<br />
}</p>
<p>Another thing for which I am always puzzled is – about the name &#8220;Boundary Value Analysis&#8221;.</p>
<p>Consider following traditional approach that I mostly heard from people</p>
<p>1. Identify the variable(s)</p>
<p>2. Get the boundaries of the variable from specification and by asking the developer.</p>
<p>3. Create a set of values (3 per each boundary &#8211; one bellow, one on the boundary and one above it) for each variable</p>
<p>4. Check the application behavior for these values</p>
<p>5. Declare that Boundary testing has been performed.</p>
<p>If the whole process were so simple &#8211; why it is called as &#8220;analysis&#8221; &#8211; what analysis goes here?</p>
<p>[Bj] Actually, step 1 is identifying parameters that accept physical or quantifiable values (basically something that can be counted). Step 2 the physical range of allowable values can come from the spec, the dev, or the code. </p>
<p>The minimum and maximum values are the specific boundary conditions or values themselves. So, one way to view analysis is the process of analyzing the value immediately above that value and immediately below the specific boundary value (per data type). Another way to view analysis is the fact that we must decompose and analyze the range and type of data for potential boundaries within the allowable range and identify unique or special values that are or could be more interesting than other values within the allowable minimum and maximum range. But, this may mostly be an academic debate as the technique has different names depending on your reference.</p>
<p>What are your experiences?</p>
<p>[Bj] In my experience, most people have a limited understanding of boundary testing from a very superficial point of view which is often based only on the minimum and maximum input and output values (although most people also forget about output values). The most common problem is the failure to decompose the data to identify additional boundary values or potential boundary conditions that could exist within the allowable (and most easily identified) physical range. Of course, the ability and skill to decompose data takes a great deal of time, expertise, and in-depth knowledge of the data set, the programming language in use, the algorithm, the system, etc. (This is one example of the types of abilities and skills we are expecting from our highly skilled testers at Microsoft and our training is designed to teach and reinforce this and other skills necessary to become more effective and more efficient.)</p>
<p>The mere execution of testing boundaries is pretty much rudimentary as you describe above once the boundary conditions or values are identified. The real skill in the application of the technique of boundary value analysis (or boundary testing) is not in the execution of the test, but in the ability to identify specific and probable boundary conditons (especially those within the obvious minimum and maximum ranges).</p>
<p>Shrini</p>
<p>Thursday, March 08, 2007 12:05 AM by Shrini</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/comment-page-1/#comment-85</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:36:16 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/#comment-85</guid>
		<description>Hi Shrini, 

Actually, I don&#039;t have any &#039;beliefs&#039; about boundary testing. Boundary testing is an analytical process based on rational thought. But, no, I have not changed my position on the application or value of using boundary value analysis as a technique to identify specific classes of defects. The more we know, the greater its effectiveness. As I said, I know that boundary testing is not a panacea for everything, but it is a very useful tool, and is very good at doing the job it was designed to do. 

(I really hate to repeat myself, but sometimes people only read what they want to read, or misinterpret the words I use.) So, I have said all along, there are often multiple boundaries between the physical ranges of primitive data types and I specifically , and they are sometimes very hard to find withuot looking at the code or in-depth domain and system level knowledge. I specifically said &quot;Also, if I artificially constrain an int in a predicate statement using a relational operator such as if (intValue &lt;= 0) then there is another boundary condition that I would certainly want to analyze&quot; and &quot;testers must be aware that boundary values don&#039;t always exist only at the extreme ranges of data types or other variables. Occasionally, there are boundary values/conditions within the minimum and maximum physical ranges of a variable.&quot; I am trying to pass on some useful information here, so if any of this is unclear please let me know.

But, perhaps I am missing the intent of your question, or the point you are tyring to make (and I sure hope that point is not suggesting the upper boundary for a 32 bit unsigned int can be greater than 4294967295). If so, can you please rephrase your question concisely?

Wednesday, March 07, 2007 11:09 AM by I.M.Testy</description>
		<content:encoded><![CDATA[<p>Hi Shrini, </p>
<p>Actually, I don&#8217;t have any &#8216;beliefs&#8217; about boundary testing. Boundary testing is an analytical process based on rational thought. But, no, I have not changed my position on the application or value of using boundary value analysis as a technique to identify specific classes of defects. The more we know, the greater its effectiveness. As I said, I know that boundary testing is not a panacea for everything, but it is a very useful tool, and is very good at doing the job it was designed to do. </p>
<p>(I really hate to repeat myself, but sometimes people only read what they want to read, or misinterpret the words I use.) So, I have said all along, there are often multiple boundaries between the physical ranges of primitive data types and I specifically , and they are sometimes very hard to find withuot looking at the code or in-depth domain and system level knowledge. I specifically said &#8220;Also, if I artificially constrain an int in a predicate statement using a relational operator such as if (intValue <= 0) then there is another boundary condition that I would certainly want to analyze&#8221; and &#8220;testers must be aware that boundary values don&#8217;t always exist only at the extreme ranges of data types or other variables. Occasionally, there are boundary values/conditions within the minimum and maximum physical ranges of a variable.&#8221; I am trying to pass on some useful information here, so if any of this is unclear please let me know.</p>
<p>But, perhaps I am missing the intent of your question, or the point you are tyring to make (and I sure hope that point is not suggesting the upper boundary for a 32 bit unsigned int can be greater than 4294967295). If so, can you please rephrase your question concisely?</p>
<p>Wednesday, March 07, 2007 11:09 AM by I.M.Testy</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/comment-page-1/#comment-84</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:35:59 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/#comment-84</guid>
		<description>Good Post BJ,

Happy to see that you seem to have changed few of your &quot;hard core&quot; beliefs about boundary Testing ....At the end we all learn.

Now -- What do you say about upper boundary for a 32 bit unsigned integer field - is this fixed? or can be tampered with? are there multiple boundaries?

I got this from your earlier post where you referenced few of the well known boundaries like 65535 etc.

Do you think there are certain boundaries that are &quot;universal&quot; and hence nearly &quot;fixed&quot; ?

Shrini

Wednesday, March 07, 2007 7:01 AM by Shrini</description>
		<content:encoded><![CDATA[<p>Good Post BJ,</p>
<p>Happy to see that you seem to have changed few of your &#8220;hard core&#8221; beliefs about boundary Testing &#8230;.At the end we all learn.</p>
<p>Now &#8212; What do you say about upper boundary for a 32 bit unsigned integer field &#8211; is this fixed? or can be tampered with? are there multiple boundaries?</p>
<p>I got this from your earlier post where you referenced few of the well known boundaries like 65535 etc.</p>
<p>Do you think there are certain boundaries that are &#8220;universal&#8221; and hence nearly &#8220;fixed&#8221; ?</p>
<p>Shrini</p>
<p>Wednesday, March 07, 2007 7:01 AM by Shrini</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/comment-page-1/#comment-83</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:35:45 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/12/more-on-boundary-testing-and-mp3-encodings/#comment-83</guid>
		<description>So called &quot;free format&quot; mp3 files ARE possible (the LAME encoder is the only one I know to support it), which means you can technically create mp3 files that are any integer bitrate (up to a maximum of 640kb/s which is essentially uncompressed 44kHz audio).

However, according to [1], there&#039;s really only ONE decoder which actually supports all the free format bitrates.

I do tend to agree with you, though. It&#039;s not like boundary testing is the ONLY testing that you do, so saying &quot;boundary testing would not find bugs in the middle of the range&quot; displays a misunderstanding of what boundary testing is FOR, imo.

[1] http://mp3decoders.mp3-tech.org/freeformat.html

Tuesday, March 06, 2007 10:34 PM by Dean Harding</description>
		<content:encoded><![CDATA[<p>So called &#8220;free format&#8221; mp3 files ARE possible (the LAME encoder is the only one I know to support it), which means you can technically create mp3 files that are any integer bitrate (up to a maximum of 640kb/s which is essentially uncompressed 44kHz audio).</p>
<p>However, according to [1], there&#8217;s really only ONE decoder which actually supports all the free format bitrates.</p>
<p>I do tend to agree with you, though. It&#8217;s not like boundary testing is the ONLY testing that you do, so saying &#8220;boundary testing would not find bugs in the middle of the range&#8221; displays a misunderstanding of what boundary testing is FOR, imo.</p>
<p>[1] <a href="http://mp3decoders.mp3-tech.org/freeformat.html" rel="nofollow">http://mp3decoders.mp3-tech.org/freeformat.html</a></p>
<p>Tuesday, March 06, 2007 10:34 PM by Dean Harding</p>
]]></content:encoded>
	</item>
</channel>
</rss>
