首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2018-08-05 没有测试用例的代码,根本不应该跑在服务器上

如果专门追求单元测试必须测试最小的单元,反而容易造成多余的测试并且不易维护。换句更严谨一点的说法,我们要考虑测试的场景再去选择不同粒度的测试。 单元测试和集成测试即可以手工执行,也可以是程序自动执行。...但现在一般提到单元测试,都是指自动执行的测试。所以我们下面提到的单元测试,没有特别注明,都是泛指自动执行的单元测试或集成测试。 单元测试入门 下面我们先看两个案例,感受一下单元测试到底是什么样子的。...当然,单元测试运行速度得快,一般是在秒级的,太慢的话就不能及时获得反馈了。 为什么要写单元测试? 单元测试的好处 确保代码满足需求或者设计规格。...可以看到,要做到条件覆盖甚至路径覆盖,会需要非常多的测试用例。一般情况,对于复杂的逻辑,单元测试做到分支覆盖就不错了,必要的话再做更多完全的覆盖。...即使对于需要写单元测试的模块,我们也应该关注最核心最重要的测试用例,而没必要单纯的追求覆盖率,或者追求条件覆盖甚至路径覆盖,一般做到分支覆盖就可以了。

1.4K50

性能测试项目中遇到的问题和解决方法

排查步骤: 1、查看是否有资源瓶颈 重新压测该接口,观察应用服务器、数据库服务器、压力机资源使用情况,发现使用率并不高,所以可以排除压力过大造成的资源瓶颈。 ?...3、查看磁盘使用情况 因为测试环境调试时是info级别,发压力的时候会产生大量日志,占空间特别大,每清理一次过不了多久又快满了。 ?...2、查看服务器日志,发现报连接池不够错误。加大连接池晚上再跑一次稳定性。 3、重跑稳定性后没有周期性掉坑的现象了。...问题四: 我们知道测试稳定性的目的是为了观察有没有内存溢出情况。跑了12小时之后,用HPJmeter打开gc文件,发现还没有达到能触发fullgc的回收点。 ? nmon监控结果: ?...3、重测该场景,考虑到测试时间有限,最优处理能力跑24小时不能正常触发fullgc回收,就用极限压力去测,反正目的是观察内存回收情况,如果能正常回收了则能证明不存在内存溢出情况。 ?

1.8K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    老板:如何证明你的程序性能好?

    你可以理解是基于某个准则进行测试,便能得出一个结果。 比如:在几核几G的服务器上,运行这段代码100次,耗时多久。...这个 N 表示单位时间内被执行 N 次,因为我们测试时可以指定我们的基准测试跑多久,默认是 1 秒。 如何启动? 我们的代码写好了,怎么启动测试呢?...统计测试内存 基准测试还可以对一段代码可能存在的内存分配进行统计: $ go test -bench=JointString -benchmem goos: darwin goarch: amd64 pkg...0 allocs/op 表示每一次调用需要分配的内存次数 有时候这个基准测试并不是特别准。 总结 关于基准测试,一般我们是不建议使用自己的开发电脑做测试。 为什么呢?...因为我们自己的开发电脑,往往都跑有其他的程序,比如 微信、QQ 开发工具等。 这些程序都会影响我们测试程序的性能。 比较好的建议是专门用一台机器来做测试,这样跑出来的测试数据相对来说会更加的准确。

    25820

    常用VPS服务器测试脚本代码,综合性能:硬件IO SpeedCPU跑分回程路由4k文件读写上传下载测试脚本

    新购买VPS云服务器后常用VPS测试脚本代码:跑分看看你的VPS综合性能。...综合测试VPS硬件信息、CPU,核cores,CPU性能跑分,内存,硬盘大小,硬盘I/O speed、speedtest,国内国外下载速度Download Speed和网络延迟,Trace去程回程路由,...wget -qO- git.io/besttrace | bash 一键测试四网回程脚本 测试服务器到我们指定节点IP的路由回程,或者脚本自带的四个节点回程,包括电信、联通、移动、教育网四网。...通过综合测试,可以快速评估服务器的综合性能,为使用者提供服务器硬件配置信息。...简单的对CPU进行运算测试,需要跑的时间很长,请耐心等好最后测试出来的跑分。

    6.5K40

    我的服务器接连被黑客攻击,我好难

    最近在几台测试服务器上跑一些业务数据,但是过了几天服务器突然变的奇慢无比,敲个命令就像卡壳一样,有时候甚至都连接不上,最开始我以为是网络问题,就强行kill掉进程,重新跑一下进程,最后实在受不了,就上阿里云后台说重启下服务器吧...看到这样我以为是因为我跑了大量的数据导致CPU飙升的,然后我就kill到了进程,并且重启了服务器,启动之后CPU正常,我以为就是我跑数据导致的,此后我就没用这台服务器跑数据了,我就单纯的以为这就算处理好了...接下来删除kdevtmpfsi文件,一般在tmp目录下 还有一个文件(kinsing)我们也要将其杀死删掉 这里需要注意,我试了几台服务器kinsing文件可能存在不同的位置,但是我们可以通过上面的方式看到文件路径...查看服务器的定时任务,crontab -l,大概会看到如下的任务,没有就不用管了,你可以将此ip查一下,一般都是国外的ip。...这也就是为什么我明明杀死了病毒,没过多久又出现了的原因。

    1.4K40

    腾讯云CVM48核CPU压制视频体验 | 技术创作特训营第一期

    图片购买服务器接下来就是购买服务器,按量付费的服务器就是按小时来计算费用的。图片这个配置的选择其实也是蛮讲究的,不过一般需要用到云服务器的人应该都是会比较清楚了。...还有其他的很多的选项,比如说什么内存比较大的呀,或者是显卡比较强的。...测试内网访问存储桶登录上之后就是熟悉的windows界面,因为我们的素材要通过内网下载嘛,所以先要做一下测试,看是不是内网访问我们腾讯云的存储桶。...因为只开一个的话,软件是跑不满cpu的,只能占到百分之40左右,双开之后对压制速度没有影响。至于为啥跑不满,我就不知道了。。。小结好了,我写到这一段的时候已经过去了好几天了,因为中间碰到了一些问题。...我这个忘了在服务器上试了,但是我试了同样是调用ffmpeg的格式工厂,也是跑不满cpu。总之到这里的时候我已经有点迷茫了,我想要的是一个不需要太多额外功能,太多参数设置的视频压制工具。

    36220

    腾讯云CVM48核CPU压制视频体验

    我当时候就在想,这个做视频剪辑的,一搞就是几十上百g,那上传真的不知道要多久去了,还不如做自己本地挂一下。 可是问题就来了,我这边在pt站上找到的资源都是mkv的,字幕基本上也是内封进去的。...购买服务器 接下来就是购买服务器,按量付费的服务器就是按小时来计算费用的。 这个配置的选择其实也是蛮讲究的,不过一般需要用到云服务器的人应该都是会比较清楚了。...还有其他的很多的选项,比如说什么内存比较大的呀,或者是显卡比较强的。...测试内网访问存储桶 登录上之后就是熟悉的windows界面,因为我们的素材要通过内网下载嘛,所以先要做一下测试,看是不是内网访问我们腾讯云的存储桶。...因为只开一个的话,软件是跑不满cpu的,只能占到百分之40左右,双开之后对压制速度没有影响。至于为啥跑不满,我就不知道了。。。

    6.8K31

    Docker简介

    Docker用途 提供一次性的环境:比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。 提供弹性的云服务:因为 Docker 容器可以随开随关,很适合动态扩容和缩容。...组建微服务架构:通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。 Docker与虚拟机 ?...一般来说,VMs提供的环境比大多数应用程序所需的资源要多。 虚拟机不足 资源占用多 虚拟机会独占一部分内存和硬盘空间。它运行的时候,其他程序就不能使用这些资源了。...哪怕虚拟机里面的应用程序,真正使用的内存只有 1MB,虚拟机依然需要几百 MB 的内存才能运行,内存消耗感人!...启动慢 启动操作系统需要多久,启动虚拟机就需要多久。可能要等几分钟,应用程序才能真正运行。速度非常感人! Docker架构 ?

    91720

    APP移动端测试

    服务器端的性能,我们可以用LoadRunner或Jmeter工具进行测试,我以Jmeter工具为例子说一下App服务器端的性能测试,首先,确定app的性能测试功能点,比如,查询,提交数据,登陆这些用户常用的功能...,一般会被选来做性能测试,然后,根据该功能点的接口测试需求,或使用fiddler抓包,在jmeter上构造向服务器发送的请求数据,配置好相的设置,并做好服务器的监控(我们的App项目是搭建在linux上的...,用的是nmon工具做监控),然后运行测试,测试完之后,收集CPU,内存等信息,集合聚合报告的内容,分析性能测试结果。...logcat -c清空日志,再获取日志 adb logcat -v time 导到要保存日志的地方 (2)再使用monkey命令adb shell monkey -p 包名 -v 次数,不过次数的话我一般都是算时间来跑...,比如说我跑个5分钟大概要多少次,然后直接跑个1小时的次数这样,然后跑完就看monkey日志,如果说它跑的次数跟我设的次数不一样.就说明monkey中途跑失败了。

    1.5K30

    前端内存泄漏的分析案例

    在最近给客户交付的一个项目中,客户反映系统跑一段时间就会奔溃掉。我的第一直觉就是可能发生了内存泄漏。 复现bug 为了能够让bug复现,我让开发的小伙,先把模拟系统在本地跑起来。...我后来问他,测试的怎么样,他说没有问题呀。我问题跑了多久,他说有一会儿吧,看没问题就关闭了。 一般来说,内存泄漏最终导致奔溃的需要挺长一段时间的,所以我告诉他一直跑,跑到奔溃为止。...查找原因 因为更新了的版本才出现内存泄漏的问题,所以有理由怀疑,就是新增加的功能导致的内存泄漏。 新加的功能是,在一个TWaver的表格中,部分单元格中使用echart 图表来绘制。...选择Allocation instrumentation on timeline,点击start,开始录制内存的记录情况,会发现有一些蓝色的条,永远不会变暗,表示这部分内存始终未被回收: ?...__divPool也有内存泄漏的情况,通过同样的方式定位到了这个问题并最终解决。

    78130

    服务治理治什么,10张图告诉你答案

    凌晨四点被公司的监控告警叫醒了,告警的原因是生产环境跑批任务发生故障。即刻起床处理故障,但还是花了不少时间才解决。 这次故障是一次数据校验的跑批任务,校验前面跑批任务的数据是否正确。...1 监控告警 公司的这次生产告警很准确,找到系统的直接维护人,并且通知到是哪个跑批任务出了故障。这次告警是通过监控跑批任务中间件的任务执行结果来触发的。 一般情况下,告警有哪些类型呢?...比如redis在当前的内存增长速率下,多久会耗尽内存,数据库在当前的增长速率下多久会用光磁盘。 系统资源需要设置一个阈值,比如70%,超过这个限制就要触发告警。...2.2.2 硬件资源故障 这类故障主要分为两类: 硬件资源超载,比如内存不够 硬件资源老化 对于第一种故障一般用监控告警的方式来通知责任人处理,处理的方式主要是增加资源,找出消耗资源严重的程序进行优化。...❞ 3.2.4 ab测试 ab测试是指在生产环境发布多个版本,主要目的是测试不同版本的不同效果。比如页面样式不一样,操作流程不一样,这样可以让用户选择一个最喜欢的版本作为最终版本。

    42720

    大话性能测试系列(1)- 性能测试的基本概念

    ,需要有个新的认识:性能测试,不再是像功能测试一样单纯的找 Bug,而是去找性能指标 转变思维 在做功能测试、自动化测试的时候,我们基本都是依托界面进行测试,也称 GUI 测试,我们的目的就是为了跑通功能...并不是,而是指负载测试,一般都是为了找出系统的最大负载量 就好像你老板说:你去压测下,看看系统能支撑多少用户同时访问我们的系统 什么是性能测试?...范围内的某个值就是当前服务器能达到的性能指标值(基准值) 版本迭代,进行第二次做性能测试,重新跑一遍之前的性能脚本 又会得到一些性能指标值,对比上个版本的性能指标值,看是否有优化(性能变化) 假设这个时候...,偶尔又失败,则是服务异常,出现不稳定的情况 如何取压力值 在负载测试中,我们确认了系统所能承受的最大负载量 压力值 一般取80%左右 灵魂拷问 负载测试一般时间比较短,压力测试时间比较长...总结 压力测试长时间运行,可能会逐渐增加系统的内存占用空间,若得不到有效的内存回收,当达到内存最大值时,系统就会崩掉 压力测试持续运行时间要多久?

    93440

    性能测试 性能测试方案设计思路总结

    3)预测可能存在性能瓶颈的环节(组件、服务器等) 4)明确应用类型 IO型,还是CPU消耗性、内存消耗型-> 弄清楚重点监控对象 5)关注应用是否采用多进程、多线程架构-> 多线程容易造成线程死锁...或者 运行测试期间,部分虚拟用户执行某种业务功能,部分虚拟用户执行其它业务功能 注:这里用例没说到多少用户去跑,跑多久等,这里只是把他当作相同场景用例下的的一组组测试数据了。...3)场景监控对象 针对每条用例,结合“系统分析”第4)点,明确可能的压力点(比如数据库、WEB服务器),需要监控的对象,比如tps,耗时,CPU,内存,I/O等 五、测试策略 1)先进行混合业务功能场景的测试...同疲劳强度测试的区别是,稳定性测试的压力强度较小,一般趋向于客户现场日常状态下的压力强度,当然在通过时间不能保证稳定性的状态下,需要加大压力强度来测试,此时的压力强度则会高于正常值。...d) 强度测试 通常模拟系统在较差、异常资源配置下运行,如人为降低系统工作环境所需要的资源,如网络带宽,系统内存,数据锁等等,以评估被测对象在资源不足的情况下的工作状态 注:疲劳强度测试是一类特殊的强度测试

    3.3K31

    docker笔记1-入门介绍

    每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统,这造成了传统的虚拟也有自己的缺点: 资源占用多 虚拟机会独占一部分内存和硬盘空间。它运行的时候,其他程序就不能使用这些资源了。...启动慢 启动操作系统需要多久,启动虚拟机就需要多久。可能要等几分钟,应用程序才能真正运行 冗余步骤多 虚拟机是完整的操作系统,一些系统级别的操作步骤,往往无法跳过,比如用户登录。...Docker用途 Docker的主要用途有: 提供一次性的安装环境 本地测试他人的软件和环境等 提供弹性的云服务 因为 Docker 容器可以随开随关,很适合动态扩容和缩容。...组建微服务架构 通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。...对比传统虚拟机总结 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为 MB 一般为 GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 参考 阮大神 Docker入门

    37110

    尝试为nodejs贡献代码

    2 技术背景 tcp连接一旦建立,默认是不会断开的,但是操作系统支持心跳机制,只不过默认是关闭的,心跳机制有几个配置,分别是是否开启,多久没有收到数据或ack后开启发送第一个心跳包,隔多久发送一个,发送多少个后认为连接断开...一般来说,心跳定时器超时,操作系统会发送一个新的心跳包,但是如果发送队列里还有数据没有发送,那么操作系统会优先发送。或者发送出去的没有ack,也会优先触发重传。这时候心跳机制就失效了。...这个属性的功能是,在多久没有收到ack后,操作系统就认为这个连接断开了。看一下相关代码。 ? 设置阈值 这是设置阈值的代码。 ? 这是超时时判断是否断开连接的代码。...整个过程比较麻烦的是,每次写完需要编译(尤其第一次),然后跑测试用例。这很费时间。还有一些代码风格的问题。另外libuv的修改是在libuv仓库,不是在nodejs仓库。...4 结果 下面是跑测试用例的漫长过程。 ? 跑测试用例 下面是修改的代码文件 ? 下面是pr,还没review。

    1K10

    分布式系统测试:可靠性及可用性测试概述

    可靠性测试的目的,一般是通过模拟各种故障 或 制造各种突发事项来看系统能否提供正常服务且多久能恢复。...节点可靠性 节点:就是单个服务器,多个服务器通过网络连接组成集群。 一般对节点可靠性测试,常见的有关机。 注意:一般情况下,会有短时间的性能损耗。...内存 内存泄漏保护机制(cgroup)、高压下内存泄漏问题、高内存占用率下系统运行稳态 补充:一般是要求程序没有内存泄漏的。...5、将请求量逐步减少到步骤2里的请求量,或 直接停止请求,此时关注点: ① 系统的CPU、内存能否下降,下降用时多久 流量阶梯增长验证步骤: 1、分布式系统部署好...在过往,我们一般拿出一套专用环境,去跑这种长时间、常见功能或接口的压测,定期定时查看性能指标。

    38111

    小米澎湃,性能几何?浅谈版本的性能表现对比

    不管耗时多久、研发多难、多烧资金,大多吃瓜群众只关心芯片的能力如何。...GPU采用四核Mali-T860图形处理器,相比上一代性能提高1.8倍,相同性能下功耗降低40%,独特的AFBC+ASTC图像压缩技术,使得内存带宽占用大幅减少。...我们期待上市后的性能测试大数据来证明。芯片间的厮杀除了跑分对比,性能测试报告也能对比你造吗?...但请注意:同类型的报告才能进行对比,并且当前版本只支持“标准性能”、“重度性能”、“通用”这三个类型的对比,“Mono内存”和“资源分析”暂不支持报告对比。 ?...腾讯WeTest提供:兼容适配测试;云端真机调试;安全测试;耗电量测试;服务器压力测试;舆情监控等服务。

    60530

    中欧财富:分布式数据库的应用历程和 TiDB 7.1 新特性探索

    期间对 TiDB 做了全方位测试,证实了 TiDB 从架构角度是兼容的、从性能角度是达标的。2022 年,我们采购服务器开始部署 TiDB 集群,逐步将一些周边系统迁移到 TiDB 上 。...每次上线前,必须要保证测试是充分的:业务层面的测试要保证所有的业务都可以跑通;性能方面,每个业务的性能指标不能低于其原先在 MySQL 上的性能指标。...一般会找一个小的停机窗口,关闭 DM 同步,确保数据的一致性之后,把应用切到 TiDB 上。第四阶段就是上线后的保障工作 ,对已上线应用的运行情况和数据库的性能表现做跟踪观察。...另外准备了两台内存配置较高的 TiDB 节点,将一些特殊的、较大的 SQL、比较占内存的 SQL 和慢 SQL 单独扔到这两台 TiDB Server 上去跑,一定程度上起到资源隔离的作用(生产使用 V6...分表分库非常耗费人力成本,有些表刚分完没多久,单表数据量又很快增长到 5 亿+,数据需要再重新分片,这个工程量是非常巨大的。其次,就是 大表的 DDL 。

    25720

    服务器内存使用飙升的排查

    这几天自己线上的乞丐服务器遇到一个问题,io会瞬间飙升到很高很高,造成内存使用飙升。但是实际上并发量并不大(网络连接数)。知道是哪个进程造成的,但是确实排查代码中没有是么地方会有这么大的读写。...用测试脚本跑,同时100个socket连接毫无压力。也不知道对方到底发的什么数据导致这么大的内存占用。 之前也处理过类似的问题。麻烦之处在于很好的定位问题,重现实际的操作。...服务器问题,无非就是资源不合理的使用,造成服务器内存,cpu,io,流量等相关资源出现非常不正常的波动,资源使用率飙升。对于服务器性能问题的排查,没有其他比较好的办法,只能是通过重现复盘去改进。...特别是如果服务器上跑的东西比较多,一个个的排查相当痛苦。 出现问题,首先看日志。如果是线上的,先想办法恢复服务再排查。 看看登录日志,访问日志是否有异常,确定是否有人扫机器。...一般系统日志都会记录kill之前的进程列表,可以很好的分析哪些进程资源占用多。 如果还是没找到原因,那就只能抓网络数据。通过记录的网络数据在测试环境中复现线上问题。

    22.3K20

    嵌入式linux之go语言开发(十一)让web服务器跑在终端上,通过网页配置终端参数

    只要能访问到集中器设备的IP地址即可,如下这张图的web后台是跑在嵌入式linux上的。 ? 那么要在嵌入式linux上用c语言实现一web服务器?在编辑几个网页供客户端浏览器访问?...使用 go语言来搞的话,让你爽到天,几分钟搞定一个web服务器和界面。...以下为在周立功EPC-6G2C-L的ARM板子上的测试: 让大名鼎鼎的gin ,go的一个很流行web框架,直接跑在上面,很流畅,很赞。 生成的可执行文件有13M。...我这嵌入式linux板子的资源256M内存,256M Flash,这么多资源,就运行一功能性的程序,还嫌程序包体积大吗?...姑且不说用c做得多久,用go做的话,两到三周时间差不多了吧。

    3.8K40
    领券