• 14
  • 14
分享
  • 这篇文章可以说是功能测试与非功能测试最详细的介绍了——软件测试圈
  • 曼倩诙谐 2021-01-04 11:53:45 字数 2841 阅读 2319 收藏 14

  什么是功能测试?

  进行功能测试以确保应用程序的功能符合需求规范。这是黑盒测试,不涉及应用程序源代码的详细信息。在执行功能测试时,重点应放在应用程序主要功能的用户友好性上。

  要首先执行功能测试,我们需要识别测试输入并使用选定的测试输入值计算预期结果。然后执行测试用例,并将实际数据与预期结果进行比较。

  功能测试类型

  让我们看一下针对移动应用程序的不同类型的功能测试。

  单元测试

  在单元测试中,在开发阶段将测试软件应用程序的各个组件。单元测试通常由开发人员而不是测试人员完成。测试一段代码形式的功能以验证准确性。驱动程序,单元测试框架,模拟对象和存根用于执行单元测试。

  单元测试通常是自动化的,但有时可以手动完成。可以在指导文档的帮助下完成手动方法。可以在所有类型的移动应用程序上执行单元测试。

  在自动单元测试中,开发人员在应用程序中编写代码以测试功能或过程。部署应用程序后,即可删除该代码。该功能可以隔离以严格测试应用程序,它揭示了被测试代码与其他单元之间的依赖关系。然后可以消除依赖关系。大多数开发人员使用单元测试自动化框架来记录失败的测试用例。

  整合测试

  进行集成测试以检查应用程序的各个组件在集成时是否按预期运行。通常,在对所有构建进行测试和组合后,在单元测试之后进行集成测试。

  健全性测试

  在收到软件版本后,会对功能进行细微更改,以进行完备性测试,以确保纠正错误,并且将来不会由于这些更改而出现问题。目的是在表面上测试功能,而不是彻底检查开发人员是否合理构建了功能。

  通常,执行健全性测试时会考虑以下这些步骤。使用新添加的功能标记代码中引入的修改。评估这些标记的功能,以确保它们是否能够发挥其作用。然后测试相关功能,相关参数和元素,以确保其正常工作。毕竟,构建可以接受其他高级测试方法。最好使用基于云的测试平台而不是在线Android模拟器,因为它们提供了数百种设备浏览器组合。

  烟雾测试

  这样做是为了检查构建是否足够稳定以进行进一步的测试。烟雾测试是端对端完成的,而不是像我们进行疯狂测试那样针对特定组件进行的。

  回归测试

  进行回归测试以检查新添加的代码是否对应用程序的功能没有任何不利影响。当应用程序中添加了新功能时或仅在代码中进行了一些更改时,即可完成此操作。代码中的更改可能影响产品的现有流程或存在错误。可以通过进行回归测试来评估。在回归测试中,动机是启动优化,增强功能并解决现有功能中需要的问题。

  系统测试

  系统测试是对完全集成的软件产品的测试。该软件与硬件和其他软件连接,并在系统上完全集成的应用程序上进行了一系列测试。既可以是白盒,也可以是黑盒。

  Beta/用户接受度测试

  在准备好发布应用程序之前,此测试会在测试过程的最后阶段进行。由客户/用户执行以验证端到端业务流程和用户友好性。

  什么是非功能测试?

  非功能测试旨在通过??各种标准(例如负载测试,可伸缩性测试,压力测试等)评估应用程序的就绪状态。它评估应用程序在挑战性条件下的性能。

  非功能测试类型

  让我们看一下针对移动应用程序的5种主要的非功能测试。

  性能测试

  性能测试已经完成,以确保该应用程序在预期的工作负载下能够正常运行。目的是发现性能问题,例如可靠性,资源使用情况等,而不是发现错误。在进行性能测试时,我们应牢记的三件事是快速响应,最大的用户负载以及在变化的环境中的稳定性。即使您专注于移动测试并使用在线Android模拟器,也无法避免性能测试。

  耐力测试:这样做是为了检查应用程序是否能够承受预期必须长时间承受的负载。

  可伸缩性测试:可以检查应用程序在软件,硬件和数据库级别的最大负载和最小负载下的性能。

  负载测试:在这种情况下,系统会模拟任何应用程序上的实际用户负载,以检查该应用程序可以承受的最大负载的阈值。

  压力测试:这样做是为了检查极端负载条件下应用程序的可靠性,稳定性和错误处理。

  峰值测试:在这种情况下,测试应用程序时用户负载会突然增加和减少。通过执行峰值测试,我们还可以了解应用稳定的恢复时间。

  容量测试:这样做是为了分析充斥大量数据时应用程序的行为和响应时间。

  相容性测试:执行兼容性测试以确保该应用程序可以在不同的硬件,操作系统,网络环境和屏幕尺寸上正常运行。

  安全测试:安全测试是移动应用程序测试过程中最重要的部分,它可确保您的应用程序安全且不会受到恶意软件和病毒等任何外部威胁的攻击。通过这样做,我们可以找出应用程序中的漏洞,这些漏洞可能导致数据丢失,收入增加或对组织的信任。

  让我们看一下在安全测试期间应消除的主要安全威胁。

  权限提升

  在这种情况下,黑客可能会使用应用程序,但他/她可以增加已经在您的应用程序中拥有帐户并使用默认提供的服务所提供的特权。例如,如果该应用程序具有引荐该应用程序给朋友的某些积分条款,那么黑客可以扩展该限制并从中获得更多收益。

  未经授权的数据访问

  最常见的攻击类型是获得未经授权的访问以获取有价值的信息。这可以通过破解登录凭据或通过入侵服务器访问数据来简单地完成。

  URL操作

  如果应用程序或网站使用HTTPGET方法在客户端和服务器之间传输数据,则黑客会操纵URL查询字符串。质量检查小组可以传递修改后的参数值,以查看服务器是否接受它。

  拒绝服务

  进行这种类型的攻击是为了使最终用户无法访问应用程序的服务。这样,黑客还可以提高应用程序和服务器计算机的工作机制的稳定性。

  可用性测试

  可用性测试由一小组用户执行,以找出应用程序中的可用性缺陷。提出设计时,它是在软件开发的初始阶段完成的。重点在于用户使用该应用程序的简易程度以及系统是否达到其预期目标。这种类型的移动测试也可以在在线android模拟器上执行。

  我们可以通过几种方法来进行可用性测试。一个是在设计阶段,您可以只在一张纸上画画就能评估设计。一旦构建应用程序以检查可用性,也可以进行随机测试。可以由站点上的实际用户来完成,然后可以提供结果。除此之外,基于设计和线框输入的工具,统计信息可能会非常有用。

  从结构上执行可用性测试的第一步是识别要执行可用性应用程序的用户。必须根据地理位置,年龄,性别等不同的应用程序的行为来选择用户。下一步是设计用户应该执行的任务,然后花时间分析结果完成的测试。

  可用性可以在观察者面前的隔离测试区域中进行,该观察者将检查测试并创建有关已分配任务的报告。下一个选项是远程可用性测试。在这种情况下,观察者和测试者位于不同的位置,分配的任务可以远程完成。测试人员的详细信息(如反应)将由自动化软件记录。

  本地化测试

  这样做是为了确保该应用程序是自定义的,并且按照其可用国家/地区的文化运行。关键重点在于应用程序的内容和用户界面。该应用程序经过测试过程,以检查是否根据目标区域设计了默认语言,日期和时间格式,货币等。



作者:小小兔爱吃肉   

来源:今日头条

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 功能上: 功能上:软件测试只要基本上的功能不出现问题,不影响交互就没太大的问题;游戏测试则不同出现一些及其细微的功能缺陷都会导致游戏的胜负结果。性能上 :性能上:软件测试讲究3-5-10的响应速度,3秒为良好优秀,5秒为一般,10秒为极差;但游戏在性能提供上讲究就会比较严格,一些细微的卡顿都会让游戏整体体验感大打折扣;安全上 :安全上:软件测试与游戏测试都会讲究到其的安全性上,软件测试讲究保护账号的安全性防止他人读取与使用;但是游戏测试不单单讲究账号更讲究一些道具与一些外挂的出现;兼容上: 兼容上:软件测试对比游戏测试上游戏测试的兼容性要求更高,游戏测试不单单要求设备的数量...
            0 0 1305
            分享
          •        测试过程在瀑布式开发中作为开发流程中的一个环节,只能在实现软件基础后开始运行,这种模式很大程度上导致了人力资源的浪费。而在敏捷开发模式中,为了解决人力资源浪费的问题,团队的开发过程需要践行敏捷,同样,测试阶段也要践行敏捷。       测试过程有没有必要性?       测试人员如同食品生产的质检员,能够依据交付成果检验产品的完成标准,并对产品判定“合格”与否。也就是说,测试人员需要测试产品的各功能点,对出现BUG的部分进行汇总分析,最终提交到开发人员手上。&n...
            0 0 2087
            分享
          • 一、unittest工作原理unittest最核心的四部分是:TestCase,TestSuite,TestRunner,TestFixtureTestCase:用户自定义的测试case的基类,调用run()方法,会依次调用setUp方法、执行用例的方法、tearDown方法。TestSuite:测试用例集合,可以通过addTest()方法手动增加Test Case,也可以通过TestLoader自动添加Test Case,TestLoader在添加用例时,会没有顺序。TestRunner:运行测试用例的驱动类,可以执行TestCase,也可以执行TestSuite,执行后TestCase和T...
            0 0 2135
            分享
          • 无论是什么类型的系统,都可以从测试类型角度来考虑测试。1.系统测试回顾测试阶段:1、单元测试,测试函数/方法,需要知道函数内部的逻辑设计,一般采用的是白盒测试方法。2、集成测试,测试接口,需要知道接口的规格,一般采用的是灰盒测试方法。3、系统测试,测试整个软件,需要知道软件的整体特性,一般采用的是黑盒测试方法。4、验收测试,测试整个软件软件质量模型:1、功能性,对应功能测试2、效率,对应性能测试3、易用性,对应易用性测试4、可靠性,对应可靠性测试5、可移植性,对应兼容性测试针对系统可以有不同的测试类型,一般可以粗分为功能测试和非功能测试。将来工作中主要接触的功能测试、性能测试、兼容性测试等。针...
            0 1 2296
            分享
          • UUID(Universally Unique Identifier,通用唯一标识符)是一种用于标识信息的128位标识符。Java开发人员倾向于使用 java.util.UUID#randomUUID API来生成UUID编号(类似4c88314f-14ca-4652-8567-4471a0ef917c)。UUID通常用于标识数据记录、会话、文件、对象等,以确保它们在不同上下文中的唯一性。注意,UUID是一种全局唯一性标识符,不保证在不同时间生成的UUID之间是有序的或可比较的,因此不应该依赖于UUID的大小或顺序。在某些情况下,使用这个API可能对应用程序的可用性产生负面影响。下面,我们将通...
            0 0 1070
            分享
      • 51testing软件测试圈微信