功能测试和性能测试的区别与联系
- 软件测试的基本原则
理想的软件测试流程必须包括一套整体的方案,还要结合各种测试技术来交付高质量的软件。从广义上讲,任何应用程序的测试都可以基于两个前提进行分解—“可操作性”和“高效性”。“可操作性”是功能测试的主要任务,“高效率”是性能测试的主要任务。
- 功能测试主要测什么?
功能测试评估了软件系统的个体行为和内聚行为功能,以验证它们是否符合预定义的规范要求。功能测试主要测试的是:在满足功能和业务需求的条件下,软件系统功能的准确性、子系统的互操作性以及对预定义标准的遵从性。
- 性能测试主要测什么?
性能测试是一种非功能测试技术,性能测试主要是对系统进行测试,然后在类似生产的环境中测量、验证及确认系统的响应时间、稳定性、可扩展性、响应速度和可靠性。
性能测试与功能测试的关系
- 软件测试的目的是什么?
软件测试检查所有类型的应用程序和系统程序,预先识别以后可能引起问题的故障,如软件的可用性和可靠性、数据输入&数据处理&数据输出,以及其他可能让用户感到沮丧或比如损害用户数据等更糟糕的问题。
功能测试定义
软件功能测试确保了软件应用程序符合基于项目需求的功能规范。功能测试由运行每个软件功能的测试人员执行,功能测试包括什么?
- 测试登录界面:观察登录过程,看看用户是否能够顺利进入应用程序
- 测试主要功能:确保应用程序是否运行正确操作
- 测试用户界面:确保屏幕导航简单直观,每个按钮或链接都能将用户带到预期位置
- 测试错误率:确定产生错误必备的条件以及是否出现适当的错误消息
- 测试支付功能:检查支付系统的稳定性,以确保用户能够无缝支付
功能测试包含哪些测试?
- 单元测试:确保应用程序的每个组件(或“单元”)按预期工作
- 冒烟测试:确定每个功能是否正常工作
- 安全性测试:检查并确定微小的修改是否解决了本应被解决的问题
- 回归测试:确保某些更新不会导致新问题出现
- 系统测试:是一种高级测试,它显示了系统是否满足技术、功能和业务需求
- 用户验收测试:通常在一系列测试中最后执行,它需要确保应用程序能够适用于真实的场景
性能测试的定义
性能测试的主要目的是什么?性能测试的主要目的是消除任何阻碍性能顺利工作的因素。功能测试的侧重点是应用程序的功能,而性能测试是将软件视为一个系统应用来检查的,目的是确保它能够处理预期的流量,快速响应用户需求,并以适当的速度运行。系统会在各种条件下进行测试,来确保它能够应对不同的场景。
性能测试与功能测试一样重要,因为它对公司及客户的影响同等重要。比如说,如果一个web应用程序加载速度慢的话客户就很容易放弃它。当太多人使用客户关系管理(CRM)系统时,该程序如果崩溃,那么员工就会摈弃它。
性能测试的方法:
- 负载测试:检查系统允许载流量和最大载流量
- 耐久性测试:检查一段时间内的负载是否正常、确保系统稳定运行
- 性能测试容量测试:确定加载大量数据时应用程序的工作效率
- 可扩展性测试:确保软件能够处理不断增长的用户或数据
- 压力测试:确定硬件资源(如CPU、内存和磁盘空间)对软件的最大支持量
功能测试与性能测试的区别
功能测试 | 性能测试 | |
目标 | 验证性能完好 | 验证行为 |
测试的重点 | 用户期望值 | 用户的需求 |
测试数据输入 | 性能要求 | 功能需求 |
测试执行顺序 | 功能测试之后 | 性能测试之前 |
测试方法 | 支持自动化 | 手工、自动化或众包 |
模拟生产环境测试方法 | 偏爱 | 不要求 |
基础设施的要求 | 高 | 低 |
测试时长 | 短 | 长 |
功能要求改变的影响 | 无 | 有 |
测试工具类型 | Loadrunner, Jmeter | Selenium, QTP, WinRunner |
IT专业术语英语
可操作性英文 | Operability |
高效性英文 | Efficiency |
子系统英文 | Subsystems |
预定义英文 | Pre-defined |
用户需求英文 | User Requirements |
测试方法英文 | Test approach |
用户界面英文 | User Interface |
预期位置英文 | Expected location |
耐久性测试英文 | Endurance Testing |