如何用示例向非技术测试人员解释排序(数字、字典和排序规则)?
Posted
技术标签:
【中文标题】如何用示例向非技术测试人员解释排序(数字、字典和排序规则)?【英文标题】:How to explain sorting (numerical, lexicographical and collation) with examples to non technical testers? 【发布时间】:2011-10-12 05:49:25 【问题描述】:我需要使用法语和西班牙语的名字和姓氏来解释差异。任何指针表示赞赏。我用谷歌搜索,但结果并不令人满意。
【问题讨论】:
使用电话簿类比:“数字”就像电话号码。 “词典”就像电话簿中姓名的排序方式。 “整理”就像法语和西班牙语电话簿之间的区别。但是,如果您的测试人员不到 20 岁,她可能不知道“电话簿”是什么。 【参考方案1】:这里有一些解释:
字典式
在这种情况下,您对文本进行排序而不考虑数字。事实上,数字只是“字母”,它们没有数字组合的意义。
这意味着文本“ABC123”按字母 A、B、C、1、2 和 3 排序,而不是按 A、B、C 和数字 123 排序。
这有一个不幸的后果,即订购可能看起来应该像数字一样订购的东西却没有。
例如,在对这两个进行排序时:
ABC90
ABC100
您可能希望 90 的排序在 100 之前,因为 90 在 100 之前,但这不是字典排序的工作原理,它将 9 与 1 进行比较,然后交换它们。
自然排序
通过在 100 之前排序 90 来使上述排序正常工作的排序。如果在两个文本中都遇到数字,自然排序会切换到部分文本的数字排序。
基于排序的排序
这个处理诸如语言之间的变化之类的事情。
通常,词典排序将一个字母与另一个字母进行比较,并确定它们的顺序,通常根据字母的“值”。这可能会产生一些奇怪的效果。
例如,您认为以下两个字符串如何排序?
ABCTEN
ABCßEN
好吧,因为 ß 的字母可能具有比 T 更高的值的序数值(即它在 Unicode 字母表中的“位置”),所以上述顺序就是结果。基本上,如果您查看包含所有字母的 Unicode 图表,您可能会发现 T 的符号值小于 100,而 ß 大于 100。
但是,在德国,您应该将上述两个文本视为:
ABCTEN
ABCSSEN
因此它们的顺序应该颠倒,因为 S 在 T 之前。
这是基于排序规则的排序。您为您的文本选择一个排序规则,该排序规则描述了应该处理这些文本的上下文。这使您可以在不同语言中获得自然排序。
例如,在挪威,字母 Æ、Ø 和 Å 被排在 Z 之后,但是在其他语言中(我忘了是哪个),Æ 应该排在 E 之后,Ø 排在 O 之后,Å 就在在 A 之后。排序规则规定了这一点。
【讨论】:
罗马尼亚语是其中一种语言,但字母与挪威语不同(A,Ă,Â,B,...,H,I,Î,J,...,R,S,Ș,T, Ś,U,…)。法语(至少魁北克法语)也有这种类型的排序(a,à,â,æ,b,c,ç,d,e,é,è,ê,ë,f,...,h,i,î, ï,j,...,n,o,ô,œ,p,...,t,u,ù,û,ü,v,...,x,y,ÿ,z)以上是关于如何用示例向非技术测试人员解释排序(数字、字典和排序规则)?的主要内容,如果未能解决你的问题,请参考以下文章