首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有效地测试项目排序中的随机性?

如何有效地测试项目排序中的随机性?
EN

Stack Exchange QA用户
提问于 2021-09-15 23:01:15
回答 2查看 65关注 0票数 3

我们有一个在项目排序中引入随机性的功能,例如:

  • 将若干给定项呈现给用户的顺序是随机的。

对于这种情况,需要进行自动化测试,我认为:

  • 将配置的项顺序与实际呈现的项顺序进行比较,如果它们不同,则测试将通过。

但是,随机顺序总是有可能与配置的顺序相同,例如:

  • 我们已经配置了5项将呈现给用户,它们与配置的顺序完全相同的可能性是1 in 5*4*3*2*1;对于10项,机会是1 in 10*9*8*7*6*5*4*3*2*1;自动测试失败的可能性很小。

有什么方法来检验随机性吗?

EN

回答 2

Stack Exchange QA用户

发布于 2021-09-16 07:47:03

答案是:隔离随机性。

您可以从Dave (隔离时间:https://www.youtube.com/watch?v=SuDIYk9GBpE&t=1872s )中查看此示例

使用多态性将随机排序行为从显示和实体定义中分离出来。

然后,您可以隔离地验证这些部分中的每一部分:

  • 当您想要验证排序时,只需注入测试控制项;
  • 当您想要验证显示时,您提供了一组测试控制项和测试控制的排序机制的伪,具有测试所知道的静态行为;
  • 如果要验证项目的组成,则不需要显示或排序机制,因为这些都是项的外部机制。
票数 1
EN

Stack Exchange QA用户

发布于 2021-09-16 07:41:32

使用Chi测试在单元级别上测试随机性,然后在系统级别验证这些值是否正确地从单元传播到系统。

随机的意思可能是均匀分布,列表中的每个值都有相同的概率被选择。

要确定某件东西是否均匀分布并且有意义的结果,你需要收集足够的样本,然后做一个数理统计测试,或者只是在一个图表上盯着它们看。数学并不太复杂,决定“足够”也很简单,但两者都属于数学stackexchange,这可能会让你或者在这里的起点,但我想许多语言都有现成的数学函数来帮助您,均匀Excel有一个现成的Chi测试函数。

至于这种测试的实用性,在端到端测试中收集足够的结果可能过于缓慢和繁琐,最好是运行一个在单元级别收集所选值并验证其随机性的测试。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/49036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档