case进入代码仓库的,然而事实还是打了我们的脸.故在本文,笔者将会从最近的所学所想来谈谈编写测试的时候我们应该注意什么....当业务代码在线上运行时,可能感觉不到测试用例的存在和价值,但在代码质量的保障上,却是非常关键的。新增代码应该同步增加测试用例,修改代码逻辑时也应该同步保证测试用例成功执行。...AIR原则具体包括: A: Automatic (自动化) I: Independent (独立性) R: Repeatable (可重复) 简单的解释一下三个原则: 单元测试应该是全自动执行的...测试用例通常会被频繁地触发执行,执行过程必须完全自动化才有意义。 如果单元测试的输出结果需要人工介入检查,那么它一定是不合格的。...那么我们该如何编写这样的测试呢?
至于外链如何去建设,明月个人的经验是这跟你网站优质内容输出建设可以同步进行,有内容就要有外链,这是需要长期坚持的,只有这样你的 SEO 才能稳定、流量也能稳定,剩下的就看你如何去转化落地变现了,当今做网站已经不可能一嘴吃个胖子了
问题是,需求会源源不断地进来,我们永远也不可能清空所有需求,996也做不完,这辈子都不可能。 我们能做的,是不断将需求排序,实现优先级最高的需求。那么问题来了,我们应该如何给需求排序?...程序员应该都知道,代码怎么可能没有BUG呢?很多时候只是我们没有发现,或者是知道了却没有及时修复。 然而,对于当前产品的BUG,我们往往容易忽视。...还有一种微妙的情况,当用户反馈貌似不可能出现的BUG时,我们会本能的觉得产品应该没有问题,问题应该出在用户那里,大概是他的浏览器或者网络,或者某种无法解释的原因导致的。...然后,我们检查了一下前后端代码,发现没有问题。 既然业务代码没有问题,那应该没有BUG,这事大概是什么奇怪的原因导致的,我们什么也不用做吧......参考 产品需求优先级的艺术 -- Kano模型 如何成为优秀的技术主管?你要做到这三点 为什么美国程序员工作比中国程序员工作轻松、加班少?
知识引擎我们在生活中应该多多少少接触过对话机器人,比如我们都知道很多客服其实都是机器人先档在前面回答用户问题的, 有些机器人有相当程度的知识储备, 比如你去买了一辆车, 然后想咨询客服这辆车的保险的细节...如何检索答案首先需要澄清一下对话机器人的一个整体基本逻辑,当用户提出问题后,本身系统会先把问题经过一个多分类模型用于识别用户意图,因为根据用户问题的不同,我们需要给后面不同的子系统来回答, 比如是通用聊天类的...如何针对这些模型进行测试可以看出对话机器人是由 N 多个模型组合在一起的系统。 知识引擎也是由多个模型组合在一起才完成的内容检索。 那么我们来看一下要如何测试这些模型。...意图识别模型就如我们上面说的,系统需要先用一个多分类模型去识别用户问的这个问题是属于什么类型的,应该发往哪个子系统来回答。 只有属于知识问答这个意图的时候,才会发往知识引擎做文档检索/匹配。...这一次就先介绍在这个系统里知识引擎起到的作用以及测试人员一般要面对什么样的测试场景。 其实大家可以发现这里面的很多测试工作是繁琐的,人工的,很多就是纯纯的体力活。
推荐系统简介推荐系统的问题根据之前学习到的内容,我们已经基本了解到了要如何构建一个二分类模型。我们都知道模型大体可以分成,回归,二分类和多分类。...但推荐系统是属于哪一种场景呢,比如我们常见的广告推荐或者内容推荐,这些场景都是由系统来判断用户的喜好来推送广告或者视频内容,以追求更高的点击率和转化率。这种场景怎么看都不像跟这三种类型的算法有关系。...但是在推荐系统中, 我们并不会因为用户喜欢这个内容的概率超过了某个阈值就进行推送, 因为候选集合太多了, 我们不能把超过某个阈值的都推送过去(广告位或者内容推送是有数量限制的)。...如此我们就把一个推荐系统的问题转换成了一个二分类的问题。 我们可以理解为世界上所有的监督学习场景,都是由二分类,多分类和回归问题变种而来。...比如我们的训练数据中有一个句子this is apple juice,我们期望当 出现 this is orange __ 的时候,模型能够为我们推测出这个空白处也应该填写单词juice。
我们不讨论这些互联网巨头应该采用什么方案防止用户密码被破解,我知道的方案人家养的那些技术大拿更知道了。...我们就来说一下,如果我们有机会自己从零开始做一个系统时,应该选择什么样的哈希算法有效防止用户的密码不被破解。 既然想保护用户密码不被破解,就先了解下破解密码的手段吧。...Gosney使用商业级硬件测试比对了各种哈希算法的性能。...鉴于硬件的进步速度,我们应该期望今天使用相同的硬件的花费会大大降低,或者使用今天的硬件,性能会比2012年时提高大约6-8倍。...下一篇文章我们将展示,在Go语言写的项目里如何使用bcrypt进行密码哈希。 PS. 你的项目用的密码哈希解决方案是什么?用什么语言实现的?来留言里说说吧。
版本 日期 备注 1.0 2019.3.21 文章首发 1.1 2021.5.21 修改标题:再谈自动化测试——我们在编写测试时,应该注意什么-> 技巧:我们在编写测试时,应该注意什么 背景 最近项目在测试阶段陆陆续续的测出了一些...bug.这个情况刚出现的时候,让笔者很困惑——平时我们的每个feature代码都是跟随着大量看起来考虑很周全的case进入代码仓库的,然而事实还是打了我们的脸.故在本文,笔者将会从最近的所学所想来谈谈编写测试的时候我们应该注意什么...AIR原则具体包括: A: Automatic (自动化) I: Independent (独立性) R: Repeatable (可重复) 简单的解释一下三个原则: 单元测试应该是全自动执行的。...测试用例通常会被频繁地触发执行,执行过程必须完全自动化才有意义。 如果单元测试的输出结果需要人工介入检查,那么它一定是不合格的。...那么我们该如何编写这样的测试呢?
构建自动化测试系统中,需要根据项目大小和对错误的容忍程度,酌情补充不同类型和级别的用例。 3.经典测试金字塔 ? ...、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 系统测试(System Testing) 将软件系统看成是一个系统的测试。...时间大部分在系统测试执行阶段 测试阶段:集成测试通过之后 测试对象:整个系统(软、硬件) 测试人员:黑盒测试工程师 测试依据:需求规格说明文档 测试方法:黑盒测试 测试内容:功能...测试阶段:系统测试通过之后 测试对象:整个系统(包括软硬件)。 测试人员:主要是最终用户或者需求方。 ...试,有必要的话,需要对应增加上述自动化用例 星云测试 http://www.teststars.cc 奇林软件 http://www.kylinpet.com 联合通测 http://www.quicktesting.net
简介当今软件开发中,自动化测试脚本的编写是确保软件质量和稳定性的重要步骤。随着人工智能和自然语言处理技术的进步,像ChatGPT这样的语言模型已经成为编写自动化测试脚本的有力工具。...ChatGPT可以根据给定的指令和条件生成代码,简化了测试流程并提高了效率。演练示例假设我们有一个简单的网站,需要编写一个自动化测试脚本来验证登录功能。我们可以利用ChatGPT来生成这样的脚本。...首先,我们与ChatGPT交互,说明我们想要测试登录功能,并列出测试步骤和预期结果:用户:你好,我需要创建一个自动化测试脚本来验证网站的登录功能。ChatGPT:好的,请列出测试步骤和预期结果。...ChatGPT根据我们的需求生成了一段基本的测试脚本,我们可以进一步完善和调整以适应更复杂的测试场景。...总结本文主要介绍了如何使用ChatGPT帮我们写自动化测试脚本,我们在让ChatGPT帮我们写自动化测试脚本时,需要明确我们的要求,比如我们需要写web自动化还是接口自动化测试的脚本,以及我们要使用哪个技术栈
而早在国内有这个变化前,国外的微软、Google 等大公司也在逐渐减少专职的软件测试岗,让开发承担起质量保证的主要职责。 那么问题来了,国内的全自动化测试离我们还有多远?...所以,自动化并不是我们想象的那么美好,特别是在没有开发配合的情况下,有时候我们可能还需要去考虑怎么绕过我们软件自身的逻辑来保证自动化执行的效果。...但是有经验的测试人员都会发现,我们发现的很多 bug 其实都是意料之外的,既然是意料之外,就是我们可能没有这个预期到要去这么测试,只是测试过程中通过发散性思维进行了扩展测试,然后发现的问题,专业点的把这个过程叫做探索式测试...目前的自动化实现,决定了它没法进行探索式测试,所以没有人工参与的自动化暂时肯定是无法完全取代人工的。 开发要具备质量思维 通过上面两点的说明,应该很容易看到,人在自动化测试过程中还是起关键作用。...比如可以支持测试工具、测试系统的维护,因为可以在需求实现过程中就考虑自动化的落实,所以让自动化实现的成本降低。
下面我们了解为什么无法不建议使用Selenium WebDriver实现所有自动化,并分析它不独立支持哪些测试场景。 验证码 大多数网站上看到各种清怪的验证码,用来评估用户是机器人还是真人。...两因素身份验证 不应该进行Selenium自动化的另一种情况是双因素身份验证,其中移动应用程序通过使用身份验证器并电子邮件、手机号等发送消息。...性能测试 性能测试是另一个不应该使用Selenium WebDriver自动化的测试场景。...在线屏幕共享平台 COVID-19大流行的兴起增加了我们对远程工作的在线视频会议平台的依赖。由于其不断增长的需求,测试和自动化用户测试场景变得至关重要。...因此,理想情况下,应该考虑使用这些工具来实现最大效率并涵盖大多数测试场景。 结论 自动化测试旨在节省精力、时间和金钱,而Selenium是跨浏览器兼容性测试的理想工具。
那么,如何才能从原型中分析出产品存在的问题呢?这里就涉及到了对于产品原型的测试。 1....测试产品原型的目标就不一样了,它可以有很多种,比如:测试一个界面的用户友好程度、测试一个交互产生的结果是否符合用户的心理期待,等等。...但是在测试还需要特别注意一点,那就是尽量不要在一次测试中检查过多的问题,最好保持一次测试中测试目标的固定。...如果测试的目标是设计中的重点,那我建议在保持测试过程中测试目标固定的同时,也还要保持本次测试目标的唯一性。 ? 2....第二,这部分人群与开发团队期待的目标用户是直接接触的,有时他们不仅会从用户的角度考虑,还会从如何让用户接受的角度去考虑问题。所以这部分群体参与原型测试,也许会带来意想不到的收获。 ? 3.
导读:今天让我们聊聊到底探索式测试应该怎么来执行呢?...02 实例介绍探索式测试SBTM如何开展 接下来我们以一个酒店入住登记的场景作为例子来看看SBTM是怎么进行的,场景如下: 某酒店针对其酒店APP系统的旅客入住自助登记模块进行优化更新,针对不同级别的会员...我们来看看如何开展SBTM进行探索式测试。 1. 计划步骤 在计划的过程中,我们需要确定测试的目标,分解测试的Session,准备安排相关的测试资源等。 那么什么时候开始创建Session呢?...关于Charter 一个好的Session Charter并不用那么精确,它本质上是一个单一的测试场景,但它也不应该太宽泛和模糊,以至于Session没办法在我们指定的时间盒内完成。...Summary只是Session结果的一个高级视图,应该进行一个完整的汇报以最大化探索式测试的价值。 3.
概述 虽然集成测试系统,如我们在ZStack—自动化测试系统1:集成测试中所介绍的,强大到可以暴露开发过程中大多数的缺陷,也是有着固有的弱点的。...ZStack的系统测试系统被设计用于以下两个目标: 复杂的场景:这些场景应该比真实世界的使用场景更复杂,以测试软件的极限。...系统测试 zstack-woodpecker完全由我们自己创建;在决定重新造这个轮子之前,我们试过了流行的Python测试框架,像nose,然后最终选择了创造一个新的工具,用以最大化地满足我们的目标。...你可以在ZStack--自动化测试系统3:基于模型的测试中找到细节。...模块化不只是帮助简化测试用例的编写,也为基于模型的测试构建了一个坚实的基础,下篇文章我们会详细讨论。 总结 在这篇文章中,我们引入了我们的系统测试系统。
观点:测试数据质量与你拥有多少数据无关,而与你如何为其建立数据质量测试有关。 客观的讲,当下有能力、有意愿去构建数据质量测试的企业少之又少,甚至绝大部分企业并未意识到数据质量需要测试。...但是我们如何评估数据质量以确定数据可用?我们如何知道数据质量的构成呢?...根据质量ios标准、经典软件测试理论,我们在考虑定制数据质量checklist时,应该至少包括下面的内容: 可利用性:数据的可利用性如何?这些数据是你实际拥有的吗? 可访问性:数据可以访问吗?给谁?...可靠性:数据的可靠性如何?我们可以相信它?它合适我们的目的? 一致性和完整性:数据的一致性如何?是否完整?还有空白吗?...等等 重要的数据质量指标应该是结合行业需要、特定领域而所有不同,而不是照搬一个模板。 2. 进行初步测试,以确定基准 如果不进行初步的测试,尝试定义基线状态,就无法真正的推动数据质量的提高。
今天来聊一下手工测试如何转自动化?如果你还没入行或者刚毕业可以先不考虑学习自动化,把基础技能掌握好,也是可以找到一份初级测试岗位的,会编程和自动化更多的来说算是加分项。...关于如何选择适合自己的开发语言,以及测试人员应该如何提升编程能力,之前的文章已经写过很多了,这里不再赘述,大家参考下面这两篇文章即可。 软件测试:Java VS Python 如何提升编程能力?...掌握编程语言之后,便是要开始主攻自动化测试了,总共有三种web,app,接口三种自动化。不止一次推荐大家学习应该首先学习接口自动化,应用最多,性价比最高,最好跳槽。...企业做自动化的目的主要是对那些已经成熟并且变化较少的功能模块做回归测试,比如上线前将系统那些本次版本没有功能修改的接口全部跑一遍,看下有没有问题。...以及日常监控各个系统环境,及时发现问题,找开发解决等等。 在企业中,自动化工程师分为两种,一种是自动化测试用例工程师,另一种是自动化测试框架开发工程师。
* 用例执行步骤出错 * 测试报告数据出错 * 忘了执行某些用例 * 忘了设置预置条件 * 错误的理解被测系统的行为 通过实现自动化,可以避免出现这些错误。...当初自己做的时候一直是基于Python去做的自动化,同时Python自动化也比java自动化更为容易上手一些,在这里我就按照Python自动化的思路去说一下如何学习自动化,解答完这个问题,文章的后半部分也会分享一下做自动化测试中容易出现的一些问题...而事实上,录制得到的脚本通常是不可重用的脚本,脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。...通常在自动化测试过程中,我们都忙着搭建自动化框架和编写测试脚本,但是我们往往忘记了测试的本来目的:找bug。...12、自动化测试能发现大量新缺陷 发现更多的新缺陷应该是手工测试的主要目的,不能期望自动化测试去发现更多新缺陷。事实上,自动化测试主要用于发现原来的缺陷。
2020 易观 A10 数据智能峰会以“重构”为主题,希望同各个行业的伙伴共同探讨如何以数据能力重构企业竞争力,在快速变化的环境中把握“为用户创造价值”的商业本质,完成从「流量」到「留量」的蜕变。...国内企业依旧应该秉持开放包容的态度,继续努力拥抱开源生态。与此同时,企业在使用开源项目时也应该注重整个生态的培养,不能一味追求成本节约,应该尊重开源贡献者的付出,这样才能让整个生态进入良性循环。...腾讯看点实时数仓与多维实时分析系统搭建 当业务发展到一定规模,实时数据仓库就成为必不可少的基础服务。而从数据驱动的角度,多维实时数据系统也是非常重要的。...Kubernetes 主要解决公司开发过程中部署、维护、滚动升级及高可用的需求,实现自动化运维,同时解决开发、测试、生产环境不一致的问题,使开发人员将重心放在产品研发上。...随着数据驱动的新产业模式逐渐推广普及,我们有望在不远的将来看到许多行业迎来巨变,为企业和用户开拓全新的旅途。 ----
GitHub 封停账号事件的本质应该是“GitHub 的中立性”受到了开发者们的质疑,损伤了部分开发者对于“GitHub”乃至“开源”本身的信心。...如果我们将这些问题做一个简单概括,大致可总结为三点:是否有本土化运营支持,能否实现自主可控,能否支持地区性的个性化需求。
nginx和apache是两个开源的web服务器,也是我们常用的web服务器,然后很多时候我们的想一下到底选哪个?这两个到底哪个好?...我们又应该如何选择呢?...几乎就是建之后,从来不用管,而且各种低配置服务器都可以运行,而且也很稳定,目前我记得大部分虚拟主机厂商都是使用nginx,由于nginx的自身优势,他的并发承受能力非常强,就目前我在使用的cdnfly系统也是用的...那么优点和缺点也了解了,我们实际建站的时候应该怎么选择?...我的建议呢,像我们平常一些站长,我们自己搭建一个网站建议使用nginx,就像我这样搭建一个博客的话使用nginx还是非常好的,或者我们服务器配置很低的话使用nginx也是非常好的,但如果你是比较专业的人士
领取专属 10元无门槛券
手把手带您无忧上云