• 0
  • 0
分享
  • 兼容性测试的正确打开方式——软件测试圈
  • 恬恬圈 2024-04-30 15:08:41 字数 1419 阅读 672 收藏 0

  前几天在我创建的技术交流群,几位同学聊起了兼容性测试相关的话题。有测试的方法技巧,有如何选择测试时的切入点,也有在质量和投入成本之间如何做平衡的思考。

  翻了翻写过的技术文章,大多集中在后端、中间件以及稳定性测试方面,兼容性测试也有做过专项。这篇文章,我想结合自己对兼容性测试的理解,以及做技术专项的一些经验,谈谈我的一些看法。

  如何理解兼容性测试

  兼容性测试,最初是为了检查软件在不同的硬件、操作系统以及软件平台上是否可以正常运行,即软件的可移植性和正确性检查。操作系统如 Windows 和 Mac,各种浏览器兼容如Chrome、Firefox、IE。

  近几年随着移动互联网的全面发展,我们提起兼容性测试,更多指的是软件/APP在不同移动端设备、不同操作系统上的兼容,比如字体、颜色、分辨率、屏幕尺寸、页面布局等。

  移动端设备,即我们常见的各品牌手机、平板;操作系统,现在主流的就是 Android 和 IOS。当然,为了解决移动端跨平台的兼容问题,H5从04年被提出之后,在14年之后开始成为了事实上的标准。近几年,随着小程序生态的蓬勃发展,关于小程序的兼容,也越来越被重视了起来。

  兼容性测试的测试点

  如上面所说,兼容性要测试的点,主要集中在设备类型、操作系统、网络环境、页面布局和分辨率五个方面。

  设备类型:设备主要分手机和平板,在实际测试中,根据各大品牌不同系列的市占率,通过品牌+系列的组合来进行采购机型。

  操作系统:目前移动端设备的操作系统,主要是 Android 和 IOS。操作系统的兼容方面,IOS的的系统版本兼容性做的相对更好,向下兼容会更好一些,一般用模拟器测试即可。而Android由于各大厂商各自的定制化开发,有各种自己的特性,因此在操作系统的兼容性测试时,要考虑各种机型、系列、版本的兼容,这一点Android模拟器做的就比较差。当然,如果考虑到买真机的成本比较高,可以考虑各大云测平台提供的服务,比如百度MTC、阿里MQC、腾讯优测等平台。

  网络环境:网络环境主要的测试点就是移动网络如3G、4G、5G和Wi-Fi、弱网等情况下,软件APP的运行情况。

  页面布局:页面布局主要的验证点在于按钮、样式、文字展示、Tab页面切换和图片等方面。特别是游戏和跨境电商等类型的业务,涉及到多语言,这方面是最容易踩坑的。

  屏幕分辨率:现在主流的移动端设备,分辨率都不会太差。测试时候主要关注各种设备机型的屏幕分辨率、屏幕尺寸和UI 适配情况。iOS可通过模拟器进行,Android往往仍需要真机测试,如果对手机屏幕尺寸没有过高的适配要求,则可以用模拟器来进行测试。

  兼容性测试的注意事项

  如果对兼容性有较高的要求,需要投入大量的人力和硬件成本来做优化,且需要持续的投入。

  H5 和 Native各有优劣,H5的优势在于跨平台的开发便捷性和扩展性,Native在于原生和设备适配性更好,更稳定。

  在平衡成本和效果之后,相对性价比较高的兼容性测试方案,是选取主流机型+操作系统进行测试验证,其他的用模拟器/云测平台跑自动化来解决。

  为了解决软件APP的兼容性问题,良好的研发设计规范是必须的。比如统一字体/颜色做自适应,缺省图崩溃图提示等进行统一的规范设计。


作者:写文章的老张    

来源:http://www.51testing.com/html/44/n-7796944.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   如果谷歌成功地转向内部TPU开发,最终可能会每年节省数十亿美元,但这会给博通业务造成损失,谷歌今年或将向博通支付30亿美元购买TPU。  不再依赖博通,谷歌考虑自研AI芯片。  周四,据媒体援引知情人士称,谷歌或将转向自研“张量处理器”(TPU),谷歌高管讨论最早于2027年弃用博通作为AI芯片供应商。消息发布后,博通美股盘前跌近6%。  此举可以帮助谷歌每年节省数十亿美元的成本,谷歌在AI开发方面投入巨大,而人工智能与其他类型的芯片相比尤其昂贵。  知情人士透露,两家曾因TPU定价问题上僵持数月,谷歌高管确定未来不再与博通进行合作。2021年全球芯片短缺期间,博通把网络接口芯片的价格提高...
            0 0 1037
            分享
          •   什么是软件质量保证?  软件质量保证(Software Quality Assurance,SQA)活动是通过对软件产品有计划的进行评审和审计来验证软件是否合乎标准的系统工程,通过协调、审查和跟踪以获取有用信息,形成分析结果以指导软件过程。  软件质量活动  软件组织主要软件质量活动  ● 软件质量保证(SQA):是一项管理工作,侧重于对流程的评审和监控  ● 测试:是一项技术性的工作,侧重对产品进行评估和验证  SQA和测试的关系  软件质量由组织、流程和技术三方面决定  ● SQA从流程方面保证软件的质量  ● 测试从技术方面保证软件的质量  ● 只进行SQA活动或只进行测试...
            0 0 218
            分享
          • 作为一名测试人,掌握数据库常用的操作不可缺少,下面就一段mysql 查询语句梳理几个相关语法知识。 本篇文章主要包括两方面内容常用的sql语法开发代码中如何和sql进行关联案例代码` select a.blastid,d.apptime,a.charge_approve,             a.blast_batch,            ...
            0 0 1573
            分享
          • 测试框架结构:jenkins+git+postman+newman相关概念:Jenkins一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源、支持多平台和插件扩展、安装简单、界面化管理等特点。更多介绍(https://jenkins.io/)gitGit是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。postman一款强大的图形界面接口开发/测试工具,能够生成接口文档,可以使接口开发更简单迅速。newmannewman是用于执行postman collection的命令行工具,可以让你直接通过命令行的形式来执行pos...
            15 15 2349
            分享
          • 登录、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑1)登录用户名和密码都符合要求(格式上的要求);用户名和密码都不符合要求(格式上的要求);用户名符合要求,密码不符合要求(格式上的要求);密码符合要求,用户名不符合要求(格式上的要求);用户名或密码为空;数据库中不存在的用户名,不存在的密码;数据库中存在的用户名,错误的密码;数据库中不存在的用户名,存在的密码;输入的数据前存在空格;输入正确的用户名密码以后按[enter]是否能登陆。2)添加要添加的数据项均合理,检查数据库中是否添加了相应的数据;留出一个必填数据为空;按照边界值等价类设计测试用例的原则设计其他输入项的测试用例...
            0 0 853
            分享
      • 51testing软件测试圈微信