当前位置: 首页 > news >正文

App的测试,和传统软件测试有哪些区别?应该增加哪些方面的测试用例?

从上图可知,测试人员所测项目占比中,App测试占比是最高的。

这就意味着学习期间,我们要花最多的精力去学App的各类测试。也意味着我们找工作前,就得知道,App的测试点是什么,App功能我们得会测试,App非功能的性能,兼容,弱网这些维度的测试我们也要会。

App如此重要,所以题主的问题我觉得有必要回答下。App的测试与传统软件测试在很多方面存在区别,主要是因为移动应用与传统软件在平台、用户交互、性能等方面有很大的差异。

为了将题主问题阐述清楚,下面行文就将问题拆成这几个:

1、App的测试,和传统软件测试有哪些区别?
2、相比传统测试,App的测试应该增加哪些方面的测试用例?
3、App测试相关的学习资源分享

一、App的测试,和传统软件测试相比,有哪些区别?

一般而言,传统软件测试更注重界面、负载和传统计算机环境下的特征。而App测试更加注重移动特有的因素。接下来我们通过平台差异、用户交互、网络连接、设备硬件、更新发布和安全性等方面,来系统聊下二者的差异。

1、平台差异:

传统软件通常设计为在桌面或浏览器上运行,而App需要在各种移动平台上运行,如iOS、Android、鸿蒙等。因此,App测试需要覆盖不同平台和设备的兼容性。

举例功能测试, App需要在多个操作系统和设备上运行,因此App的功能测试需要覆盖不同平台的特定功能,以确保一致性。
再举例兼容性测试,App测试需关注不同操作系统版本和设备型号,确保应用在各种环境中稳定运行。

2、用户交互差异:

App应用通常更注重用户体验和触摸屏交互,相较于传统软件更加直观。所以App测试需关注触摸、手势、旋转等移动特有的用户交互。

举例 交叉事件

测试, App应用的用户交互更为复杂,需要测试各种手势、触摸操作,以及设备方向变化对应用的影响。
再举例Push消息测试

,要确保App应用能够准确接收和处理推送消息,保证及时的信息传递。

3、网络连接差异:

传统软件可能在一个稳定的局域网络中运行,而App应用通常依赖网络连接,所以App测试需考虑不同网络条件下的应用性能和稳定性。

举例性能测试: 考虑到移动设备可能在不同网络条件下运行,App性能测试需要关注在2G、3G、4G和Wi-Fi等环境下的应用响应速度和数据加载时间。

4、设备硬件差异:

移动设备的硬件差异较大,包括屏幕大小、分辨率、处理器等。App测试需要覆盖各种硬件配置,确保应用在不同设备上正常运行

举例安装卸载升级测试: 移动应用经常需要用户手动安装、卸载和升级,测试需确保这些操作在各个设备的稳定性,避免导致数据丢失或应用崩溃。

5、更新和发布差异:

App应用的更新和发布通常比传统软件更频繁。测试需要关注App应用在不同版本之间的兼容性,并确保更新过程

顺利。

举例稳定性测试: 移动应用常常面临频繁的更新,测试需确保新版本的稳定性,避免用户在升级后遭遇问题。

6、安全性差异:

相比传统软件,App应用可能涉及更多的敏感信息,如地理位置、相机等。App测试需加强对安全性的考量,包括数据加密、权限管理等方面。

举例 安全性测试

: 移动应用往往涉及用户敏感信息,测试需加强对数据传输加密、用户权限控制等方面的安全性测试,以防潜在的安全风险。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

二、相比传统测试,App的测试应增加哪些方面的测试用例?

相比传统测试,App测试应该增加哪些方面,也就意味着我们先要了解传统测试会有哪些用例:

1、传统软件会考虑的测试用例:

1)功能测试类用例:

测试不同模块的功能是否正常,确保所有功能按照需求规格书的要求运行。
举例界面测试: 针对传统软件的图形用户界面,(GUI),测试各种控件、菜单和操作是否符合设计标准。

2)性能测试类用例:

举例负载测试: 在传统软件中,测试应用在高负载情况下的性能表现,确保系统能够处理大量并发请求。

3) 稳定性测试用例:

长时间运行测试
在传统软件中同样需要进行长时间运行测试,模拟用户在应用中执行各种操作,确保应用在长时间使用时不会出现崩溃或性能下降。

4) 安全性测试用例:

举例漏洞扫描
针对传统软件,进行漏洞扫描以检测潜在的安全漏洞,确保系统免受恶意攻击。

5)用户体验类测试用例:

举例人机交互测试
在传统软件中,测试用户在使用软件时的整体体验,包括操作流畅性、布局设计等方面。

2、App测试应增加的测试用例

通过上述对比App测试和传统软件测试的方法的对比,我们知道了二者存在的差异,那也就意味着测试用例的设计也需要根据APP应用的特点进行差异化的考虑。在传统软件的基础上,需要增加下列这些:

1)增加兼容性测试用例:

测试应覆盖不同操作系统版本、设备型号和屏幕尺寸,确保App应用在各种情况下都能正常工作。应该增加这类兼容性测试用例。

2)增加用户体验测试用例:

关注用户界面的易用性,增加包括手势操作、响应速度、界面布局等方面的测试用例。

3)增加网络环境测试用例:

增加模拟不同的网络条件的测试用例,如 3G、4G、Wi-Fi,测试应用在不同网络环境下的表现。

4).增加设备硬件测试用例:

针对不同的硬件配置设置测试用例,确保应用在各种设备上性能稳定。

5)增加安全性测试用例:

增加检查潜在安全漏洞的测试用例,确保用户数据和隐私得到保护。

6)增加测试APP稳定性的测试用例:

测试应用在更新过程中的稳定性,确保用户能够顺利完成更新并保持数据完整性。


 

三、App测试相关的视频类学习资源分享

总结App测试用例,需要考虑的测试点还真不少,现在整理了一个思维导图,如下图所示。

以上我们只聊了App测试的测试点和用例,但是具体App测试点如何找(如性能测试,其实还含有很多详细测试点,如截图所示),具体App测试用例如何写,如果想清楚知道,推荐下列学习资料

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

相关文章:

App的测试,和传统软件测试有哪些区别?应该增加哪些方面的测试用例?

从上图可知,测试人员所测项目占比中,App测试占比是最高的。 这就意味着学习期间,我们要花最多的精力去学App的各类测试。也意味着我们找工作前,就得知道,App的测试点是什么,App功能我们得会测试&#xff0…...

改进LiteOS中物理内存分配算法(详细实验步骤+相关源码解读)

一、实验要求 优化TLSF算法,将Best-fit策略优化为Good-fit策略,进一步降低时间复杂度至O(1)。 优化思路: 1.初始化时预先为每个索引中的内存块挂上若干空闲块,在实际分配时避免分割(split)操作&#xff…...

洛谷100题DAY8

36.P1416 攻击火星 此题找出规律即可 #include<bits/stdc.h> using namespace std; int n; int main() {cin >> n;cout << max(0, n - 2);return 0; } 37.P1551 亲戚 并查集模板题目 两个人如果使亲戚就合并建立联系&#xff0c;最后进行查找即可 #incl…...

2. OpenHarmony源码下载

OpenHarmony源码下载(windows, ubuntu) 现在的 OpenHarmony 4.0 源码已经有了&#xff0c;在 https://gitee.com/openharmony 地址中&#xff0c;描述了源码获取的方式。下来先写下 windows 的获取方式&#xff0c;再写 ubuntu 的获取方式。 获取源码前&#xff0c;还需要的准…...

flask app.config 用法

flask app.config flask app.config 是 Flask 应用程序的配置对象。它包含了 Flask 应用程序的所有配置信息&#xff0c;如数据库连接、密钥、调试模式等。 常用的 app.config 配置项如下&#xff1a; DEBUG&#xff1a;调试模式&#xff0c;默认为 False。 SECRET_KEY&…...

【Vue】【uni-app】实现工单列表项详情页面

这次主要实现的是一个工单详情页面 从工单列表项中点击详情 跳转到工单详情页面&#xff0c;这个详情页面就是这次我们要实现的页面&#xff0c;并可以通过点击这个关闭按钮返回到工单列表页面 首先是在我们原有的工单列表页面的按钮增加一个点击跳转 <button size"m…...

安装vmware_esxi 超详细

安装vmware_esxi 超详细 </h2><div id"cnblogs_post_body" class"blogpost-body blogpost-body-html">esxi安装手册 1、esxi介绍 ESXI原生架构模式的虚拟化技术&#xff0c;是不需要宿主操作系统的&#xff0c;它自己本身就是操作系统。因此…...

Spring-Mybatis源码解析--手写代码实现Spring整合Mybatis

文章目录 前言一、引入&#xff1a;二、准备工作&#xff1a;2.1 引入依赖2.2 数据源的文件&#xff1a;2.1 数据源&#xff1a; 2.3 业务文件&#xff1a; 三、整合的实现&#xff1a;3.1 xxxMapper 接口的扫描&#xff1a;3.2 xxxMapper 接口代理对象的生成&#xff1a;3.2 S…...

5.2 Windows驱动开发:内核取KERNEL模块基址

模块是程序加载时被动态装载的&#xff0c;模块在装载后其存在于内存中同样存在一个内存基址&#xff0c;当我们需要操作这个模块时&#xff0c;通常第一步就是要得到该模块的内存基址&#xff0c;模块分为用户模块和内核模块&#xff0c;这里的用户模块指的是应用层进程运行后…...

聊聊Go语言的注释

文章目录 聊聊Go语言的注释一、注释的格式1.1 块注释1.2 行注释 二、包注释三、命令注释四、类型注释4.1 实例注释4.2 并发安全注释4.3 零值注释4.4 导出字段注释 五、函数注释5.1 参数/返回值/函数作用注释5.2 bool返回值函数注释5.3 形参/返回值名称注释5.4 并发安全注释5.5 …...

皮肤警告,羊大师讲解身体与环境的默契

皮肤警告&#xff0c;羊大师讲解身体与环境的默契 我们常常忽视身体皮肤所承受的压力和警告信号。皮肤是身体的第一道屏障&#xff0c;也是与外界环境直接接触的组织。我们的皮肤通过各种方式向我们传达信息&#xff0c;警告我们关于身体健康的重要问题。本文小编羊大师将带大…...

使用NVM管理多个Nodejs版同时支持vue2、vue3

1.安装nvm,下载地址&#xff1a; https://github.com/coreybutler/nvm-windows/releases/tag/1.1.12 2.nvm常用命令 Usage:nvm arch : Show if node is running in 32 or 64 bit mode.nvm current : Display active version.nvm debug …...

Android帝国之进程杀手--lmkd

本文概要 这是Android系统启动的第三篇文章&#xff0c;本文以自述的方式来讲解lmkd进程&#xff0c;通过本文您将了解到lmkd进程在安卓系统中存在的意义&#xff0c;以及它是如何杀进程的。&#xff08;文中的代码是基于android13&#xff09; 我是谁 init&#xff1a;“大…...

堆栈_队列实现栈

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

好用的json处理工具He3 JSON

官网地址&#xff1a;https://he3app.com/zh/ json格式化 https://portal.he3app.com/home/extension/json-to-pretty 其他 https://portal.he3app.com/home/category...

RabbitMQ消息模型之Routing-Direct

Routing Direct 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下&#xff1a; 队列与交换机的绑定&#xff0c;不能是任意…...

Harmony 应用开发之size 脚本

作者&#xff1a;麦客奥德彪 在应用开发中&#xff0c;最终呈现在用户面前的UI&#xff0c;是用户能否继续使用应用的强力依据之一&#xff0c;在之前的开发中&#xff0c;Android 屏幕碎片化严重&#xff0c;所以出现了很多尺寸适配方案。 最小宽适配、百分比适配等等。 还有一…...

商家门店小程序怎么做?门店小程序的优势和好处

生活服务类商家在当前数字化时代&#xff0c;越来越认识到门店小程序的重要性。门店小程序不仅为商家提供了一个在线展示的窗口&#xff0c;更为其打造了一个与消费者直接互动的平台。有了门店小程序&#xff0c;商家可以更加便捷地管理商品信息、订单流程&#xff0c;同时还能…...

什么是灯塔工厂?灯塔工厂的作用?

什么是灯塔工厂&#xff1f; "灯塔工厂"概念源于德国的工业4.0战略&#xff0c;又称“工业4.0示范工厂”或“标杆工厂”&#xff0c;代表工业领域顶级的智能制造能力。2018年&#xff0c;由世界经济论坛和麦肯锡共同推出。 灯塔工厂是通过数字化、网络化和智能化手…...

【GEO-AI】SAM-Geo库(segment-geospatial)入门教程

今年4月份&#xff0c;Meta公布了它图形分割模型Segment-Anything&#xff0c;简称SAM。当时就想着这个东西用在遥感影像分割上应该效果不错&#xff0c;奈何自己能力有限&#xff0c;没有办法上手实践。偶然间看到有介绍SAM-Geo工具包的文章&#xff0c;决定研究一番&#xff…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...