• 14
  • 13
分享
  • 移动端测试概述——软件测试圈
  • 北极 2021-03-19 13:31:48 字数 2601 阅读 2944 收藏 13

一、移动端的认识:

1、什么是移动端

狭义:

智能手机、品牌电脑;

广义:

所有可移动的设备(例如:点菜设备、移动的机器人、pos机、扫码枪)

2、移动端操作系统

IOS

Android

Windows Phone

Symbian(塞班)

Windows Mobile

Blackberry(黑莓)

3、测试的分类

传统手机测试:

测试手机本身,如抗压、抗摔、抗疲劳、抗低温高温等,也包括手机本身的功能、性能等测试。

手机应用软件测试:

是基于手机操作系统之上开发出来的软件,做这样测试,就叫手机应用软件测试。

4、移动应用的认识

狭义:

原生APP(纯粹的使用app开发语言开发的软件)

广义:

混合的App(融合Web应用、小程序)

5、移动端测试的复杂性

1.jpg

二、APP测试与PC端软件测试的区别:

2.jpg

三、移动端测试流程

3.jpg

四、移动端测试要点

1、安装

  • 从不同的渠道获取安装程序是否正常安装。

  • 软件在不同操作系统下安装是否正常。

  • 软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。

  • 软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理

  • 软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)

  • 安装空间不足时是否有相应提示

  • 安装后没有生成多余的目录结构和文件

  • 对于需要通过网络验证之类的安装,在断网情况下尝试一下

  • 还需要对安装手册进行测试,依照安装手册是否能顺利安装

卸载测试

  • 直接删除安装文件夹卸载是否有提示信息。

  • 测试系统直接卸载程序是否有提示信息。

  • 测试卸载后文件是否全部删除所有的安装文件夹。

  • 卸载过程中出现的意外情况的测试(如死机、断电、重启)。

  • 卸载是否支持取消功能,单击取消后软件卸载的情况

  • 系统直接卸载UI测试,是否有卸载状态进度条提示。

2、UI测试

导航测试:

  • 按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航

  • 是否易于导航,导航是否直观

  • 是否需要搜索引擎

  • 导航帮助是否准确直观导航与页面结构、菜单、连接页面的风格是否一致

图形测试:

  • 横向比较。各控件操作方式统一

  • 自适应界面设计,内容根据窗口大小自适应

  • 页面标签风格是否统一

  • 页面的图片应有其实际意义而要求整体有序美观

  • 图片质量要高且图片尺寸在设计符合要求的情况下应尽量小

  • 界面整体使用的颜色不宜过多

内容测试:

  • 输入框说明文字的内容与系统功能是否一致

  • 文字长度是否加以限制

  • 文字内容是否表意不明

  • 是否有错别字

  • 信息是否为中文显示

  • 是否有敏感性词汇、关键词

  • 是否有敏感性图片,如:涉及版权、专利、隐私等图片

3、功能测试

运行APP:

4.jpg

应用的前后台切换:

5.jpg

免登录:

6.jpg

数据更新:

7.jpg

离线浏览:

8.png

APP更新:

9.jpg

定位、照相机服务:

10.png

时间测试:

11.jpg

PUSH测试:

12.jpg

4、性能测试

极限测试:

  • 在各种边界压力情况下,如电池、存储、网速等,验证App是否能正确响应

  • 内存满时安装App ;

  • 运行App时手机断电;

  • 运行时断掉网络。

响应能力测试:

  • 测试App中的各类操作是否满足用户响应时间要求

  • App安装、卸载的响应时间;

  • App各类功能性操作的影响时间。

压力测试:

  • 反复长期操作下、系统资源是否占用异常;

  • APP反复进行安装、卸载,查看系统资源是否正常;

  • 其他功能反复进行操作,查看系统资源是否正常。

性能评估:

  • 评估典型用户应用场景下,系统资源的使用情况

基线测试:

  • 与竞争产品的产品演变对比测试等

5、交叉测试

交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。

测试要点:

  1. 多个App同时运行是否影响正常功能;

  2. App运行时前/后台切换是否影响正常功能;

  3. App运行时拨打/接听电话;

  4. App运行时发送/接收信息;

  5. App运行时发送/收取邮件;

  6. App运行时切换网络(2G、3G、4G、WIFI);

  7. App运行时浏览网络;

  8. App运行时使用蓝牙传送/接收数据;

  9. App运行时使用相机、计算器等手机自带设备。

6、兼容性测试

13.jpg

7、升级、更新测试

新版本发布后,配合不同网络环境的自动更新提示及下载、安装、更新、启动、运行的验证测试

测试点:

  • 测试升级后的功能是否与需求说明一样;

  • 测试与升级模块相关的模块的功能是否与需求一致;

  • 升级安装意外情况的测试(升级安装意外情况的测试(如死机、断电、重启));

  • 升级界面的UI测试;

  • 不同操作系统间的升级测试。

8、用户体验

  1. 是否有空数据界面设计,引导用户去执行操作。

  2. 是否滥用用户引导。

  3. 是否有不可点击的效果。

  4. 菜单层次是否太深

  5. 交互流程分支是否太多

  6. 相关的选项是否离得很远

  7. 一次是否载入太多的数据

  8. 界面中按钮可点击范围是否适中

  9. 标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换

  10. 操作应该有主次从属关系

  11. 是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义

  12. 是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计

9、硬件环境测试

手势操作测试:

14.png

网络环境测试:

15.png

接口测试:

  • 服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。此块测试可以采用itest框架进行测试。最方便的是采用httpclient进行接口测试。

  • 进行服务端测试时,需要开发提供一份接口文档。

(JavaScript Object Notation) 是一种轻量级的数据交换格

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

Itest测试框架是TaoBao测试部门开发的一套单元测试框架

10、客户端数据库测试

  1. 一般的增、删、改、查测试。

  2. 当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保存。

  3. 在业务需要从服务端取回数据保存到客户端的时候,客户端能否将数据保存到本地

  4. 当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端

  5. 当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。

11、安全测试

软件权限安全性:

16.jpg

人机接口安全性:

通讯安全性:

数据安全性:

安装与卸载安全性:


作者:蓝胖子cheng

原文链接:https://blog.csdn.net/qq_42305961/article/details/109031752


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.人工智能与机器学习人工智能(AI, Artificial Intelligence)与机器学习(ML, Machine Learning)是时下最火热的技术方向之一。准确地讲,人工智能不等同于机器学习,机器学习只是人工智能的一个子集。由于媒体的误用,本文遵循媒体的叫法,文中提到的人工智能,一般泛指机器学习。人工智能,顾名思义,就是希望创造出拥有像人类那样智能的机器,这是人类的终极梦想之一。该词早在1956年就提出了,当时的科学家曾乐观地估计,二十年左右人类就可以将其实现。然而科学家也很快就发现其难度远大于预估。在此之后的很长一段时间里,人工智能的研究陷入低谷。通常我们将人工智能分为弱人工智...
            0 0 2039
            分享
          •   在测试的过程中,有些测试点是在需求说明文档里明确提到的,比如果输入框的输入要求是什么、是否必填等等。  对于有经验的测试人来说,有一些测试点,是我们在以往的测试经验中总结出来的,而对于初学者往往会忽略一些没有在需求中列明的点。  对于不同模块的测试,我们需要着重注意的点也不一样,下面我们来总结一下注意点或者易错点。  必填项验证  1、必填项不填,如果是前台做的验证,保存时给出了提示信息,这个时候要F12看一下是否调用保存接口,或者去数据库查看一下数据有没有新增上,有可能是前台只给了提示,但还是给后台发送请求了。  2、提示了必填之后,将必填项填上,提示信息有无消失。  新增编辑成功验证 ...
            7 7 1622
            分享
          •   一、写在前面  本文讨论的基础,是基于Robotframework(简称RF)+Selenium测试框架的Web前端自动化测试。针对Robotframework和Selenium的安装、使用等基础知识不做介绍,只讨论在进行自动化脚本编写过程中遇到的元素定位失败问题。  二、但是你不得不了解的事  RF框架在做前端自动化时,支持的元素定位方式有:css定位、id定位、name定位、xpath定位和js定位。在介绍如何使用这几种方法之前,你不得不认识并熟悉我们Web测试的基础工具(客户端)——浏览器。  以Chrome浏览器为例,Chrome的开发者工具栏的Elements面板,提供了用户捕捉...
            13 14 2261
            分享
          •       前两天面试,被问到进程和线程的区别,由于是第一次面试软件测试岗,被问到这么“专业”的问题,有点惊讶,之后马上在脑海中努力回忆,还好能回答出7788。。总算没给自己专业丢脸      1.进程和线程的关系和区别      进程是一个程序在其自身的地址空间中的一次执行活动,是资源申请、调度和独立运行的单位。线程是进程的一个单一的连续控制流程,一个进程可以拥有多个线程。      线程调度的两种方式:抢占式、非抢占式。  &nbs...
            0 0 2565
            分享
          •   chatGPT回答未来五年我们测试发展的方向  问题:未来五年测试行业发展怎么样  回答如下:  预测未来五年测试行业的发展趋势是有困难的,但是一般认为,测试行业将继续发展,因为软件行业的需求不断增长。  以下是一些预测的发展趋势:  智能化测试:随着人工智能和机器学习技术的不断发展,智能化测试将成为测试行业的主要趋势。  自动化测试:自动化测试已经成为测试行业的重要组成部分,并将在未来五年继续发展。  DevOps: DevOps的普及将使得测试和开发更加紧密地结合在一起,测试将成为软件开发的一个不可分割的组成部分。  云测试: 随着云计算技术的不断发展,试也将越来越多地利用云技术。  ...
            0 0 174
            分享
      • 51testing软件测试圈微信