当前位置: 首页 > news >正文

软件测试之随机测试详解

在软件测试中除了根据测试用例和测试说明书进行功能测试外,还需要进行随机测试,随机测试是没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行测试用例的重要补充手段,是保证测试覆盖完整性的有效方式和过程。

随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试一起进行。

理论上,每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布的版本更要重视随机测试。随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。对于被测试的软件越熟悉,执行随机测试越容易。只有不断的积累测试经验,包括具体 的测试执行和对缺陷跟踪记录的分析,不断总结,才能提高。

客户端随机测试思想

随机测试是根据测试者的经验随机的选取功能点对软件进行有针对性的测试。 这种测试没有用例的指导,完全根据测试员自己的经验和相关知识来测试。

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

Python自动化测试开发教程天花板,27天速成,从入门到就业,比你盲目自学好多了,允许白嫖!

一、作随机测试之前的一些前提条件

1)熟悉产品的各项功能和产品的逻辑结果

2)熟悉测试用例

3)完整的执行过测试用例

4)熟悉在用例测试阶段所发现的缺陷和缺陷的分布情况

5)测试人员具备一定的测试经验,对缺陷有敏锐的洞察力。

二、随机测试功能点的选取

1)根据用例测试阶段对产品的了解选取缺陷比较密集的功能模块。

在发现很多缺陷的地方,一定可以发现更多的缺陷。我们在做随机测试的时候,首先会先统计一下,之前哪些模块被发现的缺陷最多,那么接下来一定要重点的在那个模块里发掘一下缺陷。

2)根据发现的一次性缺陷或重现率比较低的缺陷涉及的功能点选取随即测试功能点。

缺陷产生的过程一定可以重现,重现率比较低的缺陷是隐藏比较深的缺陷,这些缺陷可能正是导致软件无法上线的原因。因此重现这些隐藏缺陷是十分重要的工作。

3)与开发人员沟通了解软件的缺陷。

首先可以了解到程序本身哪些地方最复杂,最薄弱,这些地方最容易发生什么错误,其次可以了解程序员最容易在哪些地方犯哪些错误。前者通过对程序的熟悉可以比较好的掌握,后者可以通过对缺陷的分析得到。

4)根据经验选取功能点。积累了一定的测试经验以后,有时测试就是一种感觉。

5)随机选取功能点。经过上述四种情况对功能点进行筛选后,剩下的功能点可以随机的选取。随机选取功能点只是在随机测试中选取功能点的一个方面,更多的时候还是要有针对行的选取功能点。

三、功能点的随机测试

1)以测试用例为基础

首先要明确随机测试是对功能点进行随机测试而不是随机测试功能点。因此每一个功能点都是测试对象,依照测试用例可以有效地覆盖所有的功能点。

2)考虑操作前的状态

3)操作过程中的状态改变

4)考虑到其他功能对该功能点的影响

5)考虑该功能点直接对其他功能点的影响

6)考虑该功能点间接对其他功能点的影响

7)操作步骤地追踪

在测试中常常会出现这样的情况,进行一系列复杂的操作之后缺陷突然呈现在眼前。这个时候如果能清 晰地描述出具体的操作过程对于缺陷的重现是十分有利的,这也对最后的缺陷定位和简化缺陷的重现步骤提供了保障。交互性的模块追踪步骤主要考虑自己操作步骤 地最终和对方操作步骤地追踪。有时缺陷的出现并不是完全是由自己的操作而发生的,别人的操作也有可能导致缺陷,只有综合自己和对方的操作才能是完整的过程 追踪。

8)简化缺陷重现步骤

寻找缺陷要准确定位,开发和测试是一个整体,时间是等量的,时间不在你身上浪费,就是在他身上浪费。如果测试人员每次发现的缺陷 描述不清楚或者重现缺陷的过程非常复杂,并且多个问题潜在的错误原因是一个,虽然操作可能稍微有些变化。这样开发人员在重现缺陷 的时候他要调试跟踪判断,很花费时间,而且效率低。如果测试人员发现缺陷 的时候多尝试可以更加准确的定位缺陷 步骤和原因,给开发人员最精确的步骤和准确的描述,这样整个团队才能高效。简化缺陷重现的步骤主要体现在减少涉及的功能点的操作上。

9)测试经验的积累

经验是来之不易的东西,我们需要在日常测试中不断的积少成多,并且多和同行交换测试心得和测试经验丰富自己的测试手段和测试角度。经验在随机测试中可以帮助我们少走弯路,让我们的目标更加明确,更容易发现缺陷.

10)测试心态

做测试最重要的是心态,这里说的心态一方面指的是测试人员对程序的看法。作为测试人员,在拿到测 试程序时,一定要保持悲观的心态,认定这个程序有很多缺陷和错误,甚至认定这个程序很垃圾,想像微软出来的程序都有很多缺陷,那我们的程序也一定需要我们 去狠狠的去发掘缺陷。不能因为这个模块已经被测试过好多遍,或者这个这个模块非常小非常简单就忽略了对这个模块的测试。另一方面,要有足够的耐心。首先, 在作随机测试之前比较明显的缺陷和操作步骤比较简单的缺陷已经基本上被找到,随即测试主要是挖掘深层次的缺陷。相对用例测试操作步骤相对复杂,因此随机测 试可能会出现长时间找不到缺陷的情况,如果心浮气躁可能放过对该模块的测试,这时需要耐心的测试才能找到缺陷。

11)与程序员进行沟通

在和程序员沟通的过程中,你可以知道很多你前所未知的东西例如功能的实现过程,功能模块间的内在联系等,你可以通过验证这些东西,来发现未知的缺陷,并且可以激发你运用更多的测试手段来测试。

12)一反三

首先通过以前发现的缺陷反映出可能出现的一类缺陷,通过缺陷重现的步骤反映出一类操作可能会导致缺陷

13)突破测试思想上的束缚

测人人员的测试手段和测试角度往往是从别人那里得到的,因此测试人员常常受到传统测试思想的束缚。挖掘更深层次的缺陷需要测试思想有所创新和升华,这一点比较难做到,需要更多的对测试方式和测试角度进行独立思考。

写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关文章:

软件测试之随机测试详解

在软件测试中除了根据测试用例和测试说明书进行功能测试外,还需要进行随机测试,随机测试是没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行测试用例的重要…...

【广州华锐互动】3D全景虚拟旅游在文旅行业的应用场景

随着科技的不断发展,3D全景虚拟旅游正在成为一种新兴的旅游体验方式,它可以帮助旅游者更加深入地了解旅游信息,提升旅游体验。下面我们将详细介绍3D全景虚拟旅游可以应用于哪些场景。 一、旅游规划 3D全景虚拟旅游可以帮助旅游者更加直观地进…...

多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉 计算机竞赛

文章目录 0 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习多目标跟踪 …...

深入了解Jedis:Java操作Redis的常见类型数据存储

目录 前言 一、Jedis介绍 1.Jedis在各方面的功能 2.特点 二、Java连接Redis 1.导入pom依赖 2.建立连接 三、Java操作Redis的常见类型数据存储 1.字符串 2.哈希表 3.列表 4.集合 5.有序集合 四、Redis的实际应用场景实例 1.会议信息实体 2.自定义注解 3.创建切面…...

angular+ionic+npm项目运行

angularionicnpm项目运行 错误记录(1)Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-72_binding.node(2)The npm warning "A requires a peer of B but none is installe…...

【数据库】数据库模式 Schema

数据库模式 Schema 1.MySQL2.PostgreSQL3.SQL Server4.Oracle5.SQLite 在数据库的术语中,模式(schema)是一个逻辑概念,用于组织数据库中的对象。模式中的对象通常包括 表、索引、数据类型、序列、视图、存储过程、主键、外键 等等…...

RPC 原理详解

文章目录 什么是 RPCRPC 基本原理RPC核心功能服务寻址数据编解码网络传输一次RPC的调用过程 实践基于HTTP协议的RPC基于TCP协议的RPC 什么是 RPC RPC(Remote Procedure Call),即远程过程调用,它允许像调用本地服务一样调用远程服…...

新版Helix QAC 100%覆盖MISRA C++:2023

Helix QAC 2023.3预期将100%覆盖在2023年第四季度发布的新的MISRA C:2023规则。 此外,该版本支持更多的C20语言特性,并改进了Perforce Validate平台和Helix QAC与Validate的集成,以及其他质量改进。 编码标准覆盖率(MISRA C:202…...

maven 项目添加 git-hook 脚本,约束提交内容格式

git 提交代码&#xff0c;推送代码&#xff0c;可以通过在 .git/hooks 目录中的 bash 脚本来做一定的验证工作。 本例使用插件 maven-antrun-plugin 自动输出脚本至 .git/hooks 目录中&#xff0c;在 pom.xml 中的使用示例如下&#xff1a; <plugin><groupId>org.…...

18、Flink的SQL 支持的操作和语法

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

泛微OA_lang2sql 任意文件上传漏洞复现

简介 泛微OA E-mobile系统 lang2sql接口存在任意文件上传漏洞&#xff0c;由于后端源码中没有对文件没有校验&#xff0c;导致任意文件上传。攻击者可利用该参数构造恶意数据包进行上传漏洞攻击。 漏洞复现 FOFA语法&#xff1a; title"移动管理平台-企业管理" 页…...

Rust编程基础核心之所有权(上)

1.什么是所有权? Rust 的核心功能&#xff08;之一&#xff09;是 所有权&#xff08;ownership&#xff09;。虽然该功能很容易解释&#xff0c;但它对语言的其他部分有着深刻的影响。 所有程序都必须管理其运行时使用计算机内存的方式。一些语言中具有垃圾回收机制&#x…...

优化改进YOLOv5算法之添加DCNv3模块,有效提升目标检测效果

目录 前言 1 DCNv3原理 1.1 DCNv2 1.2 DCNv3 1.3 模型架构 2 YOLOv5算法中加入DCNv3模块...

VSCode 连接不上 debian 的问题

之前一台笔记本上安装了 debian12&#xff0c;当时用 vscode 是可以连接上的&#xff0c;但今天连接突然就失败了&#xff0c;失败信息是这样的&#xff1a; 查看失败信息 因为 debian 是自动获取 ip 地址的&#xff0c;以前能连接上时&#xff0c;ip 地址是 104&#xff0c;然…...

【ElasticSearch系列-06】Es集群架构的搭建以及集群的核心概念

ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询Quer…...

软考高级系统架构设计师系列案例考点专题六:面向服务架构设计

软考高级系统架构设计师系列案例考点专题六:面向服务架构设计 一、面向服务架构设计内容大纲二、SOA概述和发展三、SOA和微服务的区别四、SOA的参考架构五、SOA主要协议和规范六、SOA设计标准和原则七、SOA设计模式八、SOA构建和实施一、面向服务架构设计内容大纲 SOA概述和发…...

【入门Flink】- 07Flink DataStream API【万字篇】

DataStream API 是 Flink 的核心层 API。一个 Flink 程序&#xff0c;其实就是对DataStream的各种转换。 代码基本上都由以下几部分构成&#xff1a; 执行环境&#xff08;Execution Environment&#xff09; 1&#xff09;创建执行环境StreamExecutionEnvironment StreamExe…...

AI:55-基于深度学习的人流量检测

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...

node版本管理工具nvm

node版本管理工具nvm 要在本地拥有多个 Node.js 版本&#xff0c;并根据不同的环境切换不同的 Node.js 版本&#xff0c;你可以使用工具如 nvm&#xff08;Node Version Manager&#xff09;来管理和切换 Node.js 版本。 以下是关于如何使用这两个工具的简要说明&#xff1a;…...

stable-diffusion-webui安装Wav2Lip

常见错误 1.错误&#xff1a;Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check 修改代码&#xff1a; launch_utils.py 删除三个地方&#xff1a;...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...