直播软件测试

发表于:2021-2-20 09:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:苗条小胖    来源:51Testing软件测试网原创

  直播是目前全网很流行的一种交互方式,作为新兴行业,国内网络直播产业被广泛看好,海量资本都涌入了这个行业,催生了这个行业的繁荣,大量资金持续流入,直播已成为一种现象级的行业趋势。
  随着直播行业的发展,直播软件层出不穷,抖音、快手、火山、虎牙、花椒……已经拥有了上亿乃至十亿级别的用户,也导致了对直播软件测试的需求同软件的发展产生了大量的矛盾。
  单单是资本催生的大量直播软件,就决定着直播行业的质量:相信没有人会愿意看着动辄卡顿,画面模糊,音画不同步……的直播而兴致勃勃地点赞刷火箭游艇……
  对于软件测试工程师来说,对于直播软件有着较全面的了解是必须的。这样才能从软件活动当中筛选出来足够细致和重要的测试点。正如软件测试工程师需要对被测对象业务有着十分清晰的认知一样。直播软件测试,也需要测试工程师对其原理、架构乃至技术细节都要有一定的了解。
  直播平台技术架构
  直播的场景设置很简单,但是背后的实现逻辑非常复杂,为了实现直播场景的顺畅和质量,背后的架构呈现多平台和多路支持的特点。
  具体架构如下图:
  直播的原理
  传统的直播,就是把主播录制的视频,推送到服务器,再由服务器分发给观众观看。而现在的直播,则更多是主播使用终端进行节目播出,服务器承载用户的接入和视频分发,这样的原理更像是移动端的现场直播。
  也正是因为这样的发展,电视台也采用移动端直播的方式来进行节目制作乃至现场播出。
  在这样的原理下,一般分为三个部分。
  直播环节:推流端即主播客户端:采集、美颜处理、编码、推流;
  服务端处理:转码、录制、截图、内容鉴定;
  播放器即观众客户端:拉流、解码、渲染。
  这三个部分通过相互之间的信息流传递配合,完成整个直播的功能。
  直播软件的测试点
  作为一个软件,那么通常要进行测试的方面,也是直播软件需要注意测试的。直播软件的测试依然要分为主要四个方面,功能测试性能测试、界面/易用性测试以及兼容性测试,具体的测试内容如下图:
  对直播软件的功能点检查要注意以下方面:
  1.个人账户普通登陆、第三方关联登陆、忘记密码、注册、搜索、查看/修改个人信息、账号设置;
  2.直播/关注/粉丝列表、个人收入、关注和取消关注、个人等级、充值提现;
  3.热门、附近、最新、分类直播用户列表、banner页、搜索框;
  4.创建/进入/退出/关闭/直播/切换/房间、直播房间设置、房间用户列表查看等;
  5.主播直播录制、推流、解码、播放、美颜效果、水印、前后台切换等;
  6.聊天信息显示、滚屏弹幕、加载相关功能界面(送礼物、查看礼物列表)、查看各类排行榜、充值/第三方充值、业务统计、第三方指标统计等;
  7.私聊、公屏聊天、独立聊天室、用户/节目推送、白/黑名单等;
  8.超级管理,禁播、隐藏、审核等。
  直播软件汗牛充栋,不同平台,不同资方,甚至不同的厂商之间,都会有相当的差异。极为庞大的种类,让软件质量也遭受极大的考验。
  功能测试
  针对功能测试,则是要注意以下几个方面:
  1.首屏是否秒开;
  2.音质是否失真,延迟,长时间连接下的音频稳定性;
  3.视频播放的流畅性、清晰度(静止/运动场景),是否存在解码错误/延迟;
  4.音频和视频的实时同步;
  5.不同网络环境下音视频的播放质量(IPV4/V6、4G/5G、Wi-Fi);
  6.断网断电之后的视频重连;
  7.前后台切换、锁屏解锁、当前内容分享后,返回直播房间或第三方应用的中断场景下,视频的重连;
  8.Wi-Fi/移动网络之间的切换,部分手机在Wi-Fi状况不佳的时候,部分流量通过移动网络进行传输时,视频是否流畅无卡顿;
  9.直播视频是否支持横竖屏切换。
  对于直播软件的界面和画面,就是整个软件最先接触到的部分,这一界面的信息量和包含的测试点极多,需要注意观察才能覆盖所有的测试域。不同区域功能不尽相同,但基本上所有的信息,都分门别类地显示完全了。截图如下:
  性能测试
  直播的火爆带来了海量的用户,也带来了海量的服务器并发。直播类的应用对服务器有更多的挑战:更大的数据量、更高的并发量、更真实的用户登录场景以及更低的延迟。因此,服务器的压力是直播类APP测试的测试重点。
  而需要重点关注的,则是更大的数据量、更高的并发量、更加真实可见的用户登录场景以及更低的延迟。服务器最难处理的环节是视频流量和用户交互等高频率高带宽的场景,难以预测的用户行为,经常会出现突发性的性能指标暴涨。在进行一些活动的时候,流量可能是平时的十几倍甚至几十倍,在这样的场景下,整个直播系统所承受的压力是非常巨大的。多场景的压测,要完全模拟真实用户行为,测试结果才能更接近现实。
  测试时,注意同时关注主播端与观众端视频情况,往往这些极限情况出现得要比其他软件多很多,也可以说,直播软件在较多时间内都是以极限状态进行运行的,因此对于性能极限指标,要格外注意。
  当没有明确的性能指标要求时,可以使用以下场景进行示例测试:
  1.每隔2分钟,加入5-10个用户,同时退出5-8个用户;
  2.直播开始后的前5分钟,每隔1分钟加入5-8个用户,10分钟时,同时加入50-70个用户,在此之后随机退出用户;
  3.待直播间人数稳定后,使用不同条件下的客户端进行接入,查看稳定性。
  因为是运行在移动端的软件,那么对于运行平台的影响,也会在测试的考虑范围之内。iOS可以使用instruments中的Activity Monitor帮助测试。Android可以利用Android Studio 自带 CPU检测功能进行CPU测试。如图:
  iOS可以使用instruments的Leaks、Activity Monitor、Allocations、Zombies帮助进行内存测试。Android可以利用Android Studio 自带内存检测功能进行内存占用测试 。如图:
  数据流量可以使用工具软件记录直播过程中的流量消耗,除了手机本身自带的一些统计功能之外,还可以使用第三方的统计软件。
  对于电量,在同样的初始环境下,可以通过开启直播30或60分钟,来对比不同直播软件对电量的消耗情况。针对机身和CPU温度,则可以在以上的时间范围内,利用Castro等工具来记录手机机身和CPU的温度变化。
  有些指标在业内是有相对清晰的标准的,比如进入直播间时首屏的加载时间在1秒左右,延迟应该在500-600ms以下(一般通信协议的超时时间大部分集中在这个量级),在这个区间,被认为是用户可以忍耐的最严重情况,而其余的指标可能会更依赖于使用者的主观感受,例如清晰度、对比度等等。
  界面/易用性测试
  这个测试点主要是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。测试用户界面布局,风格是否满足要求,文字是否正确,页面是否美观,文字、图片组合是否完美,操作是否友好等。
  需要关注的测试点有导航是否直观,是否易于导航,导航与页面结构、菜单、连接页面的风格是否一致。自适应界面设计,内容根据窗口大小自适应;页面标签风格是否统一;页面的图片应有其实际意义且有序美观;文字长度是否加以限制;文字内容是否表意不明;是否有错别字,以及信息是否为中文显示。
  在这里需要注意的是,同样是直播软件,作为观众和作为主播,两者涉及到的软件功能是完全不同的,一般可以分为主播和观众两个状态,测试时关注的侧重点各不相同。
  主播侧:
  直播间开播页面:摄像头、闪光灯、美颜、封面图、标题、开启同步按钮、开启测试直播间、定位、分享、设置、标题、清晰度、横竖屏、开启测试直播间、定位、分享、开播直播展示正常;
  直播间页面:主播头像、观众数、魅力值、水印、观众列表、消息框、摄像头、闪光灯、美颜、分享、标题、分享、语音隐私、图像隐私以及设置展示正常;
  直播结束页面:观众数、直播时长、点赞数、魅力值、删除本次视频(直播时长大于三分钟)展示正常。
  观众侧:
  直播间页面:主播头像、关注按钮、观众数、地理位置、魅力值、水印、观众列表、来源吧、消息框、放大播放、礼物、分享功能及界面正常;
  直播结束页面:主播头像、主播名、魅力值、观看人数、直播时长、关注按钮以及精彩直播推荐展示正常。
  兼容性测试
  兼容性测试则是和其他所有的移动端APP有着相同的检查点,例如手机操作系统兼容,手机品牌及屏幕尺寸兼容。
  值得一提的是,很多直播软件还同时支持将当前节目分享后,未安装直播软件的手机,可以根据分享的链接,使用浏览器打开进行观看。那么对于不同浏览器以及不同内核的测试,也是必不可少的。
  直播软件,作为一种较特殊的移动端应用程序,除了移动端软件的共性之外,还有自己不同于其他软件的特性。随着技术的发展,直播的表现形式和作用也从单纯的单方展示,逐渐增加了交流互动,现在还衍生出了直播带货,庭审直播等宣传形式。这些新增加的作用域,大大扩展了直播的功能和传播范围的同时,对直播的功能也提出了新的要求。那么也就大大增加了直播软件的check point。作为软件测试工程师,掌握这些特性,是十分必要的。



版权声明:本文出自《51测试天地》第六十期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号