软件测试的类型——一份不完整的指南

今天我们进行了一个小测验,列出知道的所有软件测试的类型。

小伙伴们奋笔疾书,写下了黑盒、白盒、性能、压力、兼容、比较、Beta、功能等等。

有写得多的,也有写得少的,等到大家相互检查、对照的时候,才发现还有这么多没有涉及到的软测类型。

软件测试的类型——一份不完整的指南

下面,M就把我们想到的都写出来。这些软测类型可能和你们了解的有名称上的不同,但是背后的概念是相同的,亲爱的读者们可以自己比较下。

UAT测试(验收测试)

测试软件是否被客户或企业接受,以确保和评估软件是否符合业务要求,并评估交付给客户或类似情况是否可接受。

Alpha测试

用户在接近正式环境下的测试,开发人员在用户旁记录错误情况和使用中的问题。

Beta测试

多个用户在实际使用环境下的测试,开发人员不在测试现场,用户通过发送报告的形式把发现的问题反馈给开发人员。

后端测试(有时是数据库测试)

检查服务器端或数据库是否有错误的软件测试类型。每当在前端应用程序中输入输入或数据时,它都会存储在数据库中,测试人员可以在其中通过运行查询、验证应用程序的数据库和 API 来轻松验证数据。后端测试旨在确保数据库中包含的数据及其结构满足项目的要求。

兼容性测试(向前兼容性测试、向后兼容性测试)

兼容性测试验证软件在不同环境中的行为和运行方式:例如,在不同配置的不同 Web 服务器、硬件和网络上。

黑盒测试

黑盒测试是一种软件测试方法,它仅检查应用程序的需求和功能。不考虑内部系统设计,仅测试“输出”。这种测试方法通常可以应用于软件测试的各个级别。

白盒测试(结构测试、透明盒测试、逻辑驱动测试或基于代码的测试)

白盒测试基于测试应用程序代码的内部逻辑——内部结构或工作——而不是它的功能。在白盒测试中,通过系统的内部视角用于设计测试用例。

边界值测试

边界值测试检查边界值处是否存在缺陷。每个范围都有一个上限和下限,因此如果测试需要从 1 到 500 的数字测试范围,则对 0、1、2、499、500 和 501 处的值执行边界值测试。

比较测试

比较测试是将应用程序(或其他)的优点和缺点与其以前的版本进行比较,或与市场上的类似产品进行比较。

组件测试

组件测试用于确定将多个功能连接在一起后是否存在任何缺陷或错误。通常在单元测试完成后进行 – 组件测试单独对每个单独的组件进行,不与其他组件集成。

端到端测试

端到端测试涉及在模拟实际使用的情况下测试完整的应用程序环境。这种类型的测试着眼于应用程序如何与数据库交互、使用网络通信以及在适当的情况下与其他硬件、应用程序或系统交互。

探索性测试

探索性测试通常是有目的的临时性测试,在测试设计和执行的同步过程中即时创建测试用例。探索性测试通常是非正式的,由测试团队执行以探索应用程序,寻找缺陷。由于其性质,建议测试人员在测试期间跟踪他们的活动。

功能测试

功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。功能测试类似于黑盒测试,因为它忽略内部流程,只关注系统的输出,看它是否满足要求。

GUI测试

GUI测试的目的是根据业务需求验证 GUI。这通常是通过各种测试用例来完成的。GUI 测试包括检查任何带有控件、输入字段、菜单、按钮、图标和所有栏(工具栏、菜单栏、对话框和窗口等)的屏幕。GUI测试包括按钮的大小和出现在屏幕上的输入字段屏幕,对齐所有文本、表格和表格中的内容。它还验证页面不会波动并且在悬停、选择项目等后保持对齐。

集成测试(组装测试或联合测试)

在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

安装/卸载测试

安装/卸载测试用于验证软件是否安装了所有必需的组件以及应用程序是否按预期运行。这非常重要,因为安装将是与最终用户的第一次用户交互安装和卸载测试是在不同硬件或软件环境下的不同操作系统上的完整、部分或升级安装/卸载过程中完成的。

性能测试

性能测试(或“压力”和“负载”测试)用于检查系统是否满足性能要求,并确定系统在特定工作负载下的响应能力和稳定性方面的表现。使用各种专业工具进行这项工作时,系统通常会过载。

压力测试

压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。压力测试可以被看作是负载测试的一种,即高负载下的负载测试,或者说压力测试采用负载测试技术。

负载测试

负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。

并发测试

指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。

变异测试

变异测试是一种在细节方面改进程序源代码的软件测试方法。这些所谓的变异,是基于良好定义的变异操作,这些操作或者是模拟典型应用错误(例如:使用错误的操作符或者变量名字),或者是强制产生有效地测试(例如使得每个表达式都等于0)。目的是帮助测试者发现有效地测试,或者定位测试数据的弱点,或者是在执行中很少(或从不)使用的代码的弱点。

回归测试

回归测试在修改任何模块或功能后测试整个应用程序的性能。回归测试涉及重新运行功能和非功能测试,以确保先前通过的软件在更改后仍能运行。

单元测试

单个软件组件/模块或“单元”的测试称为单元测试。这通常由程序员承担,而不是由软件测试人员本身承担,因为它需要对内部程序设计和代码有详细的了解。单元测试可能需要开发测试驱动程序模块或测试工具。目的是验证软件的每个单元是否按设计执行。

可用性测试

可用性测试通过真实用户测试应用程序/系统。研究人员观察用户在完成任务时检查应用程序流程。他们在使用软件等过程中遇到的任何问题或困惑都被记录在案。

看到这里的小伙伴是真的对软测感兴趣了哈~毕竟有些类型和软测好像关联性不强,但貌似也能搭上关系,多了解一些总是好的~

如果你有什么想要补充的,可以微信后台私信M!

我们下期见。

来源:龙测科技

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月6日
下一篇 2021年11月6日

相关推荐