软件测试52讲
文章平均质量分 63
软件测试52讲摘要
单单一个越
这个作者很懒,什么都没留下…
展开
-
27 | 深入浅出之动态测试方法
代码级测试的动态测试方法,可以分为人工动态测试方法和自动动态测试方法。其中人工动态测试方式,是最常用的代码级测试方法,也是我们在进行单元测试时采用的方法原创 2023-09-05 10:01:50 · 112 阅读 · 0 评论 -
25 | 不破不立:掌握代码级测试的基本理念与方法
针对这五种代码错误,代码级测试的方法可以分成静态方法和动态方法两大类。静态方法不需要执行实际代码,而动态方法需要通过执行具体的代码去发现代码错误。也因此,每种测试方法,所能覆盖的错误类型也不同,所以进行代码级测试时,需要综合运用这些方法,并结合所在公司或者项目的编码规范一起使用。代码错误,可以划分为“有特征”的错误和“无特征”的错误两大类。其中,“有特征”的错误,又可以进一步细分为语法特征错误、边界行为特征错误和经验特征错误;而“无特征”的错误,主要包括算法错误和部分算法错误两类。原创 2023-08-29 09:25:21 · 83 阅读 · 0 评论 -
30 | 工欲善其事必先利其器:后端性能测试工具原理与行业常用工具简介
LoadRunner 是通过录制后再修改的方式生成虚拟用户脚本;而 JMeter 主要是通过添加各种组件,然后对组件进行配置的方式生成虚拟用户脚本。完整的后端性能测试应该包括性能需求获取、性能场景设计、性能测试脚本开发、性能场景实现、性能测试执行、性能结果报告分析、性能优化和再验证。传统软件企业偏向于使用 LoadRunner,而互联网企业普遍采用 JMeter。原创 2023-09-11 10:03:48 · 319 阅读 · 0 评论 -
Selenium Grid 的搭建方法
搭建一个具有 1 个 Node 的 Selenium Grid。那么通常来讲我们需要 2 台机器,其中一台作为 Hub,另外一台作为 Node,并要求这两台机器已经具备了 Java 执行环境。1.通过官网下载 selenium-server-standalone-.jar 文件。这里需要注意的是,不管是 Hub 还是Node,都使用同一个 JAR 包启动,只是启动参数不同而已。2.将下载的 selenium-server-standalone-.jar文件分别复制到两台机器上.原创 2023-09-21 09:53:42 · 278 阅读 · 0 评论 -
34 | 性能测试方法
的测试负载,比如先逐渐加大测试负载,在高负载情况下持续 10 多个小时,然后再逐渐降低负载,这样就构成了一个“波浪”,整个稳定性测试将由很多个这样的波浪连续组成。在高并发情况下验证单一业务功能的正确性以及性能的测试手段。高并发测试一般使用思考时间为零的虚拟用户脚本来发起具有“集合点”的测试。主要用于确定给定负载下的系统集群规模,其测试结果可以被用作系统容量设计的依据。往往被当作功能测试的补充去发现多线程、资源竞争、资源死锁之类的问题。原创 2023-09-15 09:27:11 · 76 阅读 · 0 评论 -
28 | 带你一起解读不同视角的软件性能与性能指标
其中,前端时间,又称呈现时间,取决于客户端收到服务器返回的数据后渲染页面所消耗的时间;而系统响应时间,又可以进一步划分为 Web 服务器时间、应用服务器时间、数据库时间,以及各服务器间通信的网络时间。:反映了完成某个操作所需要的时间,其标准定义是“应用系统从请求发出开始,到客户端接收到最后一个字节数据所消耗的时间”,是用户视角软件性能的主要体现。终端用户:用户进行业务操作时的主观响应时间,包括了系统响应时间和前端展现时间;性能测试人员:算法设计、架构设计、性能最佳实践、数据库相关、软件性能的可测试性。原创 2023-09-06 10:17:02 · 59 阅读 · 0 评论 -
29 | 聊聊性能测试的基本方法与应用领域
前端性能关注的是浏览器端的页面渲染时间、资源加载顺序、请求数量、前端缓存使用情况、资源压缩等内容,希望借此找到页面加载过程中比较耗时的操作和资源,然后进行有针对性的优化,最终达到优化终端用户在浏览器端使用体验的目的。:代码级性能测试,是指在单元测试阶段就对代码的时间性能和空间性能进行必要的测试和评估,以防止底层代码的效率问题在项目后期才被发现的尴尬。:通过性能测试工具模拟大量的并发用户请求,然后获取系统性能的各项指标,并且验证各项指标是否符合预期的性能需求的测试手段。通常会涉及多个层面的调整,包括。原创 2023-09-07 10:16:58 · 89 阅读 · 0 评论 -
26 | 深入浅出之静态测试方法
这一功能是通过 Jenkins 以及 Jenkins 上的 SonarQube 插件来完成的,当你在 Jenkins 中安装了 SonarQube Plugin,并且将 SonarQube 服务器相关的配置信息加入 Plugin 之后,你就可以在 Jenkins Job 的配置中增加 Sonar 静态扫描步骤了。目前,自动静态扫描通常都会和持续集成的流水线做绑定,最常见的应用场景是。当你递交代码后,持续集成流水线就会自动触发自动静态扫描。原创 2023-09-04 09:25:14 · 131 阅读 · 0 评论 -
31 | 前端性能测试工具原理与行业常用工具简介
CDN 是内容分发网络的缩写,其基本原理是采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区的网络供应商机房内,当用户访问网站时,利用全局负载技术将用户的访问指向距离最近的、工作正常的缓存服务器上,由缓存服务器直接响应用户请求。打开文件的过程,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片会变得越来越清晰。将页面上的各种文本类的资源,比如 Html、JavaScript、CSS 等,进行压缩传输,将会减少网络传输的数据量。减少需要网络传输的数据量,图像文件也需要进行压缩处理。原创 2023-09-12 09:49:33 · 129 阅读 · 0 评论 -
软件测试面试题(持续更新)
软件测试面试题,持续更新原创 2023-07-03 10:24:42 · 118 阅读 · 0 评论 -
42 | 实战:大型全球化电商的测试基础架构设计
测试执行环境准备服务会根据传过来的参数,动态计算所需的 Node 类型和数量,然后根据计算结果动态加载更多的基于 Docker 的 Selenium Node 到测试执行集群中。该测试基础架构,包括了 6 种不同的测试服务,分别是:统一测试执行服务、统一测试数据服务、全局测试配置服务、测试报告服务、测试执行环境准备服务,以及被测系统部署服务。以 Restful API 的形式对外提供测试执行服务的方式,兼具了测试版本管理、Jenkins 测试 Job 管理,以及测试执行结果管理的能力。原创 2023-09-25 11:39:09 · 99 阅读 · 0 评论 -
38 | 统一测试数据平台
在Java中可以利用Builder Pattern,创建数据时如对其中的某个或某几个参数有特定要求的话,可以通过“.withParameter()”的方式指定,而没有指定的参数将自动采用默认值。统一测试数据平台其实是将所有的数据准备函数在 Spring Boot 的支持下转变为了 Restful API,为跨平台和跨语言的各类测试框架提供了统一的数据准备方案。数据的 ID 保存到内部数据库(存储的是id和其他用于筛选数据的相关字段,实际的数据还是在真正的被测系统的数据库中的)原创 2023-09-20 10:02:17 · 182 阅读 · 0 评论 -
32 | 基于LoadRunner实现企业级服务器端性能测试的实践(上)
后端性能测试工具首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本,然后根据性能测试场景设计的要求,通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本,并且在测试执行过程中,通过系统监控器收集各种性能指标以及系统资源占用率,最后通过测试结果分析器展示测试结果数据。负责控制 Load Generator 产生测试负载,以执行预先设定好的性能测试场景;同时,它还负责收集各类监控数据。图形化展示测试过程中收集的数据,对多个指标做关联分析,找出它们之间的因果关系。用于生成模拟用户行为的测试脚本。原创 2023-09-14 10:06:44 · 77 阅读 · 0 评论 -
36 | 浅谈测试数据的痛点
从测试数据创建的时机来看,主要分为 On-the-fly(实时创建)和 Out-of-box(事先创建测试数据)两类方法。原创 2023-09-19 09:42:07 · 82 阅读 · 0 评论 -
23 | 知其然知其所以然:聊聊API自动化测试框架的前世今生
根据httprunner的yml的脚本规则,加上一些开源的组件,做了一个web页面可以进行代理抓包,测试人员无论从web页面还是app操作只要设置代理过来,就可以看到自己的所有请求,然后选择想自动化的请求,后台自动转成测试脚本,再在管理界面上通过拖拽等性质组装成自动化测试集,并可以执行调试、定时任务等。目的:既可以不对所有的 response 字段都去写 assert,又可以监测到 response 的结构以及没有写 assert 的字段值的变化。,对于有变化的字段给出告警。解决,把动态字段排除在外。原创 2023-08-24 10:53:08 · 77 阅读 · 0 评论 -
24 | 紧跟时代步伐:微服务模式下API测试要怎么做?
契约的本质就是 Request 和 Response 的组合,具体的表现形式往往是 JSON 文件,此时我们就可以用该契约的 JSON 文件作为 Mock Service 的依据,也就是在收到什么 Request 的时候应该回复什么 Response。如下图,当用 Service X 的契约启动 Mock Service X 后,原本真实的 Service X 将被 Mock Service X 替代,也就解耦了服务之间的依赖。实现 Mock Service 来代替被依赖的真实 Service。原创 2023-08-25 09:45:02 · 1304 阅读 · 0 评论 -
35 | 如何准备测试数据?
目前,在实际的工程实践中,很少使用单一的方法生成测试数据,基本都是。最典型的应用场景是,原创 2023-09-18 09:34:29 · 73 阅读 · 0 评论 -
39 | selenium基础架构,UI测试架构
测试基础架构指的是,执行测试的过程中用到的所有基础硬件设施以及相关的软件设施。因此,我们也把测试基础架构称之为广义的测试执行环境。执行测试的机器;测试用例代码仓库;发起测试执行的 Jenkins Job;统一的测试执行平台;测试用例执行过程中依赖的测试服务,比如提供测试数据的统一测试数据平台、提供测试全局配置的配置服务、生成测试报告的服务等;原创 2023-09-22 10:03:41 · 361 阅读 · 0 评论