如何测试其服务器的消息推送能力的?

如何测试其服务器的消息推送能力的?,第1张

一般都是做自动化测试,不会采用线上测试,更不会找实体手机设备来测试。好的推送 提供通知+自定义消息+富媒体三重个性化推送方式,满足任意场景需要,好的推送 3分钟快捷集成SDK,推送毫秒级送达,降低开发成本,同时有效提升用户留存率。
据了解,在第三方推送市场上,下发速率较高的几家,普遍认为较好的有极光推送,消息下发数可达百万条每秒。极光推送是国内最早的第三方移动消息推送服务供应商,累计为超过150万移动应用提供服务极光推送 ,系统性能稳定,送达率高,延迟率低还支持用户分群的推送功能。
JPush 是经过考验的大规模 APP 推送平台,每天推送消息数超过 5 亿条。开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 Web 端控制台发送通知,统计分析推送效果。JPush 全面支持 Android, iOS, Winphone 三大手机平台。

一、测试方式不同

1、app测试:指对移动应用进行测试,包括自动化测试和人工测试等。

2、Web测试:软件测试的一部分,是Web应用程序测试的一种类型。

二、测试内容不同

1、App测试:模拟用户动作,在黑箱中测试应用,使用Cucumber作为自然语言编写测试用例。还记录了应用程序测试 *** 作,以帮助开发人员审查他们的测试。

2、Web测试:包括内容测试、界面测试、功能测试、性能测试、兼容性测试、安全性测试等。

三、特点不同

1、应用程序测试:您可以添加一个预测试会话来确认环境已经准备好进行测试,您还可以知道哪些错误是由不稳定的环境引起的,哪些是常见的测试用例错误。

2、Web测试:测试可以检测浏览器端和服务器端应用程序中尽可能多的错误,并及时纠正它们,以确保应用程序的质量。

1、通用指标

指Web应用服务器、数据库服务器必需测试项,包括:处理器时间:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和。可用内存数:如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重。物理磁盘读写时间。

2、Web服务器指标

平均每秒响应次数为总请求时间与秒数之比。平均每秒业务脚本的迭代次数。成功的请求和失败的请求。成功的点击次数和失败的点击次数。每秒点击次数、每秒成功的点击次数和每秒失败的点击次数。尝试连接数。

3、数据库服务器指标

用户连接数,也就是数据库的连接数量。数据库死锁量。数据库缓存的命中情况。

扩展资料

对被测的Web应用程序进行需求分析,即对所做的测试作一个简要的介绍,包括描述测试的目标和范围,所测试的目标要实现一个什么样的功能,总结基本文档、主要活动。

写出测试策略和方法,这里包括测试开始的条件、测试的类型、测试开始的标准以及所测试的功能、测试通过或失败的标准、结束测试的条件、测试过程中遇到什么样的情况终止和怎么处理后恢复等。

一个Web应用程序由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序由多个Servlet、JSP页面、HTML文件以及图像文件等组成。所有这些组件相互协调为用户提供一组完整的服务。

参考资料来源:百度百科-web应用程序

参考资料来源:百度百科-Web测试

################### cpu性能查看 ############################################################
1、查看物理cpu个数:
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
2、查看每个物理cpu中的core个数:
cat /proc/cpuinfo |grep "cpu cores"|wc -l
3、逻辑cpu的个数:
cat /proc/cpuinfo |grep "processor"|wc -l
物理cpu个数核数=逻辑cpu个数(不支持超线程技术的情况下)
########################### 内存查看 ################################################################
1、查看内存使用情况:
free -m
total used free shared buffers cached
Mem: 3949 2519 1430 0 189 1619
-/+ buffers/cache: 710 3239
Swap: 3576 0 3576
total:内存总数
used:已经使用的内存数
free:空闲内存数
shared:多个进程共享的内存总额
- buffers/cache:(已用)的内存数,即used-buffers-cached
+ buffers/cache:(可用)的内存数,即free+buffers+cached
Buffer Cache用于针对磁盘块的读写;Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I/O系统调用的时间。
对于 *** 作系统来说free/used是系统可用/占用的内存;而对于应用程序来说-/+ buffers/cache是可用/占用内存,因为buffers/cache很快就会被使用。我们工作时候应该从应用角度来看。
################# 硬盘查看 ##########################################################################
1、查看硬盘及分区信息:
fdisk -l
2、查看文件系统的磁盘空间占用情况:
df -h
3、查看硬盘的I/O性能(每隔一秒显示一次,显示5次):
iostat -x 1 5
iostat是含在套装systat中的,可以用yum -y install systat来安装。
常关注的参数:
如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
如果idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。
4、查看linux系统中某目录的大小:
du -sh /root
如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录,然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录:
du -cksh |sort -rn|head -n 10
############################################ 查看平均负载 ####################################
有时候系统响应很慢,但又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待。
最简单的命令:
uptime
查看过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。
还有动态命令:
top
我们只关心以下部分:
top - 21:33:09 up 1:00, 1 user, load average: 000, 001, 005
如果每个逻辑cpu当前的活动进程不大于3,则系统性能良好;
如果每个逻辑cpu当前的活动进程不大于4,表示可以接受;
如果每个逻辑cpu当前的活动进程大于5,则系统性能问题严重。
一般计算方法:负载值/逻辑cpu个数
还可以结合vmstat命令来判断系统是否繁忙,其中:
procs
r:等待运行的进程数。
b:处在非中断睡眠状态的进程数。
w:被交换出去的可运行的进程数。
memeory
swpd:虚拟内存使用情况,单位为KB。
free:空闲的内存,单位为KB。
buff:被用来作为缓存的内存数,单位为KB。
swap
si:从磁盘交换到内存的交换页数量,单位为KB。
so:从内存交换到磁盘的交换页数量,单位为KB。
io
bi:发送到块设备的块数,单位为KB。
bo:从块设备接受的块数,单位为KB。
system
in:每秒的中断数,包括时钟中断。
cs:每秒的环境切换次数。
cpu
按cpu的总使用百分比来显示。
us:cpu使用时间。
sy:cpu系统使用时间。
id:闲置时间。
标准情况下r和b的值应该为:
r<5,b=0
假设输出的信息中:
如果r经常大于3或4,且id经常少于50,表示cpu的负荷过重。
pi、po长期不等于0,表示内存不足。
bi经常不等于0,且在b中的队列大于2或3,表示io的性能不好。
################################# 其他参数 #####################################
查看内核版本号:
uname -a
简化命令:
uname -r
查看系统是32位还是64位的:
file /sbin/init
查看发行版:
cat /etc/issue
或lsb_release -a
查看系统已载入的相关模块:
lsmod
查看pci设置:
lspci

压力测试:有两个方案,都是用同步的思想,一个是开多进程与多线程,同时向服务器发送NTP包,如果机器好的话,会平均给你反回NTP包,你可以用抓包工具查看,注意,这里的发包是不加延时的,只是程序运行的时间,如果算法好的话,你可将时间缩得很小,这个方法我叫触发。
方案二,在方案一的基础上加上延时,200ums发一包是相当快的了,但是NTP里面的却可以做到收到立即响应,时间间隔相当小,只有100ums左右,。程序你可以及网上找上。其实就是一个用一个socket发一个NTP包,但是你要是想做好的话,还是要一些基础。需要用到多进程与多线程,socket编程,NTP协议。
我觉得从压力测试就可以看到性能与稳定性了,不过稳定性还要求开机时间的长短,你可以尝试,测试端与被测试机同时着,不断往被测试机发包,发他几天几夜的,同时打开抓包工具监测,这种的测试,你可以考虑用延时,每隔几ms发一次,个体自己定。
对于客户端,主要是时间同步吧?还有一个是接收包的处理能力,个人认为,这个与服务器测试没有多大的区别。

软件测试基本流程是:测试计划,测试需求分析,测试用例的编写,测试执行,测试结果的分析,测试报告的编写。开发人员修改了bug后,一般要进行回归测试这样来进行测试的迭代。这就是大致的一个流程。希望对你有所帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12735792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存