兼容性测试点和注意项,建议收藏

news2024/11/24 9:45:40

一:兼容性测试的概念:就是验证开发出来的程序在特定的运行环境中与特定的软件、硬件或数据相组合是否能正常运行、有无异常的测试过程。

二:兼容性测试的分类:

(1)浏览器兼容性测试

指的是在浏览器上检查web页面样式和元素的展示效果,以及交互是否正常。

主流浏览器:

Windows:IE、火狐、谷歌。

Mac:safari、火狐、谷歌。

注意事项:

1,浏览器兼容性测试常见于B/S(浏览器/服务器)结构的产品中。

2,虽然我们能通过官方的一些统计数据去收集主流的浏览器和对应的版本,但最好让产品经理明确定义出支持哪些浏览器和对应的版本,因为这也取决于产品的应用人群和具体的业务场景。

3,浏览器兼容性测试主要检查web页面样式和元素的展示效果,以及交互是否会有异常,跟具体的业务逻辑无关。

4,跟前端开放人员多交流,明确哪些样式或元素不是标准的,很有可能会出现兼容性问题,现有针对性地在所有要求支持的浏览器版本上进行验证,在挑选每种浏览器的一个版本去验证所有的标准页面。

5,多记录,多总结,做好统计分析,在后续的测试中,只需针对有改动的、容易出现兼容性问题的元素和样式进行测试。

6,留意IE大版本升级,以及谷歌和火狐的迭代版本更新,阅读更新的版本说明,了解是否有大的改动可能影响到页面的展示火证交互,有计划地去执行兼容性测试。

(2)操作系统兼容性测试

在指定的操作系统上检查产品功能是否正常。

Windows系统、Macosx系列,linux系统、ios系统。

测试注意事项:

1,常见于C/S(客户端/服务器端)结构的产品,互联网时代的应用程序从广义上来说也是C/S结构的。

2,基本的注意事项和上述的浏览器兼容性测试一样,需要关注的是,不同版本的操作系统默认的权限级别会有所不同,从而导致客户端需要访问或调用系统组件或方法时会出错。

3,同一类操作系统的大版本升级时,需要注意在新的版本或补丁里是否继续兼容老版本的库函数。

(3)多版本兼容性测试

是为了验证新版本服务器端是否同时支持新/老版本客户端而进行的测试。

测试注意事项:

1,这是很多产品经理在设计需求是容易忽略的地方,也是C/S产品和B/S产品从兼容性角度来说最大的区别。

2,在产品升级后,服务器端只会是最新版本,但是客户端因为不同的用户场景而可能存在老版本,一种原因是没有强制更新,用户不选择升级;另一种原因是在一些企业级的环境里,刻画段包是否升级取决于管理员的策略。

3,针对客户端的产品而言,测试相对简单一些,只要保证服务器每次升级都不会因为新需求而修改老接口,基本上不会有太多兼容性问题。

4,测试相对复杂的是那种既有商家版本又有用户版的客户端产品,针对会频繁发生交互的功能,需要重点考虑新、老版本的兼容性测试。

(4)数据兼容性测试

因为新功能的需要火证已有功能的升级改造,涉及已有数据的读取和写入而需要进行的验证,以确保数据在新、老版本之间都能正常流转的过程。

测试注意事项:

1,向前兼容,新版本的软件要能正常且正确地读取和加载老版本生成的数据。

2,向后兼容,当前版本的软件要能支持在后续高版本的平台上正常运行。

3,常见的office类软件或多媒体制作或播放类软件,不仅需要考虑新版本客户端能否正确读取老版本的生成的文件,还要考虑新版本生成的文件是否能本老版本客户端正常的读取,火证有相应的升级提示信息。

4,还有一类是常见的订单类数据,会更多的关联后台历史数据的迁移和转换,这一部分内容也是需要重点关注的,以确保迁移和转换后的数据用户能正确的读取。

(5)分辨率兼容性测试

也被称作适配性测试,是指验证被测网页或产品UI在各种分辨率下的显示器和各种分辨率、尺寸屏幕的移动设备上都能正常显示的测试过程。

测试注意事项:

1,需要关注的一种是普通的分辨率的屏幕,另一种是高清分辨率的屏幕。

2,需要关注的问题主要包括显示是否完整、图片是否被拉伸、文字和图片位置是否有错位。

(6)注意事项

主流的浏览器(B/S):IEFirefoxChrome。

1、兼容性取决于产品的应用人群和具体的业务场景。

2、主要是检查WEB页面样式和元素的展示效果,以及交互是否会有异常。

3、跟前端的交流,明确哪些样式跟元素是不标准的,针对性的去验证。

4、留意浏览器的大版本的更新。

主流的操作系统(C/S):WINDOWS、MacOSX系列、UNIX/LINUX系列、Android系列、iOS系列。

1、关注操作系统的权限不同,导致客户端访问和调用的系统组件或方法出错。

2、操作系统的大版本升级,注意新的版本是否兼容老版本的库函数。

3、产品升级——服务端是最新版本——客户端因为可以选择性更新不更新而显示不同。

4、单客户端的产品——保证服务端的每次升级不会因为新需求而修改老接口,基本兼容没问题。

5、商家版(用户版)——客户端。针对频繁发生交互的功能,重点考虑新老版本的兼容问题。

6、数据兼容测试:涉及已有数据的读取和写入,确保新老版本都能流转。

注意事项:

1、向前兼容;

2、向后兼容;

3、office类软件、媒体软件能否镇超正常读取,新版本能否正常被老版本读取,以及相应的升级提示;

4、常见的订单类数据读取问题,业务流程是否正常进行;

5、数据性兼容,关联后台历史数据的迁移和转换;

6、分辨率兼容:就是UI。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/571800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

航空公司预订票数学建模论文

航空公司预订票数学建模论文篇1 试谈机票订票模型与求解 一、概述 1. 问题背景描述 在激烈的市场竞争中,航空公司为争取更多的客源而开展的一个优质服务项目是预订票业务,本模型针对预订票业务,建立二元规划订票方案,既考虑航空公司的利润最大…

form-create和form-create-designer创建自定义组件

在项目中&#xff0c;我需要使用表单设计器form-create-designer设计带有选择用户的弹窗组件&#xff0c;而设计器内置的组件不能满足需求&#xff0c;因此要创建自定义组件。form-create 支持在表单内部生成任何 vue 组件。 1.开发选择用户的组件 SelectUser.vue <!--用户…

论文《Diagnostic accuracy of CT imaging parameters in pelvic lipomatosis》案例分析

一、引言 在该篇文章的引言部分&#xff0c;作者明确阐述了本篇论文的研究目的、问题和方法&#xff0c;并指出了研究的贡献和创新点。以下是具体内容&#xff1a; 研究目的&#xff1a;本研究的目的是评估盆腔脂肪肥大的CT成像特征&#xff0c;并探讨其在诊断和管理中的应用…

Java程序设计入门教程--包

情形 在Java中&#xff0c;包(package)是一种松散的类的集合&#xff0c;它可以将各种类文件组织在一起&#xff0c;就像磁盘的目录&#xff08;文件夹&#xff09;一样。包的管理机制提供了类的多层次命名空间避免了命名冲突问题&#xff0c;解决了类文件的组织问题&#xff0…

Midjourney AI绘画中文教程(完整版)

我有一种预感&#xff0c;这篇内容一定会破万~~~ Midjourney AI绘画中文教程&#xff0c;Midjourney是一款2022年3月面世的AI绘画工具&#xff0c;创始人是David Holz。 只要输入想到的文字&#xff0c;就能通过人工智能产出相对应的图片&#xff0c;耗时只有大约一分钟&…

Linux Shell 实现部署单机Oracle 21C

oracle前言 Oracle开发的关系数据库产品因性能卓越而闻名&#xff0c;Oracle数据库产品为财富排行榜上的前1000家公司所采用&#xff0c;许多大型网站也选用了Oracle系统&#xff0c;是世界最好的数据库产品。此外&#xff0c;Oracle公司还开发其他应用程序和软件。同时&#…

《Spring Guides系列学习》guide1 - guide5

要想全面快速学习Spring的内容&#xff0c;最好的方法肯定是先去Spring官网去查阅文档&#xff0c;在Spring官网中找到了适合新手了解的官网Guides&#xff0c;一共68篇&#xff0c;打算全部过一遍&#xff0c;能尽量全面的了解Spring框架的每个特性和功能。 开始吧&#xff0…

UDP就一定比TCP快吗?

前言 话说&#xff0c;UDP比TCP快吗&#xff1f; 相信就算不是八股文老手&#xff0c;也会下意识的脱口而出&#xff1a;”是“。 但这也让人好奇&#xff0c;用UDP就一定比用TCP快吗&#xff1f;什么情况下用UDP会比用TCP慢&#xff1f; 我们今天就来聊下这个话题。 使用…

关于使用--- pyinstaller---无法打包py文件为exe的问题集合

目录 安装 pyinstaller 问题1&#xff1a; 解决办法&#xff1a; CMD中输入 问题2&#xff1a; 解决办法&#xff1a; CMD中输入 问题3&#xff1a; 将py文件打包成exe中&#xff0c;需要按照如下在CMD中输入 PyInstaller介绍 PyInstaller是一个Python库&#xff0c;可以…

智慧档案馆八防是怎么建设的?都需要注意哪些内容

智慧档案馆八防环境监控系统一体化解决系统方案 智慧档案库房一体化平台通过智慧档案管理&#xff0c;实现智慧档案感知协同处置功能&#xff1b;实现对档案实体的智能化识别、定位、跟踪监控&#xff1b;实现对档案至智能密集架、空气恒湿净化一体设备、安防设备&#xff0c…

基于java用队列实现栈

基于java用队列实现栈 问题描述 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。 int …

C++第六章:函数

函数 一、函数基础1.0 简介形参和实参形参列表函数的返回类型 1.1 局部对象自动对象局部静态对象 1.2 函数声明在头文件中进行函数声明 1.3 分离式编译编译和链接多个源文件 二、参数传递2.1 传值参数指针形参 2.2 传引用参数使用形参返回额外信息 2.3 const形参和实参指针或引…

「实在RPA·人社数字员工」促进人力社保数字办公战略转型

一、人力社保部门数字化转型的重要性 伴随着国家放宽人力资源市场准入条例&#xff0c;多次出台相关扶持政策&#xff0c;市场竞争加剧&#xff0c;后疫情时代格局的大变局&#xff0c;如何提高服务质量和效率&#xff0c;如何降本增效&#xff0c;成为人力资源和社会保障行业…

【算法】不使用LinkedHashMap实现一个LRU缓存

文章目录 什么是LRU&#xff1f;设计思路代码实现 LRU是我在面试过程中遇到的比较多的算法题了&#xff0c;并且我自己的项目中也手写了LRU算法&#xff0c;所以觉得还是有必要掌握一下这个重要的算法的。 什么是LRU&#xff1f; LRU是一种缓存淘汰策略。 我们知道&#xff0…

经典文献阅读之--PIBT(基于可见树的实时规划方案)

0. 简介 作为路径规划而言&#xff0c;不单单有单个机器人自主路径规划&#xff0c;近年来随着机器人行业的兴起&#xff0c;多机器人自主路径规划也越来越受到关注&#xff0c;对于多智能体寻路(MAPF)。一般的操作会给定一个地图、机器人集群、以及它们的初始位置和目的地&am…

IP地址分配与释放

IP 分配我们平时应该接触比较少。还记得在大学的时候&#xff0c;刚入学第一件事就是赶紧交网费。交网费时会有一个步骤&#xff0c;网管会让你提供 MAC 地址&#xff0c;然后把 IP 地址和 MAC 地址绑定&#xff0c;这也就是博主在隔壁宿舍无法通过网线上网的原因。 其实&#…

如何在华为OD机试中获得满分?Java实现【寻找相似单词】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

[已解决] 决定系数R2为何为负 from sklearn.metrics import r2_score

最近在炼丹发现一件很有趣的现象&#xff0c;决定系数R2竟然为负&#xff0c;小学生都知道任何一个常数的平方绝不可能为负&#xff0c;潜意识里告诉我这里面必有蹊跷&#xff0c;因此查阅许多资料得知&#xff0c;决定系数R2不是r相关系数的平方这么简单&#xff0c;实际上当非…

加密后的敏感字段还能进行模糊查询吗?该如何实现?

前言 有一个问题不知道大家想过没&#xff1f;敏感字段数据是加密存储在数据库的表中&#xff0c;如果需要对这些敏感字段进行模模糊查询&#xff0c;还用原来的通过sql的where从句的like来模糊查询的方式肯定是不行的&#xff0c;那么应该怎么实现呢&#xff1f;这篇文章就来…

zigbee 串行通信

串口通信需要三个函数 // Initialize UART at the startup //------------------------------------------------------------------- void halUartInit(uint32 baud);//------------------------------------------------------------------- // Read a buffer from the UART …