美文网首页软件测试
鉴定一下软件测试热门词汇

鉴定一下软件测试热门词汇

作者: 测试奇谭 | 来源:发表于2021-09-28 18:06 被阅读0次

    鉴定一下软件测试热门词汇。

    (本期以一个简单的电商平台举例,该平台有商品管理、购物车管理、订单管理、会员管理四个模块)

    回滚

    电商平台发布上线后,你熟悉的打开商品页面,进行线上验证。

    But,f**k,数据加载不出来!

    image-20210921095726694

    当开发大哥挠掉几撮头发,依旧没有找到问题原因时,只能眼神呆滞地望着你,丢了一句:咱回滚吧……

    image-20210921095615038

    于是,为了确保业务稳定,开发大哥将代码切换回到上一个正常的版本。这个切换操作就称之为回滚——向前回到上一个稳定的版本

    脏数据

    电商平台发布上线后,你熟悉的打开页面,进行线上验证。

    这次要验证新增商品分类的功能,然而因为线上验证流程的不规范,你在新增分类名时,将其打成“测试test”。

    这样的数据就叫脏数据——不符合环境规范的数据

    image-20210921100601549

    如果用户看不到这条数据,还可以删数据挽回颜面;但如果看到了,并且产生了严重的影响,便会升级为线上事故,你得做好奖金被扣,亦或被辞退的准备。

    空指针

    你在电商平台购买了一块,却发现包裹是空的——包裹里没有“对象”。

    image-20210921101353943

    你写了两行JAVA代码,运行时报了空指针错误java.lang.NullPointerException

    image-20210922112704384

    这是因为,array是null,不会创建新的对象(无内存地址),故在调用这个数组时会产生空指针异常。

    空指针——当调用的对象是空(一个指针不指向任何内存地址),而抛出的异常。

    微服务

    在传统的应用架构时,所有的系统都在一套代码上。

    比如,开头提到的简单电商平台,它有商品管理、购物车管理、订单管理、会员管理四个模块。

    试想,商品管理上新了一个功能,这套代码是不是要全量发布?你得拉着负责购物车、订单、会员管理的研发、测试一起加班上线,并且,一旦服务上线出现问题,其他服务也会跟着出问题。

    微服务便可解决这类问题——将应用由原来的单体变成几十上百个不同的应用,应用间通过接口、消息等方式通信。

    image-20210921103849135

    此外,微服务化后,不必每个系统都用同一种编程语言实现,比如商品系统,你可以用Java写,购物车,你可以用Python写……

    分布式

    有了微服务的概念后,便能很好理解分布式。

    将不同的应用部署到不同的服务器上,就叫分布式部署。比如,将商品系统部署到A服务器上,将购物车系统部署到B服务器上。

    此外,将单个应用的各组件分开部署,也叫分布式部署

    比如,一个会员系统,它有数据库(管理增删改查会员数据),有前端页面(展示会员信息等样式),有中间件(收发消息,如订单完成,会通知会员系统给该会员增加积分)等等。也可以采取分布式部署,将这些组件部署到不同的服务器上。

    image-20210921103726823

    总的来说:

    微服务是分散能力,即,可广义理解为将一个应用拆分为多个应用,它是一种设计方法。

    分布式是分散压力,即,将服务部署到不同的服务器上,解决高并发类问题,它是一种部署方式。

    集群

    多台服务器部署同一个应用,便构成该应用的集群。

    比如,有十台服务器部署的会员服务,那就叫会员系统集群。

    image-20210921104002412

    负载均衡

    实现了分布式+集群,就必须考虑负载均衡。

    还是拿会员服务举例。

    假设一台服务器只能支持100个用户同时查看会员积分,但在双11时,同时有1000人查看会员积分,该怎么办?

    image-20210921104214700

    方法一:不增加服务器,让用户排队,先请求到的先查到,但是,你得处理10个批次,如果每个批次用时1s,那么有的用户可能会等待10s之久。

    方法二:再增加9台服务器,支持1s内同时允许1000名用户查看会员积分。

    一般来说,选择方法一的都是伞兵。但是,方法二仍旧有问题,如果这1000个用户,同时请求到一台服务器了,还不得回到原点?

    这时,便需要负载均衡——你可以简单理解为将这1000个查询请求(将负载)平均(进行平衡)分到(分摊到)10台服务器(各个操作单元上)

    全链路

    前面讲到了微服务,将单个服务拆分成多个系统,每个系统即独立运行,又相互关联。

    那么,这些系统相互关联形成的流程链条,就称为全链路

    比如:登录会员—>查询商品—>将商品加入到购物车—>下单成功—>会员记录积分。

    这样一个完整的流程,就是一个加购下单全链路。

    image-20210921104402732

    最后

    咱们怀着欣慰的心情,学学如何写bug。

    image-20210921142048454 image-20210921142938471 image-20210921143052620 image-20210921142644750

    下回

    攒够一波,再跟大家鉴定一下软件测试热门词汇。


    测试奇谭,BUG不见。

    大家好,我是谭叔。

    节前,一位群友说她没接触过后端测试,不懂回滚、脏数据、空指针等词汇。于是,我安排了这篇文章。

    image-20210921143231596 image-20210921144312305

    当然,为了方便大家快速理解,有的地方,我讲得很浅、很片面,不过,你完全可以就着理解方向再去细化学习,以掌握到更多知识。

    看到这里,有的人可能会问:作为一枚测试,我干嘛要关心这些词汇?

    道理很简单:一名测试连待测系统“长”什么样子,都不知道,很不专业,会漏测很多东西

    比如,你测试的系统,线上环境数据库是读写分离的,有一个主库和多个从库,而测试环境为了节省资源,只配置了一个主库。那么,一些由主从延迟引发的业务问题,你就无法覆盖测试,或者说,你都不知道该怎么测试。

    so,要不要了解,要不要学习,看你自己~

    最后,如果你还有弄不懂的词汇,欢迎评论留言,下回攒够一波,再跟大家鉴定软件测试热门词汇。

    image-20210921142522240

    相关文章

      网友评论

        本文标题:鉴定一下软件测试热门词汇

        本文链接:https://www.haomeiwen.com/subject/mgizgltx.html