软件测试的几种方法

news2024/10/5 13:57:13

1、从是否关心内部结构来看

(1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。

(2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。

(3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。

2、从是否执行代码看

(1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

(2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。

3、从开发过程级别看

(1)单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。

(2)集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。

(3)系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

在这里插入图片描述

4、从执行过程是否需要人工干预来看

(1)手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输 入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。

(2)自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)

5、从测试实施组织看

(1)开发测试:开发人员进行的测试

(2)用户测试:用户方进行的测试

(3)第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性

6、从测试所处的环境看

(1)阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试

(2)贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告

7、其他测试类型

(1)回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。

(2)冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

(3)随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

讲透金融风控建模全流程(附 Python 代码)

信贷风控是数据挖掘算法最成功的应用之一,这在于金融信贷行业的数据量很充足,需求场景清晰及丰富。 信贷风控简单来说就是判断一个人借了钱后面(如下个月的还款日)会不会按期还钱。更专业来说,信贷风控是还款能力及还…

SQL 汇总统计及GROUP BY

SQL 汇总统计1、汇总统计2、GROUT BY3、如何对分组统计的结果进行过滤? GROUP BY HAVING4、如何对分组统计的结果进行排序?GROUP BY ORDER BY5、介绍SELECT语句中各个子句的书写顺序6、备注: 上方用到的表1、汇总统计 介绍几个聚集函数 有…

电脑误删Path环境变量后前端如何重新配置所需变量

需求背景 : 当时公司需要我们安装一款软件 , 按照操作文档需要配置一下 Path 环境变量 , 但当时的云桌面操作系统是 window7系统 , 当时配置时并不知道新的变量配置时需要在前面一个的后面加 “ ; ” 来间隔开来…

【目的:windows下VS2017/2022使用MSVC编译GLFW库】

目的:windows下VS2017/2022使用MSVC编译GLFW库 环境: 系统:Win10 环境:VS2017 64bit步骤: 1.下载GLFW源码 官网链接https://www.glfw.org/download.html, 下载glfw的源码,解压到本地&#x…

考研数据结构大题整合_组二(TJP组)

考研数据结构大题整合 目录考研数据结构大题整合二、TJP组TJP组一TJP组二TJP组三二、TJP组 TJP组一 四、画图/计算/证明/算法分析(30分) (1)证明题(8分) 如果一棵树有n1个度为1的结点,n2个度为…

(四)Vue之数据绑定

文章目录数据绑定单向数据绑定双向数据绑定Vue学习目录上一篇:(三)Vue之模板语法 数据绑定 Vue中有2种数据绑定的方式: 1.单向绑定:数据只能从data流向页面。2.双向绑定:数据不仅能从data流向页面&#…

著名书画家、中国书画院院士李适中

著名书画家、中国书画院院士李适中 李适中 著名书画家、中国书画院院士 版画艺术家 文物复制专家 中国文物学会会员单位创始人 文化部科技进步奖获得者 艺术简历 李适中,1943年生,安徽颍上人,著名书画家、中国书画院院士。李适中先生师从著名…

Vue3+nodejs全栈项目(资金管理系统)——前端篇

文章目录创建项目项目初始化使用element-plus设置Register和404组件搭建element注册表单验证表单和按钮加载动画和消息提醒路由守卫和token过期处理配置请求拦截和响应拦截解析token并存储到vuex中设计顶部导航设置首页和个人信息设置左侧导航栏展示资金管理页面添加按钮编辑和…

返回当前系统串口名称

主要针对当前的usb转串口进行了穷举。 方便判断串口对应哪个设备。 返回串口名称 类对象,(包含了参考网址,以及对其进行了修改,防止出现蓝牙端口) using System; using System.Collections.Generic; using System.L…

VMware-KVM安装

目录 VMware-KVM安装 一、kvm虚拟化平台 KVM 网络管理(以NAT网卡为例[ens33]) VMware-KVM安装 一台Centos7、一个winSCP上传文件工具; 搭建KVM平台 一、kvm虚拟化平台 1 cat /etc/hosts ##查看主机…

ecology修改Reisn的JDK目录

修改resin运行JDK: 用文本编辑器打开resin/bin/resin.sh文件,将JAVA_HOME改为要设置的JDK路径。

springboot(spring)整合redis(集群)、细节、底层配置讲解

文章目录一.springboot整合redis.1.引入依赖.2.添加配置.3.使用封装对象举例二.细节讲解出现问题,堆外内存溢出解决方案,切换客户端三.补充原理.一.springboot整合redis. 1.引入依赖. <dependency><groupId>org.springframework.boot</groupId><artifact…

Spring中过滤器(Filter)和拦截器(Interceptor)的区别和联系解析

在我们日常的开发中&#xff0c;我们经常会用到Filter和Interceptor。有时同一个功能。Filter可以做&#xff0c;Interceptor也可以做。有时就需要考虑使用哪一个比较好。这篇文章主要介绍一下&#xff0c;二者的区别和联系。希望给大家进行选择的时候&#xff0c;提供一些帮助…

DSP/BIOS的基本介绍

DSP/BIOS的基本介绍 DSP/BIOS是一个简易的实时嵌入式操作系统&#xff0c;主要面向实时调度与同步、主机/目标系统通信&#xff0c;以及实时监测等应用&#xff0c;具有实时操作系统的诸多功能&#xff0c;如任务的调度管理、任务间的同步和通信、内存管理、实时时钟管理、中断…

(十)再探反向传播和神经网络优化

文章目录1.背景介绍2.神经网络的模型3.神经网络中的参数更新初探3.1随机查找取最优3.2局部随机查找参数更新3.3 沿着梯度反方向更新4.链式法则与反向传播5.梯度方向的参数更新策略6.学习率退火6.1学习率衰减策略基础6.2 二阶优化方法6.3自适应学习率方法参考资料欢迎访问个人网…

Java基础之接口与抽象类区别

Java基础之接口与抽象类区别一、Java基础之接口与抽象类二、抽象类和最终类三、Java移位运算符四、局部变量为什么要初始化一、Java基础之接口与抽象类 一个子类只能继承一个抽象类, 但能实现多个接口抽象类可以有构造方法, 接口没有构造方法抽象类可以有普通成员变量, 接口没…

minikube helm 安装 jenkins

文章目录1. 准备条件2. 安装 helm3. 部署 jenkins3.1 创建 namespace jenkins3.2 创建存储卷 jenkins-volume3.3 创建 service account & RBAC3.4 定制 jenkins-values.yml3.5 安装 jenkins3.6 登陆 jenkins“Jenkins是一个著名的可扩展开源 CI/CD 工具&#xff0c;用于自动…

手写数字识别Mnist数据集和读取代码分享

数据集下载 链接&#xff1a; https://pan.baidu.com/s/1qpzrSFhmyrdGmbSScN_ZXg?pwdd1ws 提取码&#xff1a;d1ws 数据集读取 from pathlib import Path import requests ​ DATA_PATH Path("data") PATH DATA_PATH / "mnist" ​ PATH.mkdir(parent…

Android Navigation基本使用

目录1. Navigation概述2. Navigation组成3. 设置环境4. 使用方法4.1. 创建导航图4.1.1. 具体操作4.2. 向Activity添加NavHost4.2.1. 通过 XML 添加4.2.2. 使用布局编辑器添加4.3. 在导航图中创建目的地4.3.1. 具体操作4.4. 连接目的地4.4.1. 具体操作4.5. 目的地之间的导航4.5.…

认识3dmax 对象属性对话框

可以从右键或编辑菜单访问此对话框&#xff1b; 在此可以查看和编辑参数&#xff0c;以确定选定对象在视口和渲染过程中的行为&#xff1b; 包含3个面板&#xff1a;常规&#xff0c;高级照明&#xff0c;用户定义&#xff1b; 常规面板包含6个组&#xff1a;对象信息&#x…