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

  什么是功能测试?

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

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

  功能测试类型

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

  单元测试

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

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

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

  整合测试

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

  健全性测试

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

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

  烟雾测试

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

  回归测试

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

  系统测试

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

  Beta/用户接受度测试

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

  什么是非功能测试?

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

  非功能测试类型

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

  性能测试

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

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

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

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

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

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

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

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

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

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

  权限提升

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

  未经授权的数据访问

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

  URL操作

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

  拒绝服务

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

  可用性测试

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

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

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

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

  本地化测试

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



作者:小小兔爱吃肉   

来源:今日头条

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • app性能测试分类:响应内存cpuFPS (app使用的流畅度)GPU过度渲染耗电耗流(app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测试等,后续会持续更新… 流量测试同这些一起更新,这里就不在说明了 )App性能测试响应点:主要测试点:冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载)热启动:非首次启动app的时间间隔(只是启动时间,不包括页面加载)完全启动:从启动到首页完全加载出来的时间间隔有网启动:从发起跳转,到页面完全加载出来的时间间隔无网启动:从发起跳转,到页面完全加载出来的时间间隔(在项目中,主要测试关注点是冷启动,热启动)测试标准...
            0 0 849
            分享
          •   据不少网友反馈,今日爱奇艺App开始对投屏功能作出限制,之前黄金VIP会员支持最高4K清晰度投屏,现在只能选最低的480P清晰度,要想进行4K投屏必须购买白金VIP会员。  不少网友表示,480P清晰度太低,几乎无法观看。  IT之家从爱奇艺官网了解到,黄金VIP会员连续包年118元/年,电脑、手机、平板可用,黄金VIP会员连续包年198元/年,拥有黄金VIP会员的同时电视也可以使用,现在降低投屏的分辨率后,只能逼着用户选择白金VIP会员了。  值得一提的是,近期优酷更改了会员规则,一个账号仅限登录一台手机,优酷称此举是为保护用户账号安全,打击黑灰产,并且考虑到绝大多数用户的使用习惯,优酷...
            0 0 748
            分享
          •   Faker主要用来生成开发测试过程中的的模拟真实数据。JMeter主要用于测试,在测试的过程中造数据是一个很头疼的问题。今天笔者就来介绍一下如何将Faker和JMeter进行组合来实现。模拟数据创建,通过Faker创建的模拟数据更加真实。  1. 环境准备  ·JMeter, 版本:5.4.3  · javafaker,版本:1.0.2  下载javafaker的jar包,然后把jar包放到JMeter的lib目录中。  这里就已经准备好了。接下来就是启动JMeter服务。  Tips: 由于javafaker还有依赖snakeyaml,所以这个jar包也需要引入。  2. JM...
            0 0 1083
            分享
          •  引言与UI相比,接口一旦研发完成,通常变更或重构的频率和幅度相对较小。因此做接口自动化的性价比更高,通常运用于迭代版本上线前的回归测试中。手工做接口测试,测试数据和参数都可以由测试人员手动填写和更新。因此我们在考虑将接口用例实现自动化的时候,主要思路就是在单个接口请求的测试用例已经完成的前提下,我们如何解决以下问题:业务测试场景会调用不止一个接口,下一个接口的请求依赖于上一个接口的数据,需要解决接口依赖问题 token等鉴权数据有过期时间,多个接口用到该参数,需要解决一次修改,多处生效的问题 一个接口要用到多个测试数据做覆盖 批量测试下,需要知道某个接口返回的参数/数据是否符...
            13 11 1880
            分享
          • 一、什么是接口测试主要用于检测外部系统与系统之间内部各个子系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。接口可分为内部接口(开发人员)和外部接口(如组件接口和web服务器):系统与系统之间的调用;例如支付宝提供接口给淘宝调用,一个业务的修改可能会影响其他业务的使用,这是需要做接口测试;上层服务对下层服务的调用;例如Service层会调用DAO层的接口,而应用层会调用服务层提供的接口,比如注册用户时,会调用用户查询的服务,查询用户是否已经注册;我们所要做的接口测试,先了解基于哪一种的接口测试(不同类型测试方法不同),总之,我们只要把接口当成服...
            0 0 1025
            分享
      • 51testing软件测试圈微信