【问题标题】:How to explain sorting (numerical, lexicographical and collation) with examples to non technical testers?如何用示例向非技术测试人员解释排序(数字、字典和排序规则)?
【发布时间】:2011-10-12 05:49:25
【问题描述】:

我需要使用法语和西班牙语的名字和姓氏来解释差异。任何指针表示赞赏。我用谷歌搜索,但结果并不令人满意。

【问题讨论】:

  • 使用电话簿类比:“数字”就像电话号码。 “词典”就像电话簿中姓名的排序方式。 “整理”就像法语和西班牙语电话簿之间的区别。但是,如果您的测试人员不到 20 岁,她可能不知道“电话簿”是什么。

标签: testing sorting localization internationalization collation


【解决方案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)
猜你喜欢
  • 2010-12-27
  • 1970-01-01
  • 2010-09-08
  • 2011-02-16
  • 2012-10-26
  • 2018-07-24
  • 2020-03-12
  • 2012-06-27
  • 2017-02-05
相关资源
最近更新 更多