?
我们找工作的时候,发现招聘有一些功能测试,招聘有一些业绩测试。功能测试和性能测试有什么区别?
侧重点不同
功能测试的重点是功能是否满足客户的需求。
比如我们得到一个节日活动的需求,这个需求有很多场景,比如百分比折扣还是全折扣,是否有优惠券,活动是否可以叠加使用,是否可以叠加使用,首选哪种优惠策略等等。
在进行功能测试时,我们必须明确这些需求,并尽可能地测试所有可能的场景。功能测试关注产品的每一个细节。
功能测试要保证每一个功能点都没有问题,防止客户在生产环境中使用过程中出现问题。而且,功能测试完成后,需要提交测试用例、测试总结报告、用户操作手册等文档,对整个测试过程进行跟踪。
另外,功能测试更注重客户的体验,测试工程师应该从客户的角度来使用功能,而不是从开发人员的角度来使用,因为真正使用系统的是客户,只有考虑客户的体验,系统才能得到更大范围的推广。
性能测试的重点是响应速度能否满足客户的需求。
对于性能测试,我们需要做的是对可能造成瓶颈的操作进行分析,对其进行压力测试,或者对某个需求的整个操作过程进行压力测试,并进行在线测试。
对于同样的需求,我们首先需要分析哪些点应该进行压力测试,比如检查订单、计算优惠券、选择优惠券、提交订单。如果在这些点上需要进行压力测试,我们需要在这些步骤之前添加会议点,设置并发的数量,检查响应时间、吞吐量和系统性能是否满足要求。
性能测试完成后,根据性能测试的结果,分析最佳用户数、最大用户数、系统性能等数据,根据测试数据分析系统瓶颈以及是否有优化空间。性能测试是为了保证系统在多用户并发操作系统的情况下能够稳健稳定的运行,客户能够有良好的体验效果。
让我们通过测试用例更直观地展示它们之间的区别。
场景:开一个50-10、100-30的活动,只有指定的产品才能使用优惠券。
功能测试用例:
?
性能测试案例:
?
?
当然,这里的绩效指标是我自己举例的。在真实的性能测试中,需求中会给出什么样的数据。
从列出的功能和性能测试用例中我们可以清楚地看到,功能测试用例注重细节,各个角落、不同场景都要进行测试,而性能测试更注重响应时间、吞吐量等数据。
参与的时间段不同
功能测试贯穿于项目的整个发展阶段,从需求分析开始,经历测试用例的编写、测试用例的评审、执行测试、bug回归、测试文档的整理等等,一直到项目结束为止。
而性能测试一般是在项目的后期进行。比如说我们拿到一个需求或者项目,在前期基本功能尚未完善的情况下,一般是不进行性能测试的。
一直到项目后期,功能基本实现且无致命bug的情况下才进行,因为性能测试主要是测试系统或者功能的性能,在功能尚未完成或者存在问题的情况下,性能测试毫无意义。
使用工具不同
功能测试分为手动测试和自动测试。如果是手动测试,不需要使用工具,而是通过输入和检查输入来验证功能是否正确。
如果是自动化测试,我们需要使用工具(如selenium、QTP等。)来记录脚本,并修改脚本,以便脚本可以根据我们设置的数据自动测试。
性能测试主要通过工具(如Loadrunner、Jmeter等)进行。).
功能测试和性能测试的最终目的是一样的,都希望系统能够稳定运行。简单的功能或性能测试是不完整的。为了给客户带来更好的体验,只有将功能测试和性能测试合理结合,一个系统才能更加完善。
|