我和ChatGPT pair 整理的测试类型清单

这篇具有很好参考价值的文章主要介绍了我和ChatGPT pair 整理的测试类型清单。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文首发于「BY林子」,转载请参考版权声明。文章来源地址https://www.toymoban.com/news/detail-437932.html


不管是专业测试人员还是软件行业其他角色,几乎很少有人能分清楚各种软件测试类型,比如最近看到有人说:

“功能测试等同于手动测试”
“功能测试也叫黑盒测试或者数据驱动测试”
……

的确,测试类型的概念没有标准化的定义,而且在不同的语境下还会有不同的含义,因此,大家都混淆各种概念也是很正常的。但是,尽量搞清楚这些类型,对于我们更好地理解和实践软件测试还是很有帮助的。

于是,通过我对ChatGPT进行提问,对它回答不清晰或者不准确的内容通过进一步提问澄清,最终我和ChatGPT pair 整理了这份软件测试类型清单。

01 按照测试验证的内容分类

根据测试验证的内容是系统的功能需求,还是非功能需求,可以分为功能测试和非功能测试,而非功能测试还可以细分为不同的测试类型。

1.1 按测试内容分类的测试类型

1. 功能测试:
功能测试主要验证软件系统的功能是否符合用户需求和规格说明书的要求。

2. 性能测试:
性能测试主要用于测试软件系统的性能,包括响应时间、吞吐量、负载能力等方面。通过这种测试类型,可以找出系统的性能瓶颈,以及在不同负载条件下的表现。

3. 可靠性测试:
可靠性测试主要用于测试软件系统的稳定性和可靠性,通常会通过模拟各种异常情况来测试系统的鲁棒性,以及对异常情况的处理能力。

4. 兼容性测试:
兼容性测试主要用于测试软件系统在不同硬件和软件环境下的兼容性,通常会测试系统在不同操作系统、浏览器、设备和网络环境下的表现,以确保系统能够在各种环境下正常工作。

5. 安全测试:
安全测试通常会测试系统的漏洞、安全性能、访问控制等方面,以确保系统能够抵御各种安全攻击和威胁。

6. 可用性测试:
可用性测试主要用于测试软件系统的易用性和用户体验。通常会测试系统的界面、操作流程、反应速度等方面,以确保系统能够提供用户友好的使用体验,并满足用户的需求。

7. 容量测试:
容量测试主要用于测试系统在高负载情况下的容量和扩展性能,可以确定系统能够承受的最大负载,并确定系统需要进行哪些优化和调整,以达到满足业务需求的性能要求。

8. 可维护性测试:
可维护性测试主要用于测试软件系统的可维护性和可扩展性,可以确定系统的易维护性,以及系统在未来的扩展和修改方面的可行性和成本。

9. 可移植性测试:
可移植性测试主要用于测试软件系统在不同平台和环境下的可移植性和兼容性,可以确定系统能够在不同的操作系统、硬件平台和开发工具中正确地运行和展现。

10. 国际化测试:
国际化测试主要用于测试软件系统在不同语言和文化环境下的本地化和国际化能力,可以确定系统是否能够正确地处理不同的语言和字符集,以及在不同地区和文化背景下的正确表现。

11. 本地化测试:
本地化测试主要测试软件在特定的语言、文化和地区设置下的功能和表现,以确保软件在该特定地区的用户能够正常使用,并且能够满足该地区的语言、文化和习惯等方面的需求。本地化测试通常需要对软件进行翻译、本地化调整、格式调整等处理。

12. 易用性测试:
易用性测试主要用于测试软件系统的易用性和用户体验,可以确定系统的用户友好性,以及系统是否能够在不同的用户群体中满足用户的需求和期望。

1.2 易混淆测试类型

1. 可用性测试与易用性测试:

可用性测试和易用性测试是相关但不同的测试类型。虽然它们都关注软件系统的用户体验,但它们的重点和方法不同。

可用性测试主要关注系统在各种情况下是否可用。这包括测试系统的可靠性、可访问性、易学性、效率和容错性等方面。可用性测试通常通过场景测试、用户测试和技术测试等方法来评估系统的可用性。

而易用性测试主要关注系统的用户友好性和易学性,以及用户的满意度和使用体验。易用性测试通常通过用户研究、人机交互测试和用户调查等方法来评估系统的易用性。

2. 可移植性测试与兼容性测试:

可移植性测试是测试软件在不同平台和环境下的可移植性和可用性,主要关注的是软件的可移植性,即能否在不同平台和环境下正常运行和使用。而兼容性测试是测试软件在不同硬件和软件环境下的兼容性,主要关注的是软件的兼容性,即能否在不同的操作系统、浏览器、设备和网络环境下正常工作。

可以将两者视为相互补充的测试类型,因为软件的可移植性和兼容性都是非常重要的质量属性。虽然它们有一些相似之处,但是在测试的具体实现上,可移植性测试通常更注重跨平台的测试,而兼容性测试则更注重跨环境的测试。

02 按测试粒度分类

2.1 按测试粒度分类的测试类型

单元测试: 测试软件的最小单元——代码中的单个函数或方法,以确保其行为符合预期,通常在开发阶段由开发人员自行编写和运行。

集成测试: 测试多个模块组合成的集成软件系统,以确保模块之间的接口和交互符合预期。集成测试可以分为顶部向下和底部向上两种方式。

系统测试: 测试整个软件系统,包括所有集成的模块和组件,以确保软件的功能、性能、可靠性、兼容性、安全性等方面符合用户需求和规格说明书的要求。系统测试通常由专门的测试人员进行。

2.2 ChatGPT的原分类

ChatGPT是将测试类型按照不同的测试阶段分为:单元测试、集成测试、系统测试和验收测试,但现在测试的阶段已经不是很明显,各种测试可能并行,我不太喜欢按阶段来分,于是启发ChatGPT改成按照测试粒度分为单元测试、集成测试和系统测试。

而验收测试则跟冒烟测试和回归测试放到了一个维度,根据测试目的不同来划分。

2.3 易混淆测试类型

1. 系统测试与系统级集成测试:

系统测试主要用于测试整个软件系统是否符合需求和规格说明书,测试人员会对整个软件系统进行测试,包括系统的功能、性能、可靠性、兼容性和安全性等方面的测试,以验证软件系统是否符合需求和规格说明书。

而系统级集成测试是集成测试的一种,它主要用于测试不同子系统之间的集成和协作能力,以及集成后系统的功能和性能等方面是否符合需求。测试人员会针对整个系统的集成进行测试,主要是验证不同子系统之间的接口和交互是否正确,并且系统能够按照预期的方式运行。

因此,系统测试和系统级集成测试都是针对整个软件系统进行测试的,但它们的测试重点和测试目的是不同的。系统测试主要关注整个软件系统是否符合需求和规格说明书,而系统级集成测试主要关注不同子系统之间的集成和协作能力是否符合需求。

2. 系统测试与端到端测试:

系统测试和端到端测试都是按照测试粒度的不同维度来分类的,但是涵盖的范围是有些不同的。

系统测试通常是从整体的角度来测试系统的可靠性、稳定性、性能等方面的质量属性,常常会涉及多个模块和组件的集成测试,例如在测试一个大型系统时,系统测试可能会包含多个模块的集成测试,以及整个系统的端到端测试。

而端到端测试则更加关注整个系统在用户场景下的完整性,即从用户使用的角度出发,测试系统是否能够正确地完成预期的业务流程和交互功能,涵盖的测试范围通常会比系统测试更广泛,包括前端、后端、数据库、接口等多个方面。端到端测试通常也被称为业务流程测试或场景测试。

因此,可以认为端到端测试是系统测试中的一个子集,它更加注重系统在用户场景下的完整性和正确性。

03 按照对系统内部的了解程度分类

ChatGPT给的分类维度是测试方法,个人觉得不是特别合适,进一步澄清为:是按照测试人员在测试过程中了解系统的内部工作原理和结构的程度来划分的。

黑盒测试: 测试人员不了解系统内部的实现细节,只关注系统的输入和输出,根据系统规格说明或者其他文档编写测试用例,验证系统是否符合需求和规格。这种测试方法模拟了系统用户的行为,通常关注的是系统的功能性和非功能性需求。

白盒测试: 测试人员了解系统的内部工作原理和结构,根据系统设计和代码逻辑编写测试用例,验证系统的正确性和可靠性。这种测试方法侧重于测试代码实现的正确性和系统内部结构的合理性。

灰盒测试: 测试人员了解部分系统的内部工作原理和结构,但是不完全了解系统的全部实现细节。这种测试方法介于黑盒测试和白盒测试之间,既关注系统的功能和需求,也关注代码实现的正确性和内部结构的合理性。测试人员通常会结合系统规格说明和代码实现来编写测试用例。

注:这里的测试人员应该确切地说是开展测试的人员。

04 按照测试目的分类

冒烟测试: 也称为构建验证测试,用于验证软件系统的主要功能是否正常工作。通常在每次代码构建完成后进行,以尽早发现潜在的问题,避免在后续测试中浪费时间和资源。

回归测试: 用于验证新的软件功能或修复缺陷后,之前的功能是否受到影响。通常在每次代码变更后进行,以确保之前的功能没有被破坏或产生副作用。

验收测试: 也称为用户验收测试,是在软件交付给用户之前进行的最后一轮测试,以确保软件系统符合用户需求和预期的质量标准。

05 按照测试对象分类

前端测试: 主要测试网站或应用程序的前端界面,包括页面布局、交互、响应速度、可访问性、可用性等方面。

后端测试: 主要测试应用程序的后端功能和逻辑,包括数据处理、算法、业务逻辑等方面。

数据库测试: 主要测试数据库的性能、可靠性、安全性等方面,包括对数据表结构、数据完整性、数据类型等方面的测试。

接口测试: 主要测试应用程序与其他系统或服务之间的接口,包括对输入参数、输出结果、数据格式、传输协议等方面的测试。

06 按照测试手段分类

手动测试
自动化测试

07 按照测试执行的方式分类

按照测试执行的方式,也就是是否要基于测试用例(脚本)来进行测试,可以分为脚本化测试和探索式测试。

脚本化测试: ChatGPT认为脚本化测试就是自动化测试,其实脚本化测试是指基于测试用例进行的测试,包括自动化和手动测试。

探索式测试: 不需要事先设计测试用例,它是一种软件测试风格,强调独立测试人员的个人自由和职责,为了持续优化其工作的价值,将测试相关学习、测试设计、测试执行和测试结果分析作为相互支持的活动,在整个项目过程中并行地执行。

08 写在最后

虽然我进行了少量修改和调整,还是有保留绝大部分原话,希望ChatGPT的车轱辘话没把大家绕晕。

不同的测试类型可以针对不同的需求和问题,有助于制定更加有效的测试计划和策略。同时,掌握不同的测试类型可以提高测试能力和测试思维,让测试工作更加专业和高效。

但是,也没必要过度去抠各种测试类型的细节,测试策略的制定需要系统性地考虑。全面了解各种测试类型的划分方式,基于测试象限和测试金字塔的指导,结合项目和系统特点来制定适合的策略。

最后,这是一份不全的测试类型清单,也不一定完全准确,欢迎大家留言补充。

09 推荐阅读

  • 《构建测试的体系化思维(基础篇)》
  • 《构建测试的体系化思维(进阶篇)》
  • 《构建测试的体系化思维(高级篇)》
  • 《一页纸测试策略》

本文首发于「BY林子」,转载请参考版权声明。

到了这里,关于我和ChatGPT pair 整理的测试类型清单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一个关于宏定义的问题,我和ChatGPT、NewBing、Google Bard、文心一言 居然全军覆没?

    今天在问答模块回答了一道问题,要睡觉的时候,又去看了一眼,发现回答错了。 问题描述 :下面的z的值是多少。 我当时的回答是:z=4+5=9 但是编译运行的结果是:8 又看了一眼,恍然大悟,我曾经在文章中写过: 宏的替换是简单的文本替换(请好好理解这句话),它在预

    2024年02月10日
    浏览(38)
  • 春眠不觉晓,Java数据类型知多少?基础牢不牢看完本文就有数了

    文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光吧,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! 我们知道Java是面向对象的静态型编程语言,

    2024年02月02日
    浏览(41)
  • 本文通过实例介绍了Redis的基础知识、数据类型、数据结构以及典型应用场景 值得一看!

    作者:禅与计算机程序设计艺术 2017年,Redis是基于MIT许可发布的一个开源的高性能键值数据库,其开发语言为C语言。它提供了多种数据类型(strings、hashes、lists、sets、sorted sets等),分布式支持(可横向扩展),内存存储,持久化功能,事务处理功能等。作为一种高性能的

    2024年02月06日
    浏览(71)
  • ChatGPT的前世今生,到如今AI领域的竞争格局,本文带你一路回看!

      73年前,“机器思维”的概念第一次被计算机科学之父艾伦·图灵(Alan Turing)提出,从此,通过图灵测试成为了人类在AI领域为之奋斗的里程碑目标。 73年后的今天,在AI历经了数十年的不断进化、迭代后,目前为止仍旧没有任何一款AI从真正意义上的通过图灵测试。 而Ch

    2024年02月04日
    浏览(37)
  • 解决uniapp手机端获取用户设备是否授权,进行授权提示,获取用户相机授权(Android 权限清单整理)

    最近在上架app时遇到了一些授权询问的问题,在这里简单记录一下,主要使用的是uniapp进行开发,在官网中有说明使用uni.authorize()进行授权请求,但是该方法不支持h5和app,所以采用plus.android.requestPermissions()方法进行授权判断操作,话不多说直接上代码 以下代码进行的

    2024年02月05日
    浏览(54)
  • 软件测试人员必备的60个测试工具清单!_软件测试配置清单

    7、Gatling 前两种是比较常用的 4.C/S自动化工具 1,qtp (录制回放和脚本编辑),用到的是vb语言 2,winrunner IBM产品类似qtp 3,autoit 在窗口定位上做到很不错 5.白盒测试工具 1,jtest java语言的单元测试框架 2,JUnit 验证java的工具 3,cppunit 跨平台的c++单元测试框架 4,gtest 跨平台的

    2024年04月28日
    浏览(55)
  • ChatGPT迎来史诗级iPhone时刻!IOS版ChatGPT首发体验!免费、响应快、新增语音识别

    OpenAI昨晚正式发布了ChatGPT的iOS版App, 官方版ChatGPT正式杀入移动手机端(各类山寨App恐将失业[dog])。   现在你已经可以在App Store中下载该应用了,这款App的名称为“OpenAI ChatGPT”。 我第一时间也下载体验了,让我们赶快来看看它的界面长啥样:    不过目前iOS版ChatGPT只在

    2024年02月05日
    浏览(92)
  • ChatGPT 插件清单(中文版)

    整理了一份插件清单,部分插件可能已下线,也可能不在列表中。除了这份清单外,还整理了一份:超级牛逼的学习指南 欢迎大家转发、收藏、点赞支持!谨防失联! 插件名称 功能 基本提示 高级提示 KeyMate.AI搜索 使用AI驱动的自定义搜索引擎查找网页 “搜索关于可再生能

    2024年02月06日
    浏览(56)
  • ChatGPT及各种AI网站集合清单!

    目录 一、GPT-4可用平台一览 1. Forefront 2. Ora 3. TDChat 4. Fastgpt 5. Cursor 6. POE 7. NewBing 二、GPT-3.5平台 1. aichat 2. BaiChat 3. Chat35 4.FreeGPT 5. writesonic 三、新增ChatGPT集合清单  细分领域 链接:[点击跳转] GPT-4:受限免费,3小时内5条消息,需要魔法 GPT-3.5:完全免费,需要魔法 链接:[点

    2024年02月05日
    浏览(63)
  • ⚡【C++要笑着学】(31) 映射类:map 类 | pair 类型 (value_type) | map 的插入和遍历 | map 的 operator[] | multimap 类

        C++ 表情包趣味教程 👉 《C++要笑着学》 💭 写在前面: 本章我们继续讲解 STL,讲解 STL 的 map 类。我们将详细介绍 map 类的基础概念,包括 pair 类型(value_type)的应用和插入元素的方法。随后,我们将深入研究 Map 的遍历方式以及统计元素出现次数的几种方式。最后我

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包