编辑 混沌工程概念 混沌工程是一种将混沌理论应用于工程领域的方法,旨在通过模拟和制造系统中的故障和不稳定因素,来测试和提高系统的可靠性和健壮性。它通过对生产环境进行有意制造的故障和异常方式,来验证系统对这些故障的反应和恢复能力,以此来发现和解决系统存在的弱点,从而降低系统的风险和成本。它的基本思想是通过有计划、有目的地注入故障,来验证系统在故障情况下的表现。这种故障可以是硬件故障、服务故障、软件故障等。 引入混沌工程原因 随着分布式系统的建设,单体应用迁移到分布式架构中,对系统的可靠性和容错性提出了更高的要求。为防止服务因为微小故障而产生雪崩效应,引发系统大面积崩溃,通过在分布式系统上进行...

  qTGkBRdHYMul   2023年12月12日   50   0   0 验证系统健壮性生产环境

数字资产指纹 在互联网数字资产管理中,数字资产指纹就是数字资产的“身份证”,也是信息系统安全管理工作的基础。通过网络资产探测(指纹)可以在0day(通常是指还没有补丁的漏洞)爆发时快速匹配到受影响的信息系统;还可以发现违规开放的资产,为安全运营管理提供便利,确保安全制度的稳健实施。 目前常规的指纹识别技术主要分为两种:一种是针对HTTP的指纹识别,通过对URL请求得到的各种响应信息进行特征匹配,从而判断指纹;另一种是针对TCP/IP协议栈的指纹识别,我们可以通过向对方发送一系列精心设计的报文,分析对方响应,从而判断指纹。 数字资产指纹有哪些类型 具体的资产指纹类型主要包括:服务器的账户、监...

  qTGkBRdHYMul   2023年12月12日   12   0   0 服务器中间件Web

SRE SRE全称是SiteReliabilityEngineering,即网站稳定性工程师。最早是由Google提出,并且在其工程实践中发扬光大。这个团队设立目的是帮助Google生产环境服务运行更稳定、健壮、可靠。不同于中小型规模公司,Google服务于十几亿用户服务,短暂服务不可用会带来致命后果。因此Google走在了时代最前面,SRE产生了。 Google的官方对于SRE的介绍: Keepthesiteup –Whateverittakes –Siteunavailable?Ourproblem,whateverthereason WorkataLargeScale –Manyser...

  qTGkBRdHYMul   2023年12月06日   12   0   0 Googleci运维

看见了github上2023年编程语言的排行榜,Java竟然被typescript挤出了前三!Javascript的登顶得益于node.js 的出现,使js实现了在前后端的技术栈统一。那typescript为何又能在三足鼎立中占据一席之地呢?本文就对typescript进行一下概要介绍,本文并未涉及typescript的具体语法,注重分析Javascript和typescript的区别于联系,更适合小白了解到底什么是Typescript,我们为何选Typescript。 TypeScript概述 TypeScript是由微软开发的一种开源的纯面向对象编程语言。它是JavaScri...

  搭建Javascript环境 因为TypeScript不能直接在浏览器上运行。它需要编译器来编译并生成JavaScript文件。所以需要首先安装好javascript环境,可以参考文章:https://blog.51cto.com/liwen629/7621120 全局安装Typescript模块 执行下面命令进行安装 npminstall-gtypescript 安装完成后我们就可以使用TypeScript编译器,名称叫tsc,可将编译结果生成js文件。 在cmd窗口中,通过下面命令确认typescirpt是否安装成功 tsc--version tsc--help hello...

  qTGkBRdHYMul   2023年11月28日   10   0   0 编译器编译器jsonCodeCodeJSON

相信刚刚步入安全测试领域的同学都会发现,安全测试领域工具甚多,不知如何选择!其实安全测试工具大致分为三类:SAST、DAST和IAST。本文就带大家快速的了解这三者的本质区别! SAST(StaticApplicationSecurityTesting) 静态应用程序安全测试在非运行时扫描和分析静态代码。SAST易于部署,并在部署时查找代码中预测安全风险的模式。虽然有帮助,但SAST过程中也有缺陷。SAST只能在运行前的开发早期阶段运行以进行检测和分析。常用工具包括fortify、CheckMarx等等。 DAST(Dynamicapplicationsecuritytesting) 动态应...

  qTGkBRdHYMul   2023年11月22日   16   0   0 应用程序安全测试常用工具

asyncio实现并发 我们可以使用asyncio来解决palywright中并发的问题,asyncio即AsynchronousI/O是python一个用来处理并发(concurrent)事件的包,是很多python异步架构的基础,多用于处理高并发网络请求方面的问题。给大家举一个经典的应用场景就懂了,在不同的浏览器中同时执行打开百度首页,获取title的操作,代码如下: importasyncioimporttimefromplaywright.async_apiimportasync_playwright asyncdefplaywright_async_chromium(): asy...

  qTGkBRdHYMul   2023年11月22日   17   0   0 python事件循环firefox

三目运算定义 我们熟知的三目运算通常表达式是: 判断条件(返回布尔值)?为真的结果:为假的结果。 Python中的三目运算 而在Python中的三目运算并无?和:的表达式这种形式。Python的三目运算符也被称为三元运算符,是一种简洁的条件表达式,即我们熟知的ifelse,用于在满足条件时返回两个不同的值之一。Python中的三目运算符格式如下:为真时的结果if判断条件else为假时的结果(注意中间无冒号)给大家举2个例子就懂了! 例子1 a=100 b=200 print("输出较大的数:",aifa>belseb) 输出 输出较大的数:200 例子2 c="返回True"if...

单引号和双引号的使用 python中单引号和双引号都是用来表示字符串,在一般情况下两者没有任何差别,在编码时统一规则即可 str1='hellopython!' str2="hellopython!" print(str1) print(str2) 有的时候我们需要在输出的字符串中输出双引号或者单引号,该如何操作呢? 有的同学说简单呀,像下面这么写不就ok了! str5='我想说:'hellopython!'' str6="我想说:"hellopython!"" 遗憾的是在IDE中会直接报错:Unresolvedreference'python' 正确的做法是,我们需要使用转义...

  最左匹配原则的定义 简单来讲:在联合索引中,只有左边的字段被用到,右边的才能够被使用到。我们在建联合索引的时候,区分度最高的在最左边。 简单的例子 创建一个表 CREATETABLE`user`( `id`INTNOTNULLAUTO_INCREMENT, `code`VARCHAR(20)COLLATEutf8mb4_binDEFAULTNULL, `age`INTDEFAULT'0', `name`VARCHAR(30)COLLATEutf8mb4_binDEFAULTNULL, `height`INTDEFAULT'0', `address`VARCHAR(30)COL...

  qTGkBRdHYMul   2023年11月08日   26   0   0 联合索引MySQLMySQL联合索引

在做性能测试时,资深的性能测试工程师,都会帮助研发同学优化sql语句,听起来很高深,但是具体操作是比较容易的,使用expain命令就可以了!本文我会用最简单有效的方式带大家掌握expain的使用方法! Explain概述 explain即执行计划,使用explain关键字可以模拟优化器执行sql查询语句,从而知道MySQL是如何处理sql语句。explain主要用于分析查询语句或表结构的性能瓶颈。 使用起来非常简单,在你的sql语句前面加explain就可以了 -实际SQL,查找用户名为kevin的员工 selectfromUSER wherename='kevin'; -查看SQ...

在做性能测试时,一个资深的测试人员是需要对研发同学编写的不合理sql语句提供修复建议的。在这里我总结了一些在实际工作中最常用的关于sql语句的优化策略,相信无论对测试同学和研发同学都会带来帮助! 1.count使用 不要使用count(列名)或count(常量)来替代count(),count()是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。 说明:count()会统计值为NULL的行,而count(列名)不会统计此列为NULL值的行。 count(distinctcol)计算该列除NULL之外的不重复行数,注意count(distinctcol1,col2...

在前面的文章中讲解了sql语句的优化策略 https://blog.51cto.com/liwen629/8146651 sql语句的优化重点还有一处,那就是——索引!好多sql语句慢的本质原因就是设置的索引失效或者根本没有建立索引!今天我们就来总结一下那些无效的索引设置方式进而避免大家踩坑!看到这里有的同学会问:what?设置的索引还会失效?没错!接下来就让我们细细道来,文章非常有用,建议大家收藏。 不满足最左匹配原则 建立联合索引:idx_code_age_name。 该索引字段的顺序是: code age name 以下会走索引 selectfromuserwherecode='101...

Nginx搭建web测试报告服务器的实现思路 有这样一个需求:把自动化测试过程中生成的html测试报告能够通过浏览器直接访问查看! 实现思路很简单,就是部署一个web服务器,然后把测试报告部署到web服务器的指定目录即可,然后通过http://ip:port/path/报告名称.html的形式进行访问。我们通过nginx可以轻松实现这个需求! Tomcat和Nginx的区别 有的同学会问,为什么不用tomcat?我们先看看Tomcat和Nginx的核心区别:Tomcat主要是为JavaWeb应用设计的,它支持JavaServlet和JSP,可以将Java应用程序部署到Tomcat环境中。而...

  qTGkBRdHYMul   2023年11月02日   22   0   0 nginxnginxHTMLhtml

关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作! 对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove、del相关方法,听到这里,就知道面试者根本不知道这个答案啦!因为对于这个问题,remove、del根本无效!有的同学回答:使用strip函数,很显然这些同学对字符串api有些了解,但是对于面试官来说,我们能够判断出,这些同学编码经验有限!我们就先来了解一下strip函数。 strip()函数 Python的strip()方法用于移除字符串头尾指定的字符(默认为空格或换...

  qTGkBRdHYMul   2023年11月02日   24   0   0 字符串正则正则bc字符串bc

QA和测试工程师的区别是什么呢? 这个问题相信对于很多即使从业了多年的测试工程师来说也是一头雾水,大多数人会认为二者是一样滴,将其混为一谈!其实二者是有很大区别的,今天我就用五分钟时间带大家来了解一下二者的本质区别! 测试和QA的岗位定义 测试(softwaretesting)就是我们最常见的测试岗位,工作职责是根据客户对软件产品的要求,对软件功能、性能、稳定性、安全性、易用性等进行测试,通过明确测试规范,编写测试用例,使用测试工具等方法,发现软件存在的缺陷,并反馈给开发人员完成修改,以确保软件产品能够正常运行,从而符合客户的要求。 QA(QualityAssurance)即质量保证,从软件...

  qTGkBRdHYMul   2023年11月02日   22   0   0 测试工程师软件测试

在涉及python多线程编程的时候,有四个特别重要的概念需要大家深入理解:主线程、子线程、守护线程以及线程的join方法。文章默认大家都知道python多线程的常规用法,这里就不再详细讨论了,仅对这四个概念进行详细描述讲解。本文可能是全网讲解相关概念最通俗易懂的文章之一了,为了加深理解大家可以拷贝代码进行实际操作,相信效果会更好! 主线程和子线程 主线程:应用程序运行即为主线程(从程序第一行到最后一行执行完毕,中间遇到子线程的start,子线程去执行它的函数,主线程继续往下执行其他语句) 用户线程(子线程):在主线程中可以创建和启动新线程,默认为用户线程(子线程) 示例代码(后面关于守护线...

  相信APM这个概念对于很多同学来说并不陌生,但是提起RUM呢?可能了解的人就不多了!那么RUM究竟是什么东东,能解决哪些问题?他跟APM有什么区别和联系?本文就带大家了解这些问题。 什么是RUM RUM的英文全称是RealUserMonitoring,RUM的作用就是捕获和分析用户与前端(包括网站,苹果应用,安卓应用,微信小程序)的所有交互细节,旨在提高前端产品的可用性、提升用户体验。提升前端体验的方式非常多,可以优化数据库、优化接口调用,那为什么要RUM呢?其实主要还是RUM更直接,更直接的反应了用户是如何和我们的前端交互的,更能反应用户和前端的交互细节,为提升用户的满意度...

大家在做playwright自动化测试时,一定会遇到下面的写法 withsync_playwright()asp: 自动化代码 很多同学可能只是按照这种写法来编写项目的自动化测试代码,对于具体细节可能并不了解,今天我来结合playwright讲解一下Python中的with...as用法。建议大家拷贝文档中的脚本实际运行一下,学习的效果会更好! with...as概述 在Python中,with语句用于异常处理,使代码更简洁、可读性更强。它简化了文件流等公共资源的管理。基础表达式如下: with表达式a[astarget]: 代码块 在上面的表达式中,[astarget]中的部分可...

最近最火的几个词无疑是ChatGPT、GPT4和OpenAPI,那么这三者究竟有什么关系呢?本文将带您进行快速梳理! OpenAPI是一家公司 OpenAI是一家专注人工智能研究的公司,使命是确保人工智能造福全人类。官网: https://openai.com/ GPT-4是OpenAPI的产品之一 目前火到爆炸的GPT-4是他们开发的一种自然语言处理模型。GPT是OpenAI的一个项目,旨在通过深度学习技术来生成自然语言文本。GPT-4是OpenAI推出的最新自然语言处理模型,也是到目前为止最颠覆人类生活的AI产品,堪比iphone颠覆手机!而我们熟知的ChatGPT只是基于GPT...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~