软件测试中如何测试算法

软件测试中测试算法的方法:一、普通功能测试会使用到的方法;二、普通功能测试中不会用到的测试方法。其中,普通功能测试会使用到的方法有1、算法稳定性测试;2、算法性能测试;3、算法兼容性测试。

软件测试中如何测试算法-Worktile社区

一、普通功能测试会使用到的方法

1、算法稳定性测试

  • 长时间运行,算法是否奔溃
  • 数据量提升后,算法模型的结果是否符合预期

2、算法性能测试

  • 算法模型的响应时间
  • 算法模型对处理器cpu和磁盘的消耗

3、算法兼容性测试

设置不同阈值内的数据,算法结果是否稳定(比如用户年龄、区域、性别等)

二、普通功能测试中不会用到的测试方法

1、算法pk(赛马)

对于一个需求,不同的人或团队可以设计出不同的算法模型,到底哪个更靠谱,是骡子是马拉出来溜溜,pk一下就知道了。这个环节是算法测试的关键部分,用例设计主要采用场景法,通过列举不同场景,对多个算法分别进行测试验证,最终综合所有场景中的算法模型的表现,选出前几名。

2、A/B测试

由于算法的准确性会受到测试数据的影响,而在测试环境中,数据的来源一般是手动插入数据库或从线上导入数据。尽管测试数据会接近于真实数据,但仍会有数据类型覆盖不够全面、数据量不够大等方面的问题。因此,即使算法模型在测试环境通过验收,仍然不能在生产环境全部放量。

通常采用的方法是:拿出线上流量的5%-10%,其中一部分数据作为对照组,其它部分作为一个或多个实验组(实验组采用的算法为pk中胜出的前几名算法)。对照组合实验组数据分别打不同的标,一段时间后分别统计计算的各项指对照组合实验组的各项指标标,根据关键指标来验证算法是否有效。

延伸阅读

现阶段算法测试痛点

  • 现阶段的测试主要还是基于业务层面,验证最终的数据结果是否满足业务需求,无法验证算法内部逻辑,算法的效果无法分析
  • 对算法实现的不理解
  • 对整个算法开发,如:算法的设计,建模,训练,测试均未加入其中
  • 如何选择优异算法

文章标题:软件测试中如何测试算法,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34227

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年1月4日 上午4:01
下一篇 2023年1月4日 上午4:32

相关推荐

  • 为什么说文心一言能够提升语言表达的能力

    文心一言是指在语言表达中力求简练、精确、有效地使用核心词语来传达意思。该方法能够提升语言表达能力,是因为它依赖于几个核心观点:1、简洁性;2、精准性;3、情感共鸣;4、记忆便捷。简洁性使信息更加直接,方便接收者快速理解。精准性保证了信息的正确无误地传达。情感共鸣则帮助讲话者与听众建立联系,增加说服力…

    2023年11月29日
    27300
  • 微博和博客有什么区别

    微博和博客的区别有:1、字数限制不同;2、博客被动阅读;3、微博发布简便;4、自传播速度不同;5、使用人数和范围不同。微博必须在140字以内,这是为了手机发布阅读方便,博客没有限制,因为它主要是让人在电脑上发表和阅读的。 1、字数限制不同 微博必须在140字以内,这是为了手机发布阅读方便,每条微博不…

    2023年1月31日
    92800
  • Linux明明有文件却找不到

    Linux明明有文件却找不到的解决方法:1、打开终端命令行窗口;2、使用“find”命令来查找文件;3、使用通配符“*”来进行文件查找;4、回车执行命令完成文件查找。打开终端命令行窗口是指打开Linux系统中的命令行窗口。 一、Linux明明有文件却找不到的解决方法 1、打开终端命令行窗口 打开Li…

    2023年3月23日
    3.4K00
  • openjdk和oraclejdk的区别

    openjdk和oraclejdk的区别: 1、来源和维护者不同;2、功能和性能的差异;3、许可证和使用范围的不同;4、更新频率与长期支持的差异;5、商业支持与服务的差别。对比来看,openjdk和oraclejdk各有各的优势和特色,选择哪种JDK需要根据具体的使用场景和需求来决定。 一、来源和维…

    2023年6月1日
    3.8K00
  • 多产品需求如何管理

    要做到:一、建立需求来源和接受渠道;二、记录需求变化;三、审查要求并达成共识;四、达成项目共识;五、识别项目工作与需求之间的矛盾,并采取纠正措施;六、双向跟踪维护。为避免需求管理的混乱,规定谁接受需求,哪些人可以提出需求。 一、建立需求来源和接受渠道 需求收集,包括被动和主动的需求收集,其中主动的需…

    2023年3月22日
    31400
  • 如何做项目的管理工作内容

    项目管理是一个确保项目顺利完成的复杂过程,涉及到一系列相互关联的任务和责任。高效的项目管理要求包括:明确项目目标、制定详细的项目计划、组织团队和资源、实施有效沟通、监控项目进度以及管理项目风险。特别在监控项目进度方面,项目经理需要设置关键的绩效指标(KPIs),定期检查项目是否按照既定的时间表和预算…

    2024年4月11日
    2500
  • 项目管理如何画好里程碑模板

    画好里程碑模板的步骤:确定项目的主要阶段;确定关键日期;使用图表和图形;确定里程碑的触发条件;处理里程碑事件的变更;与利益相关者协商。在设计里程碑模板之前,项目经理需要先确定项目的主要阶段。 确定项目的主要阶段 在设计里程碑模板之前,项目经理需要先确定项目的主要阶段。这些阶段可以是项目启动、规划、执…

    2023年3月30日
    78900
  • jsp非法字符有哪些

    jsp非法字符有:1、< (小于号);2、>(大于号);3、& (和号);4、” (双引号);5、’ (单引号);6、/ (斜杠);7、% (百分号);8、! (感叹号);9、@ (at符号);10、$ (美元符号)等。这些字符在JSP页面中必须进行转义或避免使用。 一、jsp的…

    2023年3月25日
    38000
  • 服务器可以存图片吗

    服务器图片通常作为文件或作为服务器存储设备上的分区存储在服务器上。服务器图片是服务器配置和状态的快照,包括操作系统、应用程序、数据和设置。服务器图片通常用于创建新服务器或将服务器恢复到以前的状态。 一、服务器图片存储在服务器上的方法 作为文件:服务器图片可以作为文件存储在服务器的存储设备上。这些文件…

    2023年7月22日
    50300
  • devops学什么

    摘要:探求DevOps领域,必须掌握1、自动化工具,2、版本控制,3、持续集成与持续部署(CI/CD),4、软件开发与系统运维知识融合。在此广泛的知识体系中,自动化工具的掌握尤为关键,它减少人为错误,提升运维效率。以Jenkins、Docker、Kubernetes等为代表,这些工具不仅优化了开发流…

    2024年3月26日
    6800

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部