8 多则惑少则明

尚未进行身份认证

我要认证

让天下没有难测试的项目。专注于测试开发领域,近5+年的工作实战经验,主攻方向包括: 0-1/中期/成熟类大型/复杂系统的业务测试 自动化测试平台&框架开发; 打造质量体系及沉淀质量方法论 1/个人微信号zpphust 2/邮箱zpphnkjxy@126.com 文章周末定时更新,其余时间不定时更新

等级
TA的排名 1k+

Java多线程产生死锁

死锁: 线程等待某个资源,导致线程被无限期地阻塞例如:不适当地运用“synchronized”关键词1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;3. 修改一个静态方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;4. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的对象

2020-08-10 20:52:28

Java中锁与事务

目录一、线程安全synchronized和ReentrantLock 区别二、悲观锁优点与不足InnoDB锁模式InnoDB锁体验三、乐观锁含义适用场景乐观锁实现优点与不足四、Mysql事务与锁相关1、事务2、事务的特性:3、并发事务带来的问题:4、mysql 事务的隔离级别5、事务中的加锁方式:五、Spring的事务管理模式一、线程安全前提: 多线程中的并发控制,保证线程安全。线程安全是多线程领域的问题,线程安全可以.

2020-08-10 20:45:22

Java之BlockingQueue

LinkedBlockingQueuehttps://www.jianshu.com/p/6ba87c7508e4基于链表的阻塞队列,同ArrayListBlockingQueue类似,其内部也维持着一个数据缓冲队列(该队列由一个链表构成),当生产者往队列中放入一个数据时,队列会从生产者手中获取数据,并缓存在队列内部,而生产者立即返回;只有当队列缓冲区达到最大值缓存容量时(LinkedBlockingQueue可以通过构造函数指定该值),才会阻塞生产者队列,直到消费者从队列中消费掉一份数据,生...

2020-08-10 20:18:40

Java并发之Semaphor、以及与CountDownlatch和CyclicBarrier区别

目录一、Semaphor作用二、应用场景三、重要方法四、例子-控制某个方法允许并发访问线程的个数五、CountDownlatch和CyclicBarrier以及Semaphor的区别是一、Semaphor作用控制并发线程数用于多个共享资源互斥使用。【也就是具有锁的功能】二、应用场景用于做流量控制,特别公用资源有限的应用场景,比如数据库连接三、重要方法1、semaphore.acquire();请求一个信号量,这时候信号量个数-1,当减少到0的时候.

2020-08-10 10:22:27

Java并发之CountDownLatch

目录一、作用二、典型的应用场景三、用法四、例子一、作用二、典型的应用场景三、用法CountDownLatch最重要的方法是countDown()和await()。countDown(): 前者主要是倒数一次,后者是等待倒数到0,如果没有到达0,就只有阻塞等待了.await(long timeout,TimeUnit unit):使当前线程在锁存器倒计数至零之前一直等待,除非线程被中断或超出了指定的等待时间。如果当前计数为零,则此方法立...

2020-08-06 21:00:41

Java并发之CyclicBarrier

目录一、作用二、通俗例子三、使用概览四、比较好的例子一、作用二、通俗例子三、使用概览四、比较好的例子例子: 5个线程模拟5个运动员。运动员在赛跑的时候都会准备一段时间,当裁判发现所有的运动员都准备完毕的时候,就举起发令枪,比赛开始import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/*** 模拟运...

2020-08-06 20:37:36

linux命令——awk

作用/语法强大的文本分析awk处理过程:依次对每一行进行处理,然后输出awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f scriptfile var=value file(s)默认分隔符-按空格或TAB分割实例说话用法一:每行按空格或TAB分割】每行按空格或TAB分割,输出文本中的1、4项$ awk '{p...

2020-08-03 17:24:34

测试架构师——不做什么

反向思考一下, 架构师不做什么不做PPT架构师不做纯功能测试工程师不隔离业务不隔离技术实现不局限于单点问题不单兵作战推动、协调能力。具体抓手PM(输出总结、分享、方法论):敏捷测试小组稳定性保障小组(技术攻关、难题攻关)业务专项测试小组流程规范小组自动化保障小组永远的服务提供者...

2020-07-28 21:03:39

质量体系建设——质量sense

质量sense , 是团队成员 都必须要具有的,成员之间需要互为backup, 任何一方“过弱”,都会把质量压力抛给其他方,最终都会面临很多质量风险。需求质量sense这个至关重要, 不好的需求质量的例子:十几个人员拼命加班几周,“赶时间”做出的新功能,上了线,结果boss一句话,下掉了。对于某个功能点,上次迭代改成了A, 这次迭代改成了B,还不知道以后还要不要改。。。需求提给了团队A, 经历需求评审、代码code后,提测了,结果发现需求实现不符合预期,应该提给团队B;若干页的需求文

2020-07-28 20:53:34

测试技术创新——测试技术架构设计

业务/产品----技术架构测试---------测试技术架构“千手观音”测试时代形式:提供测试接口A: 可以实现xxx接口自动化测试提供测试接口B: 可以实现某某数据的清理重构的难题;互为干扰;测试平台化大而全基础上,追求通用、稳定测试服务化实现核心目标: 测试服务追求小而美开发同学: 技术方案评审;后续,测试同学: 测试技术方案评审, 测试架构评审测试架构师测试团队的技术带头人,在系统非功能特性的测试、自动化测试框架等...

2020-07-14 21:27:58

测试创新-自动化不稳定的几个原因

业务实现频繁变动专门对业务实现代码, 为了测试,做改造。 例子 , 异步转成同步使用底层服务接口。 接口A 变动了, 必须变动使用不被业务使用的接口。 接口下线,被改, 不再维护了使用太多临时数据使用公共数据过度依赖太多开关不稳定的原罪要归结于: 自动化同学对自动化测试架构设计的力有未逮。如果但从效率提升方面,可能能起到作用, 但一旦从稳定性方面来评估整体的自动化效果, 类似的自动化测试方案设计就显得”相形见绌“了。用个不...

2020-07-11 23:26:11

测试技术创新——端到端自动化实现的几种方式

什么是端到端自动化实现web前端/APP/小程序直接调用的服务端接口。常见形式L:HTTP(S)对于后端自动化来说, 是集成程度最高的自动化实现形式,也是最有bug发现价值的自动化实现形式端到端自动化实现难点接口的入参如何快速代码表达;接口如何串联起来;举例:http://xxx?入参: json串出参: json串一个接口如何表达对于每个接口而言:1)拼接入参2)执行3)解析出参(供后续接口获取)1、 fastjson 实现 入参、出..

2020-07-11 23:21:33

测试创新——引流测试实践浅谈

无论讨论什么问题, 希望尽可能站在“上帝视角”,能比较全面的分析问题。因而,这里会同时对 引流测试的 价值 、以及其局限性、使用前提进行探讨。使用的不爽之处极度不稳定(数据同步、状态变更)无法任何业务自动化测试链路调试投入大(需要详细了解下游依赖的底层数据表的关联关系, 故而,需要开发人员 协助)自动化价值低,具体体现在:1、效率提升方面:自动化维护 投入大, 产出仅仅原有回归;一旦业务实现变动,这是常态, 自动化必须重新调试2、引流测试方法的 最大痛点。线上没有场景, ..

2020-07-11 23:13:57

测试活动的终局思考

线下测试活动ps: 想象两种极端的质量活动:第一种: 90%时间放到基础的功能业务需求层面的测试;10%时间放到其他更高层面的质量活动上(性能、稳定性、问题定位等等)显而易见的结论: 研发质量差第二种:10%时间放到基础的功能业务需求层面的测试; 90%时间放到其他更高层面的质量活动上(性能、稳定性、问题定位等等)结论:研发质量极高 更进一步,基础的功能业务需求层面 , 压根不需要专门的测试同学跟进,直接由业务/产品同学把控。线上测试活动一般来说,线上测试,一般有几个目的:.

2020-07-11 23:09:09

测试创新——如何自动测试出口消息报文

目录一、什么是出口消息报文二、测试需求三、出口消息报文,人工如何测试的四、出口消息报文,自动化测试五、总结一、什么是出口消息报文业务A,业务B,属于不同域,甚至不同事业部。 业务A 会给业务B发消息,消息的内容格式有json串,xml格式等等。 此时的消息内容称之为 消息报文。 对于业务A来说,是消息报文发送方,故而对于业务A来说,改消息内容称之为 出口消息报文。二、测试需求对于业务A来说,由于业务需求、技术重构等等原因,需要回归测试、或业务测试 此段 消息报文 有无被“

2020-06-29 21:29:32

无人值守自动化方案:让架构重构测试变得轻而易举

背景从19年12月开始,一直到20年4月份,整整经历了5个多月的技术大重构,中间还伴有一个业务需求。由于涉及业务复杂超过预期,加上疫情的影响,整个项目进度面临重重的艰难险阻:业务复杂度超过预期,技术方案评估未覆盖,后续临时补作业;疫情袭来,人员被紧急抽调做相关需求;平台与2b侧随着突发情况,原定的排期改了又改;测试期间,代码CR分支主流程不通阻塞测试;再来看看整个2b侧测试现状与压力:平台侧无法提前进行业务测试,导致平台侧 、2b侧的测试压力 ...

2020-06-16 18:34:41

测试创新——优秀的自动化实现方案评价指标

目录一、自动化方案常见问题二、自动化方案常见的评价指标1、对测试效率的提升2、对测试覆盖度的提升3、在测试效果上提升4、自动化方案稳定性5、自动化方案的创新性6、自动化方案整体易用性三、自动化数据的例子四、以ROI为导向下的自动化评价指标五、写在最后由于前端(web/H5)、APP等自动化与服务端自动化存在评价指标差异。故而以下自动化的讨论范围仅仅限于服务单自动化。一、自动化方案常见问题脑海中设计的自动化实施方案:自动化覆盖的全面性; 自动化运行

2020-06-04 19:58:41

测试创新——无人值守自动化测试概要

自动化测试普遍存在的问题测试层面, 大概从3个层面看 测试的成熟度:1、 代码逻辑类/功能类测试2、技术专项测试(算法、数据、链路等等)3、以提升效能、业务质量为目标的各种平台、自动化工具、分析工具但无论哪种自动化方式,不同程度均会存在如下问题:自动化运行不稳定。自动化发现bug率低。自动化覆盖场景不全面。无人值守自动化的目标自动化覆盖的全面性; 自动化运行结果的可信性; 自动化运行的稳定性; 满足上述3个条件的自动化,就相当一个测试人员执行测...

2020-06-01 21:05:15

针对低效能团队和高效能团队的一点体会

目录一、2种团队的特点二、深处在低效能团队怎么办三、写在最后一、2种团队的特点2种团队的典型特点:1)高效能研发团队(包括开发、测试、产品、业务等等人员):(思维严谨) 研发质量过硬、事前事中独当一面、不抱怨,事后遇事handle,不是shirk。2)低效能研发团队(包括开发、测试、产品、业务等等人员):研发质量呵呵、事前事中缺专业果敢,事后遇事shirk、shirk、shirk。 当然了,团队合作中,一次中大型项目合作后,其实很容易分辨出当...

2020-05-30 15:21:34

测试创新——拓宽自己的边界

目录一、背景二、测试人员的时间都花在了哪里三、测试人员突破边界的几个方向四、写在最后一、背景 无论什么角色(开发、产品、测试、运营等等),说起拓宽自己的边界,可能大多数理解都是:做自己本职工作外的事情;而且要自己本职工作的工作量不太多的情况下,因为大多数同学的工作日常就是:低效/重复的工作太多,累到吐血,忙的要死,哪有时间来做本职工作外的事情。 其实,拓宽自己的边界,自己的理解:1、并非100%去做本职工作外的事情,一定是在...

2020-05-30 15:02:09

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。