软件测试技术之如何理解功能测试?

发表于:2023-3-23 09:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序员老陈    来源:知乎

  前言
  本文帮助您了解功能测试非功能测试之间的区别,并涵盖了两者的示例。
  功能测试基于被测应用程序应该完成的任务,它基于定义它的要求和规范。测试亚马逊购物应用程序以确保我可以搜索和购买产品是功能测试。与此相反,非功能测试是基于该应用程序的运行情况和执行情况。当以这种方式思考功能性和非功能性测试时,至少对我来说,更容易理解不同类型的测试技术在哪里。例如,单元测试是功能测试的一个主要例子,因为它从字面上测试代码的“功能”——执行一个操作的可重用代码块。更广泛地,功能测试包括一系列测试技术,其中使用明确定义的要求来验证应用程序是否按设计工作。功能测试发生在原子级别(单元测试)和整个开发生命周期。
  功能测试示例
  单元测试- 这是指对特定应用程序的单个组件进行测试。这些可以自动化,确保核心功能不会随着代码库的发展而受到损害。
  验收测试- 在开发特定功能之后,应执行验收测试作为表明新开发的功能满足提供的要求的签收。在敏捷环境中工作时,可以在完成功能的冲刺结束时执行此类测试。通常的做法是将此作为任务包含在每个用户故事中,以确保它不会被忽视。验收测试通过提供一个检查点来帮助消除对特性功能的任何误解,在该检查点上编写需求的人可以验证功能。
  集成测试- 集成测试是指测试应用程序的各个部分,其中组件被迫协同工作以执行某些功能集。这种类型的测试可以自动化,确保代码库中的组件可以毫无问题地协同工作。
  回归测试- 在代码库更改后针对应用程序执行现有测试套件有助于识别无意中引入系统的错误和缺陷。这是应该使用自动化的一个很好的例子。回归测试可提供快速的投资回报,在 CI/CD 环境中至关重要,可确保代码稳定性。
  可视化测试- 随着可视化测试或可视化 UI 测试的出现,我们看到了一种可用于功能测试和非功能测试的自动化。结合可视化测试解决方案的 JavaScript 框架可以创建强大的端到端测试,可以完成功能性和非功能性测试。视觉端到端测试检查整个用户界面(逐个元素,逐个像素),可以创建测试来考虑用户体验,这是应用程序的非功能方面。例如,可以创建视觉测试来检查登录系统的功能,还可以确保应用程序中的颜色与色盲使用兼容。
  什么是非功能测试?
  非功能测试侧重于应用程序的运行情况(或运行情况如何)——它的行为。性能、本地化(特定于区域 - 不仅仅是转换后的语言)、用户体验 (UX)、安全性、可扩展性、兼容性都属于非功能测试的范畴。例如,您可能希望在包括语言和文化在内的区域条件下测试应用程序的行为。为成功实现这一目标,您需要测试所有语言解释、任何更改的图像、文档和支持、EULA 和相关的监管法律术语等。应用程序的性能如何、其行为的一致性如何以及用户有多好经验都被提炼成非功能测试。
  非功能测试示例
  性能测试- 这是一个相当大的范围,包括所有与性能相关的事情。负载、压力、寿命、折磨、容量、可扩展性都属于这一类。自动化这些测试是唯一的方法,因为它们不切实际,并且在尝试手动运行时容易出错。
  安全测试- 安全测试至关重要,尤其是对于政府实体、金融机构和医疗保健行业。总的来说,安全性在数字时代已经并将继续至关重要,因此有必要进行彻底的测试。渗透、故障转移、合规性、漏洞、灾难恢复、RCA、检测和修复都属于这一类。根据行业和客户的不同,可能需要安全测试以及透明的结果。
  兼容性测试- 理解这一点很重要,因为它与互操作性测试(两个不同的应用程序如何相互交互)不同。兼容性测试处理应用程序从一种环境到另一种环境的行为方式。兼容性测试的一个主要示例是跨浏览器和跨平台测试,您在其中进行测试以确保您的应用程序在一个浏览器和另一个浏览器之间工作和行为相同,并且对于操作系统也是如此。自动化这些测试可以快速揭示应用程序因环境变化而降级或失败的地方。
  用户体验测试 (UX) - 在当今的应用程序开发生命周期中变得越来越流行。为了在竞争中脱颖而出,开发人员必须设计提供出色用户体验的应用程序,这意味着要分析用户与应用程序的交互方式以及工作流程的效率。布局是直观的还是用户觉得它令人沮丧和难以导航?用户是否对他们的体验感到满意,或者他们是否认为该应用程序以任何方式令人望而却步?用户体验测试可以回答这些以及更多问题,并有助于提供数字信心。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号