<?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: Equivalence Class Partitioning &#8211; Part 2: Character/String Data Decomposition</title>
	<atom:link href="http://www.testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/</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/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/comment-page-1/#comment-154</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Sat, 14 Nov 2009 04:48:34 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/#comment-154</guid>
		<description>Security Considerations for Character Sets in File Names

Windows code page and OEM character sets used on Japanese-language systems contain the Yen symbol (¥) instead of a backslash (\). Thus, the Yen character is a prohibited character for those file systems. When mapping Unicode to a Japanese-language code page, conversion functions map both backslash (U+005C) and the normal Unicode Yen symbol (U+00A5) to this same character. For security reasons, your applications should not typically allow the character U+00A5 in a Unicode string that might be converted for use as a FAT file name.

The above is a quotation.  My observation is that security isn&#039;t the only reason to hesitate on whether to allow the character U+00A5.  As mentioned before, even in cases where security isn&#039;t (or shouldn&#039;t) be a problem, Windows sometimes has problems.

Here is where that quotation came from:

http://msdn2.microsoft.com/en-us/library/ms776406(VS.85).aspx

Wednesday, April 16, 2008 4:01 AM by ndiamond</description>
		<content:encoded><![CDATA[<p>Security Considerations for Character Sets in File Names</p>
<p>Windows code page and OEM character sets used on Japanese-language systems contain the Yen symbol (¥) instead of a backslash (\). Thus, the Yen character is a prohibited character for those file systems. When mapping Unicode to a Japanese-language code page, conversion functions map both backslash (U+005C) and the normal Unicode Yen symbol (U+00A5) to this same character. For security reasons, your applications should not typically allow the character U+00A5 in a Unicode string that might be converted for use as a FAT file name.</p>
<p>The above is a quotation.  My observation is that security isn&#8217;t the only reason to hesitate on whether to allow the character U+00A5.  As mentioned before, even in cases where security isn&#8217;t (or shouldn&#8217;t) be a problem, Windows sometimes has problems.</p>
<p>Here is where that quotation came from:</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/ms776406(VS.85).aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms776406(VS.85).aspx</a></p>
<p>Wednesday, April 16, 2008 4:01 AM by ndiamond</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/comment-page-1/#comment-153</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Sat, 14 Nov 2009 04:48:22 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/#comment-153</guid>
		<description>In my previous message I typoed 0x5C as 0xC5.  I wonder how I managed to do that twice.  Anyway all three of those should be 0x5C, which Windows interprets as a path separator when it occurs as a single-byte code point in any ANSI code page.

The strange things that happen with U+00A5 still happen with U+00A5; I typed that one correctly.

Monday, March 03, 2008 10:31 PM by ndiamond</description>
		<content:encoded><![CDATA[<p>In my previous message I typoed 0&#215;5C as 0xC5.  I wonder how I managed to do that twice.  Anyway all three of those should be 0&#215;5C, which Windows interprets as a path separator when it occurs as a single-byte code point in any ANSI code page.</p>
<p>The strange things that happen with U+00A5 still happen with U+00A5; I typed that one correctly.</p>
<p>Monday, March 03, 2008 10:31 PM by ndiamond</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/comment-page-1/#comment-152</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Sat, 14 Nov 2009 04:48:12 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/#comment-152</guid>
		<description>&quot;com4 This file name is a reserved device name. Please choose anothher name.&quot;

&quot;com5 The above file name is invalid.&quot;

You are right, the common dialog box does distinguish those.  I wonder why.  I had tested com4: and com5: with colons, and the common dialog box gives identical error messages in those cases.  Also in my experience with other areas of XP, error messages for com4 and com5 are identical (except of course when com4 or com5 exists).

&quot;I suspect that you are confusing the U+00A5 Unicode character code point with&quot; [with the yen sign ANSI 0xC5].  Well, the yen sign ANSI 0xC5 (which exists in ANSI code page 932 only) is indeed U+00A5, no confusion on my part.  Windows has to convert this to U+005C instead of U+00A5 because it&#039;s more important to interpret this as a path separator instead of the actual character, no confusion on anyone&#039;s part.  But last year, investigating a bug report from a beta tester, I had to do some experimenting with filenames in XP.  I created some pathnames that included U+00A5.  Windows Explorer indeed displayed it with the same glyph as the ordinary yen glyph for path separator.  Meanwhile some parts of Windows XP were mighty confused by those pathnames.  Some users don&#039;t even get their Start menus displayed properly.

&quot;I suspect that you incorrectly misinterpreted I[19]. By entering C:\ you are actually entering a path component to the base file name component which is also a common mistake.&quot;

I see your point, but I&#039;m still confused.  By entering a \ at all I am entering a path component.  Even if \ is in the first position it is a path component, specifying the current drive&#039;s root directory instead of the default current directory.  I still don&#039;t see how it can be correct for I[19] to distinguish a \ in the first position from a \ in any other position.  I do understand (being reminded by your comment) that the basename begins after the last \.

&quot;the semicolon is not an invalid character in the file name basename parameter&quot;

You and I agree, but XP&#039;s Windows Explorer sometimes disagrees.  I couldn&#039;t get the same error from a common dialog box though.

Sunday, March 02, 2008 8:56 PM by ndiamond</description>
		<content:encoded><![CDATA[<p>&#8220;com4 This file name is a reserved device name. Please choose anothher name.&#8221;</p>
<p>&#8220;com5 The above file name is invalid.&#8221;</p>
<p>You are right, the common dialog box does distinguish those.  I wonder why.  I had tested com4: and com5: with colons, and the common dialog box gives identical error messages in those cases.  Also in my experience with other areas of XP, error messages for com4 and com5 are identical (except of course when com4 or com5 exists).</p>
<p>&#8220;I suspect that you are confusing the U+00A5 Unicode character code point with&#8221; [with the yen sign ANSI 0xC5].  Well, the yen sign ANSI 0xC5 (which exists in ANSI code page 932 only) is indeed U+00A5, no confusion on my part.  Windows has to convert this to U+005C instead of U+00A5 because it&#8217;s more important to interpret this as a path separator instead of the actual character, no confusion on anyone&#8217;s part.  But last year, investigating a bug report from a beta tester, I had to do some experimenting with filenames in XP.  I created some pathnames that included U+00A5.  Windows Explorer indeed displayed it with the same glyph as the ordinary yen glyph for path separator.  Meanwhile some parts of Windows XP were mighty confused by those pathnames.  Some users don&#8217;t even get their Start menus displayed properly.</p>
<p>&#8220;I suspect that you incorrectly misinterpreted I[19]. By entering C:\ you are actually entering a path component to the base file name component which is also a common mistake.&#8221;</p>
<p>I see your point, but I&#8217;m still confused.  By entering a \ at all I am entering a path component.  Even if \ is in the first position it is a path component, specifying the current drive&#8217;s root directory instead of the default current directory.  I still don&#8217;t see how it can be correct for I[19] to distinguish a \ in the first position from a \ in any other position.  I do understand (being reminded by your comment) that the basename begins after the last \.</p>
<p>&#8220;the semicolon is not an invalid character in the file name basename parameter&#8221;</p>
<p>You and I agree, but XP&#8217;s Windows Explorer sometimes disagrees.  I couldn&#8217;t get the same error from a common dialog box though.</p>
<p>Sunday, March 02, 2008 8:56 PM by ndiamond</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/comment-page-1/#comment-151</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Sat, 14 Nov 2009 04:48:01 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/#comment-151</guid>
		<description>Hi Norman,

Actually, when one types the literal string COM4 into the File name combobox control on an English version of Windows Xp an error message from COMDLG32.DLL appears stating &quot;com4 This file name is a reserved device name. Please choose anothher name.&quot; That is Invalid class subset I[4]. When one types the literal string COM5 into the File name combobox control on an English version of Windows Xp an error message from COMDLG32.DLL appears stating, &quot;com5 The above file name is invalid.&quot; 

Honestly, I am not sure how anyone can confuse those two error messages, but that&#039;s not really important. What is important is that I discovered this anomoly in error handling and the issue is resovled in Windows Vista. 

V[5] includes the Unicode character code point U+00A5 which is the Yen sign. I suspect that you are confusing the U+00A5 Unicode character code point with the glyph that appears on a Japanese language version when one types the backslash character on a keyboard which actually generates a U+005C Unicode character code point (but looks like the Yen sign). (BTW...on a Korean version the glyph displayed for the U+005C Unicode character code point looks like the Won sign.) But, again, at the GUI on a Japanese language version the U+005C and U+00A5 glyphs look the same, so I can understand how it might be confusing.

Actually, I[19] is not defective. I suspect that you incorrectly misinterpreted I[19]. By entering C:\ you are actually entering a path component to the base file name component which is also a common mistake. It also assumes a bit of common sense.

Experiementation is good, but you appear to have strayed from the primary purpose of systematically evaluating the basename parameter and moved to the next level of trying various combinations and permutations of invalid and valid subsets that exercise the file name components including the path, the base filename, and the extension components. This is a common occurance, in systematic testing. People sometimes become more engaged in finding wild off the wall random stuff, or they easily get distracted by &quot;hey ya&#039;ll let&#039;s try this&quot; type mentality that basic functionality of a parameter is sometimes overlooked occasionally resulting in defects that have greater impact to the user.

Oh...and sometimes meteors fall to earth, but the semicolon is not an invalid character in the file name basename parameter which of course is the stated purpose for this systematic decomposition of the specified data set.

Friday, February 29, 2008 2:20 PM by I.M.Testy</description>
		<content:encoded><![CDATA[<p>Hi Norman,</p>
<p>Actually, when one types the literal string COM4 into the File name combobox control on an English version of Windows Xp an error message from COMDLG32.DLL appears stating &#8220;com4 This file name is a reserved device name. Please choose anothher name.&#8221; That is Invalid class subset I[4]. When one types the literal string COM5 into the File name combobox control on an English version of Windows Xp an error message from COMDLG32.DLL appears stating, &#8220;com5 The above file name is invalid.&#8221; </p>
<p>Honestly, I am not sure how anyone can confuse those two error messages, but that&#8217;s not really important. What is important is that I discovered this anomoly in error handling and the issue is resovled in Windows Vista. </p>
<p>V[5] includes the Unicode character code point U+00A5 which is the Yen sign. I suspect that you are confusing the U+00A5 Unicode character code point with the glyph that appears on a Japanese language version when one types the backslash character on a keyboard which actually generates a U+005C Unicode character code point (but looks like the Yen sign). (BTW&#8230;on a Korean version the glyph displayed for the U+005C Unicode character code point looks like the Won sign.) But, again, at the GUI on a Japanese language version the U+005C and U+00A5 glyphs look the same, so I can understand how it might be confusing.</p>
<p>Actually, I[19] is not defective. I suspect that you incorrectly misinterpreted I[19]. By entering C:\ you are actually entering a path component to the base file name component which is also a common mistake. It also assumes a bit of common sense.</p>
<p>Experiementation is good, but you appear to have strayed from the primary purpose of systematically evaluating the basename parameter and moved to the next level of trying various combinations and permutations of invalid and valid subsets that exercise the file name components including the path, the base filename, and the extension components. This is a common occurance, in systematic testing. People sometimes become more engaged in finding wild off the wall random stuff, or they easily get distracted by &#8220;hey ya&#8217;ll let&#8217;s try this&#8221; type mentality that basic functionality of a parameter is sometimes overlooked occasionally resulting in defects that have greater impact to the user.</p>
<p>Oh&#8230;and sometimes meteors fall to earth, but the semicolon is not an invalid character in the file name basename parameter which of course is the stated purpose for this systematic decomposition of the specified data set.</p>
<p>Friday, February 29, 2008 2:20 PM by I.M.Testy</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testingmentor</title>
		<link>http://www.testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/comment-page-1/#comment-150</link>
		<dc:creator>testingmentor</dc:creator>
		<pubDate>Sat, 14 Nov 2009 04:47:49 +0000</pubDate>
		<guid isPermaLink="false">http://testingmentor.com/imtesty/2009/11/13/equivalence-class-partitioning-part-2-characterstring-data-decomposition/#comment-150</guid>
		<description>I don&#039;t understand your explanation about distinguishing I[5] and I[4].  Notepad gives identical error message if I try to save to either COM4 or COM5.

V[5] includes Latin 1&#039;s code point for a version of the yen sign, but Windows XP sometimes has trouble with that character.  Are you sure it&#039;s supposed to be a valid character instead of invalid?

I[19] is defective.  In Notepad, I could specify the following path in Save as:

&quot;C:\x.txt&quot;

It worked.

Seeing some of the overlaps and omissions in your I sets, I tried an experiment.  In Notepad, I set the filter to all files, and tried to save a file to:

&quot;\\?\C:\txt.&quot;

For comparison, in a command prompt window I can copy to that pathname to create the file, and can delete that file, as long as I specify the path that way.  So today, I tried it in Notepad&#039;s &quot;Save as&quot; dialog box.  Oh... while I was typing this, Notepad finally retorted that the pathname is invalid.  I thought I was going to have to kill it from task manager.

(Off-topic:  Sometimes the Windows shell says that semicolon is an invalid character, though I don&#039;t think that happens in the basename parameter in an API call.)

Thursday, February 28, 2008 10:18 PM by ndiamond</description>
		<content:encoded><![CDATA[<p>I don&#8217;t understand your explanation about distinguishing I[5] and I[4].  Notepad gives identical error message if I try to save to either COM4 or COM5.</p>
<p>V[5] includes Latin 1&#8217;s code point for a version of the yen sign, but Windows XP sometimes has trouble with that character.  Are you sure it&#8217;s supposed to be a valid character instead of invalid?</p>
<p>I[19] is defective.  In Notepad, I could specify the following path in Save as:</p>
<p>&#8220;C:\x.txt&#8221;</p>
<p>It worked.</p>
<p>Seeing some of the overlaps and omissions in your I sets, I tried an experiment.  In Notepad, I set the filter to all files, and tried to save a file to:</p>
<p>&#8220;\\?\C:\txt.&#8221;</p>
<p>For comparison, in a command prompt window I can copy to that pathname to create the file, and can delete that file, as long as I specify the path that way.  So today, I tried it in Notepad&#8217;s &#8220;Save as&#8221; dialog box.  Oh&#8230; while I was typing this, Notepad finally retorted that the pathname is invalid.  I thought I was going to have to kill it from task manager.</p>
<p>(Off-topic:  Sometimes the Windows shell says that semicolon is an invalid character, though I don&#8217;t think that happens in the basename parameter in an API call.)</p>
<p>Thursday, February 28, 2008 10:18 PM by ndiamond</p>
]]></content:encoded>
	</item>
</channel>
</rss>
