你知道功能测试和非功能测试有什么区别么?

玩技站长
玩技站长
玩技站长
管理员, Keymaster
10824
文章
669
评论
测试资讯评论128字数 1236阅读4分7秒阅读模式
摘要功能测试根据需求进行功能上的测试,而非功能测试则针对更广泛的质量问题进行测试。在本文中,Dayana Stockdale将帮助读者弄清这两种测试的差异,并给出一些举例和策略。

功能测试根据需求进行功能上的测试,而非功能测试则针对更广泛的质量问题进行测试。在本文中,Dayana Stockdale将帮助读者弄清这两种测试的差异,并给出一些举例和策略。

功能测试与非功能测试的主要区别文章源自玩技e族-https://www.playezu.com/191187.html

在理解功能测试和非功能测试的区别之前,先需要知道功能性和非功能性需求之间的区别:文章源自玩技e族-https://www.playezu.com/191187.html

·功能要求:描述软件系统的行为或执行。文章源自玩技e族-https://www.playezu.com/191187.html

·非功能性要求:描述软件系统的性能或可用性。文章源自玩技e族-https://www.playezu.com/191187.html

功能需求将指定某一功能必须执行某个操作,而非功能需求则是可能会指定某一功能执行该操作。功能要求是WHAT;而非功能性要求是HOW。文章源自玩技e族-https://www.playezu.com/191187.html

因此,功能需求测试就是验证软件是否正在执行操作,而非功能测试则有助于验证客户的期望是否得到满足。文章源自玩技e族-https://www.playezu.com/191187.html

你知道功能测试和非功能测试有什么区别么?插图
文章源自玩技e族-https://www.playezu.com/191187.html

功能测试与非功能测试实例文章源自玩技e族-https://www.playezu.com/191187.html

为了使读者能更加清晰的了解两者之间的差异,Dayana将详细介绍一些并行的实例:文章源自玩技e族-https://www.playezu.com/191187.html

你知道功能测试和非功能测试有什么区别么?插图1
文章源自玩技e族-https://www.playezu.com/191187.html

功能测试策略

功能测试策略多种多样,手动和自动测试混合使用是确保功能测试覆盖率的最佳方法。

最常见的功能测试策略是黑盒测试方法,测试者不需要审查内部源代码,而是通过测试各种输入组合来验证功能。

以下是一些常用的功能测试技术:

1. 安装测试 — 用于测试桌面或移动应用程序是否正确安装。

2. 边界值分析 — 数值输入边界测试。

3. 等价划分 — 分组测试,以减少类似功能测试的重叠。

4. 错误猜测 — 评估功能问题最有可能被发现,并比其他领域更广泛地进行测试。

5.单元测试— 在软件的最小级别上执行测试。不是将系统作为一个整体运行,而是在单元上测试。

6. API测试 — 检查内部和外部API是否正常运行,包括数据传输和授权。

7. 回归测试 — 用于验证新软件更改没有对现有功能(最常见的自动化技术)产生不利影响的测试。

所有的功能测试都有一个特定的输出。所有的功能测试都可以用非常明确的通过或者失败标准来编写。

非功能性测试策略

非功能性测试有时可能会比功能性测试要麻烦很多,因为您正在测试客户对整体质量体验的期望,而不是指定输入数据输出确定的结果。

以下是主要的非功能性测试技术:

1. 负载测试 — 在模拟环境中执行的测试,以测试系统在预期条件(不同数量的用户)期间的行为。

2.压力测试— 在资源不足时测试性能,例如服务器问题或设备上硬盘空间不足。

3. 扩展性测试 — 检查系统的规模,以便随着使用率的增加和性能受到何种程度的影响而进行扩展。

4. 容量测试 — 用大量的数据测试性能,不一定是数量庞大的用户,但可以是一个用户执行高容量的任务,例如多文件上传。

5. 安全性测试 — 进行测试以发现系统受到攻击的脆弱程度,以及数据的保护程度。

6. 灾难恢复测试 — 检查系统在崩溃或重大问题后能在多久时间内的恢复速度。

7. 一致性测试 — 根据某一套标准(无论是行业法规还是公司的标准)来测试软件系统。

8. 可用性测试 — 测试GUI是否一致,以及整个应用程序是否直观且易于使用。

虽然一些非功能性测试技术可以具有通过/失败的标准(如批量测试),但相比之下,其他测试技术能够基于测试人员的意见(如可用性测试)因此更加客观。

你知道功能测试和非功能测试有什么区别么?插图2

倾听客户反馈对于更新非功能性需求至关重要。虽然在收集意见过程中,可能会识别到某些扩展性和安全因素,但客户反馈可以扩展这些检查集合,包括更好地测试应用程序在崩溃后应该如何恢复,或应用程序如何在设备上占用最小的存储空间。

客户反馈有助于进行功能测试的风险评估。但对于非功能性测试来说,用户反馈更有价值,因为反馈有助于设定栅,而功能测试已经设定好了栅。

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证