【测试】前沿
文章平均质量分 85
多则惑少则明
让天下没有难测试的项目。专注于测试开发领域,近9+年的工作实战经验,主攻方向包括:
0-1/中期/成熟类大型/复杂系统的业务测试
自动化测试平台&框架开发;
打造质量体系及沉淀质量方法论
个人邮箱[email protected]
文章周末定时更新,其余时间不定时更新
展开
-
测试创新——平台化产品思考
对于平台化有点不成熟的个人思考,我觉得平台至少分两种类型,能力型和辅助型。能力型是将一个功能从无法测试->能测试,这种平台解决的是能力而不是效率问题,case by case的去解,一定要点到为止,大而全也是为了解决实际需求的,不能搞不解决实际问题的空想。辅助型是指在不人为干预或者较少干预下,提升测试人员在整体流程上的效率,很多平台没有想好定位,搞几个页面上去还需要大量操作,除了满足自己技术情怀的私欲外毫无意义,对于一线测试来说不是提效而是负担。什么是平台化?我的理解是:工具本身的定位在.原创 2020-11-02 12:01:09 · 989 阅读 · 0 评论 -
安全生产——从别人的故障中学习
目录1、幂等失败2、 运营同学调整配置,引发某些规则失效,大盘数据下跌3、压测造数据问题,导致集群fullGC4、配置错误,误操作了线上5、容量不足,外加没有限流,导致无法提供服务6、大流量下DB内存出现雪崩,写入慢7、上下游交互的API的结果不一致,导致资损8、线上和预发的缓存没有隔离,导致线上缓存数据格式转换问题9、分支代码合并解冲突问题引发线上问题10、内存泄露导致OOM-killer后无法提供服务安全生产思考安全生产的几个抓手1、幂等失败思考:原创 2020-10-29 20:55:29 · 496 阅读 · 0 评论 -
测试创新——测试有效性
目录一、为什么需要验证测试的有效性?2、 测试有效性度量的方法有哪些?3、 变异测试4、如何往代码注入变异5、变异与业务6、 总结一、为什么需要验证测试的有效性? 测试工作,从技术角度看,可以理解为是验证技术实现的有效性。 如果技术实现符合业务需求,则技术实现是有效的,否则技术实现是无效的,换句话说,就是通常意义上说的代码存在bug。 那么测试工作可以验证技术实现的有效性, 但是存在一种情况: 如果测试工作有500+自动...原创 2020-05-28 11:12:44 · 1225 阅读 · 0 评论 -
测试创新-各种配置规则怎么确保线上质量
目录一、背景二、配置类规则的常见线上测试方法1、线上配置后,运营同学/测试同学做专门验证,看在线上是否正常2、 层层审批3、自动化巡检三、设置配置检查卡点四、总结一、背景 典型的电商类、金融类、视频类需求, 往往伴随着各种各样的运营活动配置, 各种各样的营销活动纷纷上线, 运营同学 改了又改,可能因为如下原因,导致规则实际并没有在线上生效:1. 运营人员手抖配置错了,完全不自知2、 体验问题,比如活动过期,还在线上3. 系统配置被误用,实际并...原创 2020-05-26 20:06:02 · 645 阅读 · 0 评论 -
异步场景中的自动化测试方法
背景项目测试过程中,不同的测试深度、测试广度,会面临不同程度的“不便”。例如:复杂的技术架构、技术实现,导致某些场景不可测或不容易测试。无法满足自动化/质量运营要求。例如,技术实现中,异步流程过于复杂,导致自动化不易开展某些场景/实现严重影响了测试效率,或给测试增加了不少困难。同步的自动化测试过程:目前大部分的自动化测试用例的过程: 创建业务场景---产生待测数据-》检查待...原创 2020-04-27 00:45:12 · 1871 阅读 · 0 评论 -
破坏性&故障演练
目录一、演练的背景二、破坏性演练三、演练的目的四、演练怎么做1、各种故障包括:2、业务的响应包括:3、举例说明4、演练方式5、演练的范围一、演练的背景 1、后台架构变得越来越错综复杂,即便排除自己所在的业务的故障,第三方服务的服务降级,故障,流量猛增等都可能随时危及到自己的服务,进而发生连带的故障。 2、故障修复后,需要...原创 2019-11-04 10:39:18 · 2287 阅读 · 0 评论 -
通过有用的反馈改善测试人员与开发人员的关系
摘要测试人员和开发人员之间的关系常常很紧张。 各方对另一方应该知道和做的事情有一定程度的期望,而对另一组必须工作的约束,条件和要求知之甚少。 但这不必是这种方式。 做出一些更具体和有用的反馈的努力可以大大改善态度。内容大家都知道猫和狗不相处。我对此的较不科学的解释之一是,这都是关于不良沟通的。当狗摇尾巴时,它说:“一切都很酷;让我们一起玩。”但是就猫而言,狗说的是:“当心!我真的很生气...翻译 2019-11-03 23:35:43 · 1093 阅读 · 0 评论 -
从性能测试员到性能工程师
摘要许多性能测试人员认为,经过几年的经验,他们会自动成为性能工程师。 但是,这并不是那么简单。 成为性能工程师的道路是漫长而持续的旅程。 本文详细介绍了性能工程师在性能测试之外还需要做的许多事情,并概述了提高职业生涯所需采取的步骤。内容自2006年以来,我一直担任性能测试员,并且像许多性能测试员一样,我曾经认为经过几年的经验,我会成为一名性能工程师。 但是,我认为我们需要了解这并不是那...翻译 2019-11-03 23:14:04 · 1024 阅读 · 0 评论 -
资损防控浅谈
目录一、背景二、什么是资损三、资损防控方案1、目标2、方法论四、资损演练一、背景 在每天做的项目中,我们都会或多或少,或直接或间接和钱打交道。如果你目前正在负责支付类的业务,恐怕资损防控更是业务和系统的底线了。目前由于资损防控涉及的方方面面非常多,目前尚没有“一剑封喉”的解决方案,但通过团队成员、各个角色的投入,可以尽可能减少资损问题的发生,或减少其...原创 2019-11-03 19:58:58 · 2787 阅读 · 1 评论 -
浅谈质量方案中的预案
一、前言比较成熟的项目质量方案中,往往会有稳定性建设,其大概包括几个部分:全链路压测。模拟线上场景,来暴露稳定性方面的问题 故障演练。根据强弱依赖,模拟线上出问题的场景,来暴露稳定性方面的问题 预案演练。一般有以下目标:1、模拟线上出问题时,实现快速恢复线上的目标;2、为了确保100%稳定性的场景,例如,大促等,对某些实现准备一些backup方案,确保大促期间的业务稳定性。有了...原创 2019-11-03 17:03:37 · 1042 阅读 · 0 评论 -
AI驱动的测试自动化与您的未来
目录摘要内容更新你的技能与技术一起发展不要害怕未来个人的理解摘要由于人工智能,许多软件测试人员都对即将到来的工作死亡感到遗憾。 但是乔恩·哈加尔(Jon Hagar)认为,现在还没有必要惊慌。 在这里,他详细介绍了他在AI中看到的一些功能,介绍了如何在软件测试中使用这些功能,并解释了为什么他认为大多数人都不必担心,尽管他也解释了谁应该这样做! 和往常一样,归结为学习...翻译 2019-11-03 15:43:02 · 1276 阅读 · 0 评论 -
测试AI系统:没有您想像的那么不同
摘要基于AI的工具已经从模糊,未来的愿景转变为用于做出现实生活决策的实际产品。 对于大多数人而言,深度学习系统的内部运作仍然是一个谜。 如果您不知道在将输入数据逐层馈入神经网络时到底发生了什么,该如何测试输出的有效性? 这不是魔术; 这只是测试。内容基于AI的工具已经从模糊的,未来的愿景转变为每天用于实际决策的实际产品。 对于大多数人而言,深度学习系统的内部运作仍然是一个谜。如果您...翻译 2019-11-03 14:23:26 · 1000 阅读 · 0 评论 -
质量数据度量
一、质量度量需求1、QA人员角度规范化管理需求。不同业务线之间,尽管业务特点不同,但都遵守需求、实现、测试、上线这么一个过程。如何评估当前迭代中的每个节点执行的质量。 流程/规范优化效果评估。通常为了支撑迭代要求、质量要求,并使团队成员更高效的合作,通常会主动/被动形成各种项目流程。这些流程大致分为:1)业务线级别共同的流程。比如提测流程、上线流程、迭代周期等,各个业务线都有这些,不同...原创 2018-11-25 22:22:42 · 3726 阅读 · 0 评论 -
为什么互联网公司需要测试人员
目录引言身边项目的例子 对测试大致会有以下几个方面的误解重要的测试方法论为什么互联网公司需要测试人员 测试人员地位为什么在团队中没有足够的被重视?bug悬赏对测试人员考核的一些思考总结引言 偶然在知乎上看到一篇帖子:为什么互联网公司不开除测试,转而让大众来测,找到一个bug给100元?,几年测试经验下来,看到大家的讨论,深感心有...原创 2018-12-20 10:12:24 · 2750 阅读 · 10 评论 -
前端测试之用户体验测试
前言 最近项目中涉及了大量的前端页面类测试,如小程序、H5等多个B、C端的测试,故而想把一些心得记录下来,仅供大家参考。这里仅仅对前端测试中涉及的需求层面的问题做简单剖析,希望借此来抛砖引玉。前端测试的困境 回顾从刚刚入门测试到现在,进行了大量B/C端的页面类测试,包括:机票类页面、促销类页面、视频类页面、招聘类页面、广告运营类等等。测试范围包括:功能、...原创 2018-10-08 20:44:29 · 3167 阅读 · 3 评论 -
测试经验谈之组合测试探讨
一、测试背景 《微软的软件测试之道》建议从两因素组合测试开始,逐渐提高组合维度,直至6因素组合测试,因为有研究表明6因素组合测试可以发现绝大多数的程序缺陷。但是,随着组合维度的提高,测试用例数呈爆炸式增长。假设有N个因素,每个因素均有M个因子,所有的测试用例数=M的N次方。 举一个实际的例子,曾经测试过一个业务筛选类接口,总共涉及50+个因素的筛选,每个因素的值有...原创 2018-07-23 23:27:05 · 4902 阅读 · 0 评论 -
《软件测试经验与教训》笔记
一、软件测试的基础抽样:对场景/路径和数据抽样。故而,不可能穷尽所有的路径和数据。ps: 要想在所有可能出现问题的地方穷尽测试,要么功能极其简单,要么测试员想象力差。二、最佳实践不相信最佳实践,在一定条件下,一些实践比另一些要好三、测试在项目中的作用在产品交付前,及时使用【质量问题】进行了各方敲打,可能最终的问题仍然归于敲打不彻底;项目中各个功能离“悬崖峭壁”还有多远;...原创 2018-03-18 12:31:05 · 1253 阅读 · 0 评论 -
白盒测试
什么是白盒测试刚刚入门测试的时候,写过白盒测试,现在看起来就太简单了,根本构不成一篇博文。随着对测试理解的不断加深,个人任务,整个测试流程大致分为两个阶段:1、由内到外测试单元测试;2、由外到内测试冒烟测试(快速验证主要功能);全面测试(功能+性能+安全等等);探索式测试;回归测试;只不过,在实际的项目中,只有少数公司会严格实施 [由内到外测试]的单元测试。 为什么要...原创 2017-10-09 10:53:58 · 2450 阅读 · 0 评论 -
测试方法论-《探索式软件测试》笔记与心得
摘录精彩语句1)大多数伟大想法的背后是一片埋葬着不成熟想法的墓地2)用户在购买功能的同时也在忍受缺陷3)特殊缺陷: 逃过所有各种检测手段而最终存在于发布产品中的缺陷;原因: 手工测试都缺乏目的性,随机性强,重复性强;缺陷的后果:客户流失;4)2种缺陷: 程序员引入的缺陷和运行环境导致的缺陷;5)缺陷预防(单元测试,代码review等)和缺陷检测;6)开发人员与测试...原创 2017-09-12 23:04:20 · 2057 阅读 · 0 评论 -
测试经典书籍中的观点(一)
《测试的艺术》程序员应该避免测试自己所写的程序备注:开发人员好比一座房子的建设者,测试好比是去找出房子的缺点漏洞,甚至是企图拆毁房子。检查程序是否“未做其应该做的” 仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”备注:项目测试的目的之一就是验证产品在特定条件下可以正常工作,而另一个目的则是找出项目的功能和性能极限。这也和测试的根本目标是想通的:测试不是用来找错误的,因为...原创 2016-11-20 17:45:09 · 875 阅读 · 0 评论 -
测试经典书籍中的观点(二)
《探索式软件测试》"用户购买功能的同时也在忍受缺陷。" --史考特·沃兹沃思(Scott Wadsworth)开发人员只能是个糟糕的测试者如果开发人员善于发现缺陷,那么为什么不在编码的时候避免引入呢?从开发的角度去做测试,必然会有盲点。测试人员从“更好使用”的角度去测试,而不是开发人员的“如何实现”的角度去评估产品,会避开开发人员固有的偏见。当然,在开发阶段,单元测试是必须由开发人员进行...原创 2016-11-20 22:01:41 · 619 阅读 · 0 评论 -
不可不知的方法论-测试思维之“薛定谔的猫”
一、什么是“薛定谔的猫”理论 基本理解:一只猫,被关在一个密闭无窗的盒子里,盒子里有一些放射性物质。一旦放射性物质衰变,有一个装置就会使锤子砸碎毒药瓶,将猫毒死。反之,衰变未发生,猫便能活下来。 二、人的思维局限性 之前的博客写过有关故障方面的:,故障产生的根本原因多种多样,但究其一点可归结为:人思维的局限性。回顾起来,无论多么牛的技术人员,当面临从0到1的项目时,...原创 2018-06-28 23:55:56 · 646 阅读 · 0 评论 -
测试执行模型——结对测试
目前测试执行现状 整体概况:单打独斗式的执行 经历过的实际项目为例子,整个业务线有测试人员A,B,C,三方对产品进行了分割,自己”独占“一个模块: 测试执行大致如下:1、 测试人员A,B,C分别对各自的”领地“进行测试;2、”接壤的领地“由对应的双方进行联调测试;于是,这种模式不免会有几层含义:...原创 2018-12-25 16:33:28 · 1368 阅读 · 0 评论 -
测试本质:当说在项目测试的时候,究竟在测试什么
最近参加了一个测试大会,会上各种自动化、性能、新型测试方法扑面而来。听后确实思路有所开阔,但又不禁想:为什么类似的分享/大会几乎很少有人专门讲测试思维、测试本质之类的思想。各个公司,各个业务,几乎都有相似的测试方法,而不同的是具体的测试实施、以及不同业务实现的测试;各个测试人员由于经验,眼界的不同,对测试的理解也不一。故而这里,想来说说脱离于具体测试任务之外的测试思想/测试本质的一些...原创 2018-07-21 21:23:16 · 3112 阅读 · 2 评论 -
测试是什么
前言 之前写过一篇博客:测试本质:当说在项目测试的时候,究竟在测试什么,这里面有自己对测试的一点理解-测试最本质的东西:测试产品与用户需求直接的差距,此差距在团队所有成员(产品/开发/UI/测试/市场人员/运营人员...)的共同努力下,逐渐缩短这个差距。 缩短测...原创 2019-01-13 17:58:21 · 524 阅读 · 0 评论 -
基于需求的测试
引言 整个项目迭代周期中,产生的bug,其原因可能来自多个方面,例如:需求分析不足/需求不符合客户需求、技术实现与需求不符、环境因素等等,这里重点说一下需求阶段引入的bug问题。 需求调研、分析、评审阶段中任何一个环节的不充分都会给需求本身留下隐患,进而在整个项目的中后期才能发现。更甚者,到了上线还没有发现,只能下次迭代进行弥补了。 ...原创 2019-01-13 20:07:05 · 1034 阅读 · 0 评论 -
流程最好执行到什么程度
流程有什么用? 无论到哪里办事,都必须弄清楚一定的流程,流程熟悉的越快,事情办的才会越顺利。但某些情况下,流程又由于太多而繁杂,导致处处受流程所限。那么,流程到底有什么用呢? 流程管理让工作变得更简单、更高效、更可行:对于基层中的一线员工:掌握了正确的做事方法,出了事情不用再背黑锅,不用事事请示,减少失误;对于中层管理者来说:不用事...原创 2019-01-13 22:05:46 · 1086 阅读 · 1 评论 -
流程执行效果如何评估
背景 经常在各种文档上看到如下的内容:XXX项目的应急预案、某某某的申请流程。凡事按流程办事,几乎无处不在。在整个流程执行过程中,经常遇到下面的问题:某某某流程落地执行太难了,大家都不愿意配合执行 某某某流程执行太耗时间了,现在要申请某某几乎要耗费一天的时间 牵涉的部门太多了,一个环节被耽误,整体进度肯定delay,且不知道什么时候ready 在项目开发阶段,执...原创 2019-01-14 10:37:25 · 3754 阅读 · 0 评论 -
接口幂等实现方案
什么是幂等数学角度 f(n) = 1^n 。无论n等于多少,f(n)永远值等于1编程角度 程序无论执行多少次,其产生的结果均与一次执行相同,不会因为重复执行会对系统造成改变 为什么要做幂等 之所以强调幂等,原因在于接口不幂等时,在某些场景下会引发严重的问题:支付、退款、结算等场景时,由于重复点击/操作后,进行了二次处理...原创 2019-01-19 11:03:05 · 2475 阅读 · 3 评论 -
开发才1天,为什么测试需要2天
QA常常需要面临的排期问题 下面是通常会面临的项目场景了:PM:涉及核心模块改动,由于XXX原因,需求想尽快上开发人员:这个改动简单,1天肯定能搞定QA:这个测试由于涉及核心功能改动,需要回归,需要2天时间 于是当QA说出需要的测试周期时,PM/开发人员通常会产生疑惑:改动特别小,其他的都没改,不需要测试,只测试XXX就行了,不需要这么长时间...原创 2019-01-19 13:43:59 · 3329 阅读 · 6 评论 -
再谈单元测试
0、引言 之前有写过单元测试的基本工具使用,如:Junit使用、白盒测试、代码覆盖率统计工具,单元测试本身技术难度上不是障碍,但工作几年后发现,真正能践行单元测试的项目寥寥无几了。 自己对单元测试与集成测试的理解是,可以把测试当做人的一次体检活动:单元测试类似逐一检查头、颈、上肢、下肢、躯干是否有异常(局部入手);集成测试类似根据人整体健康是否...原创 2019-01-20 12:05:12 · 332 阅读 · 0 评论 -
只有程序员才心有戚戚焉的趣图
维护别人留下来的代码 又发现了一个bug 与产品人员打交道 与其他开发人员打交道 开发人员调试自己的代码 与测试人员打交道 ...原创 2019-01-20 13:28:44 · 8263 阅读 · 33 评论 -
秒变“小白用户”来测试
背景 无论哪个阶段的产品,或多或少都会需要去吸引更多的小白用户。但让深度用户很爽的产品, 小白用户用起来可能会很受挫,怎么办?这个是产品在设计阶段都应该充分考虑的问题,但作为QA或测试人员,往往在测试面向大众的产品时,也不得不暂时充当小白用户,来检查产品的 易用性,来期望给用户更好的体验。 但作为QA或测试人员,往往已经使用了无数遍的产品,某种程度上来...原创 2019-01-31 13:36:37 · 345 阅读 · 0 评论 -
你测试OK了吗——浅谈测试通过标准
背景 通常究竟要不要马上上线的两种常见场景:场景1:当你面前还有一些问题修复后,没有验证,而你正“焦头烂额”忙于测试时产品人员/开发人员: 什么时候可以上线你是不是回答:还有一些问题未验证,验证了就可以上线了场景2:当这一次时间比较紧张,加上问题比较多,加班加点,忙到半夜11点后,勉勉强强验证完时产品人员/开发人员:测试怎么样了,要不上线线上验证下吧,这...原创 2019-01-31 21:23:56 · 2349 阅读 · 0 评论 -
你提供了一个测试工具,到底有什么价值
背景 测试领域有一个专门的职位——测试开发,改岗位专门给业务部门的测试人员开发测试工具、框架、平台,供其使用,测试开发人员本身不负责业务测试。 此类人员的工作往往是测试人员很向往的工作,当然了,对于负责业务测试的测试人员来说,如果开发了一个工具来提升效率的话,无论是对自己的效率,还是晋升总结时都是一个亮点了。 这里抛开测...原创 2019-01-27 21:05:04 · 464 阅读 · 0 评论 -
敏捷开发
一、敏捷开发理解敏捷开发,大致从如下两个方面理解:敏捷。即整个项目迭代中遵循快的节奏,采用“小步快跑”的方式进行项目管理 开发。敏捷开发的侧重点依然是[开发],即快速形成产品。敏捷开发宣言:个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划虽然右项也有价值,但是我们认为左项具有更大的价值。ps: 敏捷开发宣言的深层含义...原创 2017-11-19 22:19:02 · 414 阅读 · 0 评论 -
顶风作案!越晚越上线是为了什么
背景 最近接触到一个客户端的业务,若干次大版本跟进下来,整个版本上线时间大致是这样的:一个夜黑风高的晚上,抬眼望去,四周其他团队已经走光了,看手机已经半夜近12点了,大家还在修修补补的做bug验证,主流程回归... 这样基本到了夜里一两点了,版本正式对外发布,于是可以验证主流程后,...原创 2019-02-01 21:43:40 · 689 阅读 · 0 评论 -
软件测试中的认知偏差:你受到影响了吗?
自己的感悟:无论是产品需求、设计、研发、测试、上线、运营中的哪一个阶段,都是由具体的人负责推进的。只要是人,就会受到经验、眼界等因素限制,都会存在认知偏差,都可能犯错。那么为了尽可能减少某一角色人员(产品人员、设计人员、开发人员、测试人员、运营人员等)的认知偏差,需要群策群力,互相补充,互相辅助,取长补短,来推进产品的演变。以下是转载的内容:为了保证质量,测试领域的技术正在飞速的发展。 ...转载 2019-02-14 16:35:56 · 649 阅读 · 0 评论 -
探索性测试与脚本测试:谁赢了?
目录Context-based (Exploratory Testing) vs Scripted Testing TeamsWhat does it mean?(这意味着什么?)Conclusion(总结)Real-world benefits of exploratory testing(探索性测试的益处):Traditionally, software testing h...翻译 2019-02-22 12:10:21 · 696 阅读 · 0 评论 -
什么是微服务及如何测试?
什么是微服务? Adrian Cockcroft对微服务的表述:loosely couped service oriented architecture with bounded context。这里涉及两个微服务的概念: loosely couped:松耦合。松耦合可以引申出其他概念,如各自独立,微服务应该是各自独立的,可以独立开发,独立测试,独立部署,独立运维,如果每个服...原创 2019-02-17 13:12:59 · 4565 阅读 · 0 评论