热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

性能VS功能,同为测试,它俩又有哪些不一样?

我们找工作的时候,发现招聘有一些功能测试,招聘有一些业绩测试。功能测试和性能测试有什么区别?侧重点不同功能测试的重点是功能是否满足客户的需求。比如我们得到一个节日活动

 我们找工作的时候,发现招聘有一些功能测试,招聘有一些业绩测试。功能测试和性能测试有什么区别?

  侧重点不同

  功能测试的重点是功能是否满足客户的需求。

  比如我们得到一个节日活动的需求,这个需求有很多场景,比如百分比折扣还是全折扣,是否有优惠券,活动是否可以叠加使用,是否可以叠加使用,首选哪种优惠策略等等。

  在进行功能测试时,我们必须明确这些需求,并尽可能地测试所有可能的场景。功能测试关注产品的每一个细节。

  功能测试要保证每一个功能点都没有问题,防止客户在生产环境中使用过程中出现问题。而且,功能测试完成后,需要提交测试用例、测试总结报告、用户操作手册等文档,对整个测试过程进行跟踪。

  另外,功能测试更注重客户的体验,测试工程师应该从客户的角度来使用功能,而不是从开发人员的角度来使用,因为真正使用系统的是客户,只有考虑客户的体验,系统才能得到更大范围的推广。

  性能测试的重点是响应速度能否满足客户的需求。

  对于性能测试,我们需要做的是对可能造成瓶颈的操作进行分析,对其进行压力测试,或者对某个需求的整个操作过程进行压力测试,并进行在线测试。

  对于同样的需求,我们首先需要分析哪些点应该进行压力测试,比如检查订单、计算优惠券、选择优惠券、提交订单。如果在这些点上需要进行压力测试,我们需要在这些步骤之前添加会议点,设置并发的数量,检查响应时间、吞吐量和系统性能是否满足要求。

  性能测试完成后,根据性能测试的结果,分析最佳用户数、最大用户数、系统性能等数据,根据测试数据分析系统瓶颈以及是否有优化空间。性能测试是为了保证系统在多用户并发操作系统的情况下能够稳健稳定的运行,客户能够有良好的体验效果。

  让我们通过测试用例更直观地展示它们之间的区别。

  场景:开一个50-10、100-30的活动,只有指定的产品才能使用优惠券。

  功能测试用例:

  性能测试案例:

  当然,这里的绩效指标是我自己举例的。在真实的性能测试中,需求中会给出什么样的数据。

  从列出的功能和性能测试用例中我们可以清楚地看到,功能测试用例注重细节,各个角落、不同场景都要进行测试,而性能测试更注重响应时间、吞吐量等数据。

  参与的时间段不同

  功能测试贯穿于项目的整个发展阶段,从需求分析开始,经历测试用例的编写、测试用例的评审、执行测试、bug回归、测试文档的整理等等,一直到项目结束为止。

  而性能测试一般是在项目的后期进行。比如说我们拿到一个需求或者项目,在前期基本功能尚未完善的情况下,一般是不进行性能测试的。

  一直到项目后期,功能基本实现且无致命bug的情况下才进行,因为性能测试主要是测试系统或者功能的性能,在功能尚未完成或者存在问题的情况下,性能测试毫无意义。

  使用工具不同

  功能测试分为手动测试和自动测试。如果是手动测试,不需要使用工具,而是通过输入和检查输入来验证功能是否正确。

  如果是自动化测试,我们需要使用工具(如selenium、QTP等。)来记录脚本,并修改脚本,以便脚本可以根据我们设置的数据自动测试。

  性能测试主要通过工具(如Loadrunner、Jmeter等)进行。).

  功能测试和性能测试的最终目的是一样的,都希望系统能够稳定运行。简单的功能或性能测试是不完整的。为了给客户带来更好的体验,只有将功能测试和性能测试合理结合,一个系统才能更加完善。


推荐阅读
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 想搭建一个能够稳定支持每日500万页面浏览量(PV)的网站架构吗?了解500万PV的实际意义,以及如何计算服务器需要处理的并发请求量,是成功构建高效架构的关键。本文将从基础概念出发,深入探讨实现这一目标所需的技术细节和策略。 ... [详细]
  • MySQL性能测试标准倡议:老叶提出的压测基准
    进行MySQL的压力测试通常是为了评估新旧版本之间的性能差异、验证硬件升级的效果、测试参数调整的影响以及评估新业务的负载承受能力。老叶提出了一个MySQL压力测试基准值倡议,旨在促进行业内的标准化和成果共享。 ... [详细]
  • 本文探讨了在支付项目开发中使用SS5 Socket Server实现内部网络访问外部网络的技术方案。详细介绍了SS5的安装、配置及性能测试过程,旨在为面临相同需求的技术人员提供参考。 ... [详细]
  • 深入解析:主流开源分布式文件系统综述
    本文详细探讨了几款主流的开源分布式文件系统,包括HDFS、MooseFS、Lustre、GlusterFS和CephFS,重点分析了它们的元数据管理和数据一致性机制,旨在为读者提供深入的技术见解。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 统计学核心概念与应用总结
    本文对统计学的基本原理和方法进行了系统总结,涵盖了数据的收集、处理、分析及解释等关键环节。重点讨论了描述性统计与推断性统计的方法,并深入探讨了抽样技术、误差控制、概率分布以及假设检验等内容。 ... [详细]
  • 本文介绍如何使用 Python 的 Pandas 库中 Series 对象的 round() 方法,对数值进行四舍五入处理。该方法在数据预处理和分析中非常有用。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 福克斯新闻数据库配置失误导致1300万条敏感记录泄露
    由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ... [详细]
author-avatar
晴天逍遥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有