
10
Dec
功能测试和非功能测试的区别是什么?
功能测试和非功能测试通常包含在设计良好的质量保证策略和程序中. As a result, 测试和质量保证团队必须意识到功能测试和非功能测试的差异. 而这两者都是应用程序审查过程的关键组成部分, they serve quite different functions.
从定义功能测试和非功能测试开始.
What is Functional Testing?

功能测试确认每个软件程序的功能遵循所需的定义. 该测试主要由黑盒测试组成,与应用程序的源代码无关. 通过提供适当的输入来验证每个系统功能, checking the output, 并将实际结果与预测结果进行比较.
What is Non-Functional Testing?

非功能测试的目的是使用功能测试从未涉及的非功能因素来评估系统的准备情况. 检查有多少个人可以同时登录到软件中是一个非功能测试的例子. 非功能测试与功能测试同样重要,并且会影响客户满意度.
功能测试和非功能测试的主要区别
在理解两者之间的区别之前,bat365app手机版下载需要理解功能性需求和非功能性需求之间的区别 functional and non-functional testing:

- 非功能测试验证非功能元素,如性能, usability, and dependability, 而功能测试验证产品的每个功能/特性.
- 非功能测试很难手工执行,而功能测试是手工完成的.
- 功能测试的目的是验证软件操作, whereas non-functional testing is to validate software performance.
- 功能测试示例将验证登录功能, 但是一个非功能测试示例将验证仪表板应该在不到两秒钟的时间内加载.
- 非函数式定义了事物如何操作,而函数式则告诉它做什么.
- 在进行非功能测试之前,需要先进行功能测试.
Strategies For Functional Testing
人工测试和自动化测试的结合是实现功能测试覆盖的最佳方式. Black-box testing methods 最流行的功能测试方法是什么. 测试人员不需要检查内部源代码,并通过测试各种输入组合来验证功能.
下面是一些常用的功能测试方法的例子:

- 安装测试——无论是桌面应用还是移动应用,确保安装正确.
- 测试数值输入的边界称为边值分析.
- Unit testing is software testing 尽可能在最小的层次上完成——不是系统如何工作,而是每个单元是否正常工作.
- API测试验证内部和外部API, including data transfer and permission, are working effectively.
- 回归测试是一组用于确保新软件修改对当前功能没有负面影响的测试(最常见的自动化技术)。
Strategies for Non-Functional Testing
因为你是在测试消费者对整体质量体验的需求,而不是X输入导致Y结果, 非功能测试通常需要更多的想象力和技术专长.
- Load testing 是在预测条件下(不同数量的用户)在模拟环境中评估系统行为的过程
- Stress testing 在资源稀缺时评估绩效, 比如当服务器宕机或设备硬盘容量不足时.
- Scalability testing 确定系统是否可以扩展到额外的使用和, if so, how much performance is impacted.
- Security testing 确定系统在攻击和保护数据方面的脆弱程度.
- Volume testing 用大量的数据来评估性能, 不一定涉及大量的用户, 而是一个人完成大量的工作, such as multiple-file uploading.
Functional V/s Non-functional Testing
ParameterS | Functional Testing | Non-Functional Testing |
---|---|---|
Execution | 在非功能测试之前进行测试. | 这是在功能测试完成时完成的. |
Requirement | Functional requirements are simple to define. | IT部门需要大量的工作来定义需求. |
Usage | 协助验证应用程序的行为. | 协助验证应用程序的性能. |
Objective | The goal was to validate software actions. | 目标是确保软件按预期执行. |
Requirements | 使用功能规格书进行功能测试. | 性能要求用于进行这种类型的测试. |
Manual testing | 这是进行功能测试的一种简单方法. | It is extremely difficult to execute manually. |
Functionality | 它指的是产品完成某些任务的能力. | “功能性”一词指的是一件东西如何运作. |