什么是测试?测试测什么?

news2024/9/22 22:40:43

笔者是软件测试方向的硕士研究生。作为应届生拿下了20余个软件测试、测试开发的offer。

《校招生如何准备测试》系列会将我的测试理论体系与大家分享、探讨和学习。本期主要串联一下什么是测试、软件测试测什么(测试类型)

Q:什么是软件测试?

下面是大模型、搜索引擎各自定义的软件测试概念:

Chat-gpt(3.5):软件测试是指通过运行软件系统或应用程序,以验证其是否符合设计要求、功能规格和用户需求的过程。软件测试旨在发现软件中的错误和缺陷,并确保软件的质量、可靠性和稳定性。这包括对软件的各个方面进行检查,如功能测试、性能测试、安全性测试、兼容性测试等。软件测试是软件开发生命周期中至关重要的一部分,可以帮助提高软件质量,并最大程度地减少软件上线后出现的问题和风险。

百度百科:软件测试(英语:Software Testing),是使用人工操作(手动测试)或者软件自动运行的方式(自动化测试)来检验软件是否满足用户需求的过程。

总结一下,测试是发现bug的行为、是对需求的验证,也是保障质量的活动,这些定义比较宽泛,但也概括了大家对于测试的理解。接下来,我们换个视角,看看相关研究关于测试的定义,下面选取了具有代表性的几个定义加以分析:

在软件测试的经典著作《软件测试艺术》一书中认为:“测试是为发现错误而运行一个程序或者系统的过程。

在《软件测试完全指南》一书中指出:“测试是以评价一个程序或者系统的属性为目标的任何一种活动。测试是对软件质量的度量。”

显然,以上定义从认为软件测试发生在软件开发周期的末期,其主要目的是发现错误变化为软件测试是对软件质量的度量。这是认知上的一种变化,也为软件测试的发展提供了新的方向。测试不只影响软件的编程和运行,同时能够影响软件技术任务书和软件设计,而且在项目开始时需要进行相应的测试工作。在这一时期,各种软件测试技术以及软件质量保证体系应运而生;软件测试流程被细化分为各个阶段,并且相应的测试技术为各个阶段的软件测试提供保障。

既然测试的目的是为了保证软件质量。那我们就有必要好好了解一下软件质量的相关知识。因为测试是为了保障质量,那软件质量的不同特性就需要被测试都覆盖到。

Q:什么是质量模型?都有哪些质量模型?

这个问题再次简述一下,目前主流的软件质量模型主要分为两类,层次模型和关系模型,在这里我们主要介绍层次模型(图1),比较著名的层次模型包括 McCall模型、Boehm模型和ISO9126质量模型。我国GB25000对以上模型做了定制化,

根据GB/T 25000.10—2016对质量模型的定义:“定义的特征集以及它们之间的关系集,为规约质量需求以及评价质量提供了一个框架。”其中GB25000规定了8个质量特性(感兴趣的可以看一下GB25000)。

图1质量层次模型

Q:软件测试测什么?

从GB25000质量模型的角度看:

软件质量特性包括:功能、性能、兼容性、易用性、可靠性、信息安全性、维护性、可移植性等8大质量特性,同时也对应着测试的考虑方面,也就是我们常说的功能测试、性能测试、可靠性测试、信息安全测试等。

如图:

图2 GB25000质量模型

将以上质量特性展开,具体可以包括以下几个方面

功能性:测试功能实现和预期结果是否一致

性能效率:考虑系统的时间、容量、资源利用率等方面

兼容性:共存性(与哪些软件不能共存?)、互操作性(比如文件的上传与回收)

易用性:可辨识性、易学性、易操作性、用户界面舒适性等

可靠性:容错性(考虑有故障的情况、也就是异常输入的情况)

信息安全性:保密性(确保授权后才能访问相关内容)

可维护性:模块化(高内聚、低耦合等)、易分析、易修改

可移植性:适应性、易安装、易替换

当然会有人质疑,接口测试呢?在笔者看来接口测试也是功能测试的一种,只是接口可以直接去测试后端代码,能更早、更充分地发现后端代码存在的质量问题

下面是本系列的文章目录:

本期小tip

欢迎大家加入我们的社区一块学习、交流,此外我们也提供短期的面试辅导,让您在短期内具备应付大多数面试的测试理论水平。

好了,以上就是本文的全部内容,如有问题可留言讨论。

我们正在组建测试开发方向的求职交流社区,如果您对软件质量管理方面感兴趣,可以在QALog公众号-聊天页-菜单-交流群,加入了解。

欢迎点赞、评论、收藏,it's important for us.

Searching for QALog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1464158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华清远见嵌入式学习——驱动开发——DAY8

作业要求&#xff1a; 1.使用GPIO子系统编写LED灯驱动&#xff0c;应用程序测试 2.注册三个按键的中断&#xff0c;只需要写内核代码 需要发布到CSDN 作业答案&#xff1a; GPIO子系统&#xff1a; 代码效果&#xff1a; 应用程序&#xff1a; #include<stdlib.h> …

【MySQL】学习连接查询和案例演示

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-vycqHoIbdg9sSKEo {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

收单外包机构备案2023年回顾和2024年展望

孟凡富 本文原标题为聚合支付深度复盘与展望&#xff0c;首发于《支付百科》公众号&#xff01; 收单外包服务机构在我国支付收单市场中占据着举足轻重的地位&#xff0c;其规模在政策引导和市场需求驱动下不断扩大。同时&#xff0c;随着行业自律管理体系的持续发展和完善&a…

Debezium发布历史139

原文地址&#xff1a; https://debezium.io/blog/2023/02/04/ddd-aggregates-via-cdc-cqrs-pipeline-using-kafka-and-debezium/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. DDD Aggregates via CDC-CQRS Pi…

大数据揭秘:Hadoop短视频流量分析实战

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

Mybatis速成(二)

文章目录 1. Mybatis基础操作1.1 需求1.2 准备1.3 删除1.3.1 功能实现1.3.2 日志输入1.3.3 预编译SQL1.3.3.1 介绍1.3.3.2 SQL注入1.3.3.3 参数占位符 1.4 新增1.4.1 基本新增1.4.2 主键返回 1.5 更新1.6 查询1.6.1 根据ID查询1.6.2 数据封装1.6.3 条件查询1.6.4 参数名说明 2.…

相机图像质量研究(25)常见问题总结:CMOS期间对成像的影响--过曝、欠曝

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

HTTP REST 方式调用WebService接口(wsdl)

一、WebService接口正常使用SOAP协议调用&#xff0c;测试时常采用SoapUI软件调用&#xff0c;具体如下&#xff1a; 二、由于目前主流web服务逐渐转换为RESTful的形式&#xff0c;且SOAP协议的实现也是基于HTTP协议&#xff0c;故存在通过HTTP调用WebService接口的可能 2.1 …

第一个Qt程序中的秘密

创建第一个程序 首先我们打开Qt Creator 打开文件->New Projects... 菜单&#xff0c;创建我们的第一个Qt项目 选择 Qt Widgets Application&#xff0c;点击选择...按钮 之后&#xff0c;输入项目名称QtLearning&#xff0c;并选择创建路径&#xff0c; 在build system中选…

ClickHouse--11--ClickHouse API操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Java 读写 ClickHouse API1.1 首先需要加入 maven 依赖1.2 Java 读取 ClickHouse 集群表数据JDBC--01--简介 ClickHouse java代码 1.3 Java 向 ClickHouse 表中写…

1分钟带你了解Python数据类型

1.Python 3 主要有6种标准数据类型 Number&#xff08;数字&#xff09; String&#xff08;字符串&#xff09; List&#xff08;列表&#xff09; Tuple&#xff08;元组&#xff09; Set&#xff08;集合&#xff09; Dictionary&#xff08;字典&#xff09; 2.Numb…

不要浪费

解法&#xff1a; 记录一下tle的代码 #include <iostream> #include <vector> #include <algorithm> using namespace std; #define endl \n bool check(vector<int>& a, int l,int k) {int sum 0;for (int i 0; i < a.size() && l…

【Android 高德地图POI定位地址搜索】

先上演示&#xff1a; 高德地图的key申请这里就不讲了&#xff0c;比较简单&#xff0c;网上有很多资料&#xff0c;或者前往官网查看&#xff1a;官方文档 依赖引入 项目使用了如下依赖&#xff1a; //高德地图implementation com.amap.api:3dmap:latest.integration//地图…

alibabacloud学习笔记06(小滴课堂)

讲Sentinel流量控制详细操作 基于并发线程进行限流配置实操 在浏览器打开快速刷新会报错 基于并发线程进行限流配置实操 讲解 微服务高可用利器Sentinel熔断降级规则 讲解服务调用常见的熔断状态和恢复 讲解服务调用熔断例子 我们写一个带异常的接口&#xff1a;

centos7部署nfs+keepalived+drbd

一、项目需求描述 现在使用的架构是nfskeepalivedrsyncsersync&#xff0c;目前这套架构存在主从nfs节点数据同步不一致问题&#xff0c;大概会有 120s左右的数据延长同步时间&#xff0c;需要提供优化的自动化方案。 二、现有方案缺点 1、切换不能保证主从节点数据一致。 2、…

C++——基础语法(1)

前言 一路磕磕绊绊&#xff0c;也算是走到了C的大门下。C从名字上就可以看出是C语言的“plusplus版本”&#xff0c;C在兼容C语言的基础上又加入了许多方便又高深的特性与机制&#xff0c;便于我们更容易处理C语言中的棘手问题。不得不提的一点是C为我们打开了面向对象思想的大…

【ACM出版】第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)

第五届计算机信息和大数据应用国际学术会议&#xff08;CIBDA 2024&#xff09; 2024 5th International Conference on Computer Information and Big Data Applications 重要信息 大会官网&#xff1a;www.ic-cibda.org 大会时间&#xff1a;2024年3月22-24日 大会地点&#…

Java中哪些很容易出现的坑

文章目录 1空指针2小数的计算3包装类型4Java8 Stream5日期格式化 先来一个简单一点&#xff0c;就从空指针开始吧 1空指针 //多级调用空指针userService.getUser("张三").getUserInfo().getUserName(); //例如getUser("张三")、getUserInfo&#xff08;&a…

基于SpringBoot的景区旅游管理系统

项目介绍 本期给大家介绍一个 景区旅游管理 系统.。主要模块有首页&#xff0c;旅游路线&#xff0c;旅行攻略&#xff0c;在线预定。管理员可以登录管理后台对用户进行管理&#xff0c;可以添加酒店&#xff0c;景区&#xff0c;攻略&#xff0c;路线等信息。整体完成度比较高…

【Java面试系列】JDK 1.8 新特性之 Stream API

目录 一、Stream 简介二、Stream 特点&#xff1a;Stream 注意点&#xff1a;1、什么是聚合操作2、Stream 流1、什么是流2、流的构成3、stream 流的两种操作4、惰性求值和及早求值方法5、Stream 流的并行 三、Stream操作的三个步骤1、创建流第一种&#xff1a;通过集合第二种&a…