精华内容
下载资源
问答
  • 移动测试必备技能

    2020-02-14 16:37:54
    学习该课程后,可以熟练掌握移动测试的基础技能:App的类型、模拟器的讲解(逍遥、夜神)、Android原理,Monkey、MonkeyRunner等。 3.本课程涵盖知识点:Andriod 移动App的类型、App 自动化测试工具&框架、...
  • Android移动测试

    千次阅读 2017-07-21 16:03:22
    移动测试效果简单展示 使用Python脚本实现移动测试功能,先看效果: 接下来就是环境的配置了 二.环境配置 2.1 搭建Node.js环境 1、到官网下载node.js 安装node.js版本不宜过高,选择稳定使用较多的即可,否则...

    一.移动测试效果简单展示

    使用Python脚本实现自动化移动测试功能,先看效果:


    接下来就是环境的配置了


    二.环境配置

    2.1 搭建Node.js环境

    1、到官网下载node.js


    安装node.js版本不宜过高,选择稳定使用较多的即可,否则会报 error: uncaughtException: Cannot find module 'internal/fs'错误

    2、获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装。

    3、安装完成后,运行cmd,输入node –v,如果安装成功,会输出如下版本信息:


    2.2 安装JDK

    关于JDK的下载和安装以及环境变量的配置网上的已经太多了

    Win10的JDK配置的一篇文章可以参考:

    百度的一篇JDK安装教程

    2.3 安装Android SDK

    我使用的Android Studio开发环境,安装包一般自带的有SDK,避免用SDKManager下载慢问题,

    AndroidStudio下载,一个是AndroidTools的工具下载,(工具中有Gradle如果下载太慢可以下载之后手动添加)还有AndroidStudio中文官网

    安装时出现以下选择勾选:第二个勾选的是 Android SDK,第三个是Android虚拟机(我使用的Genymotion就没有安装)


    设置 ANDROID_HOME 系统变量为你的 Android SDK 路径


     tools  platform-tools 两个目录加入到系统的Path路径里


    2.4 安装Appium

    1.下载Appium文件,官网下载地址


    2.下载完成后,直接双击appium-installer.exe文件安装就好,桌面会生成一个appium的图标


    3.node_modules的bin目录放到系统的Path路径里


    4.检查appium所需的环境是否OK:

    进入cmd命令行,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境成功。


    2.5 安装Appium Python 客户端(以下是Winndows系统版)

       2.5.1 安装Python(最好版本为2.7.x,我选择的是Python.7.13)

         Python的官网下载地址,运行下载的MSI安装包,在选择安装组件的一步时,勾上所有的组件:


    (我用的是win10系统,C盘的读写要管理员权限,导致没有Python Script文件夹,最后装到其他盘又复制粘贴回去的)


       Python安装完成验证 python -V (注意是大写)


       2.5.2 下载python setuptools

         Python setuptools的官方下载地址

       2.5.3 下载Appium-python-client

         Appium-python-client官方下载地址

       2.5.4  将python setuptools和Appium-python-client压缩包解压到任意位置,然后使用命令行进入到解压后的文件夹目录,执行命令:python setup.py install(可能需要sudo)

      找到python setuptools和Appium-python-client的解压目录,shift+右键 在此文件夹打开命令行窗口,输入python setup.py install


    看到最后一行看到有Finish开头的说明已经安装完成。

    三. Python脚本测试

    我使用SublimeText3进行开发的,工具下载地址 ,需要使用的测试相关文件

      a.使用手机连接PC,或者打开Android 模拟器;

       b.启动Appium Server. 在命令行中执行:appium -p 4723;

       c.打开SublimeText3,将desired_capabilities.py和main.py文件打开,修改desired_caps中的'app'对应的值,改为指向解压后的此目录内MqcDemoApp.apk的绝对路径;

    选中main.py的MqcTest方法然后Ctrl+B运行即可。如果报no build system with variant run,请参考新建Build示例




    展开全文
  • 但是移动端,比如手机和平板电脑, 也有一些需要特殊测试的地方,移动测试和Web测试的简单回答相同点, 都是采用功能测试一个在Web上测试, 一个在App测试相同点: 同样的测试的基础知识不管是传统的Web测试, 还是...

    转载自http://www.cnblogs.com/TankXiao/p/5721869.html

    从本质上来说, 移动测试和Web测试都是一样的, 测试理论,测试方法都是一样的。

    但是移动端,比如手机和平板电脑, 也有一些需要特殊测试的地方,

    移动测试和Web测试的简单回答

    相同点, 都是采用功能测试

    一个在Web上测试, 一个在App测试

    相同点: 同样的测试的基础知识

    不管是传统的Web测试, 还是新兴的手机App测试, 都离不开测试的基础知识

    1. 相同的设计测试用例方法: 边界值,等价类,错误推导法,场景法

    2. 同样的测试方法, 验证业务功能是否符合预期

    3. 都要检查UI: 界面的布局, 风格和按钮是否简洁美观, 是否统一

    4. 页面的性能检测

    5. 应用的稳定性: 测试应用的稳定性, 不会闪退卡死等。

    后台都是一样的

    移动测试和Web测试, 他们调用的是同样的后台, 同样的Restful API。

    所以首先做好后台的RestfulAPI 测试。

    移动测试强调用户体验

    移动APP, 实质上就是一个缩小的Web程序, 屏幕小,操作不方便,所以强调用户体验。

    移动APP的测试, 业务都相对简单

    移动App, 一般都是面向个人用户的, 通常操作比较简单, 业务逻辑也比较简单。 所以测试起来会相对简单点。

    移动端的特性

    移动端有很多的特性,需要特殊测试

    网络种类多

    移动端有多种网络:无线网络、2G、3G、4G等,断网、网速较差及网络之间的切换时页面的显示等,这些对于移动端来说很重要。此外,在非wifi下,还需要注意网络使用量问题。

    弱网测试

    模拟App在网速慢,网络不稳定的情况下。

    中断测试

    移动端有一个很重要的问题,一般情况下在使用软件的过程并不是长久的,这中间可能发生很多中断,如电话、短信、通知、断电等等,软件

    需要特殊处理这些特殊情况。
    打开一个页面,或在操作的过程中(点击一个按钮后),将手机屏幕锁住,再打开时,应用能否正常处理。

    1. 来电中断: 呼叫中断, 被呼叫挂断,通话挂断,通话被挂断

    2. 短信中断: 接受短信, 查看短信

    3. 其他中断: 蓝牙,闹钟,插拔数据线, 手机锁定, 手机断电, 手机问题(系统死机, 重启)

    屏幕的限制

    图片及文字的显示;上传不同的图片尺寸显示是否正常;图片和文字一起显示时,效果如何。
    操作区域;web端的应用,一般不会受 到屏幕的限制,而且通过鼠标操作更加准确。但是移动端由于屏幕较小,页面及按钮会受到屏幕大小的限制,再加上用户都是通过手指进行操作,一些按钮、选择框 等是否容易点击,多个可点区域位置较近时,点击部位稍微偏移,也许就会造成不同的结果,这种情况下是否可以达到预先的效果。

    安装卸载测试

    用应用市场安装

    用apk文件安装。

    完全卸载(用户的profile文件)

    部分卸载

    升级测试

    从上一个版本/上两个版本直接升级到最新版。

    全新安装最新版

    新版本覆盖旧版本安装

    卸载旧版本, 安装新版本

    卸载新版本, 安装新版本

    增量更新

    强制更新

    测试点在于: 升级之后, 已经登录的用户,是否仍处于登录的姿态, 用户的缓冲文件, 配置文件是否还在。

    软件启动运行

    移动端启动、卸载、升级几个特性,这是比较常见、也很重要的,比如升级时用户的数据怎么办,卸载后用户的数据怎么处理,卸载再安装用户登录数据的显示等。

    手势

    移动端还有一大特性,就是移动端有自己比较简单的手势,用户可以通过手势进行一个操作,比如左滑删除、右滑返回上一个页面、左右滑动图片等,软件需要对这个手势进行适配。

    多点触控,

    事件触发区域

    自动化工具不太一样

    App 测试 用的是, Monkey, MonkeyRunner, Appnium,

    Web 主要用: Webdriver

    展开全文
  • 深圳软件测试培训:移动测试ExpandableListView 一、ExpandableListView: (一)、类结构: java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView【备注:】...

    深圳软件测试培训:移动测试ExpandableListView
    一、ExpandableListView:
    (一)、类结构:
    java.lang.Object
    ↳ android.view.View
    ↳ android.view.ViewGroup
    ↳ android.widget.AdapterView

    【备注:】ExpandableListView还可以使用SimpleExpandableListAdapter适配器加载。
    java.lang.Object
    ↳ android.widget.BaseExpandableListAdapter
    ↳ android.widget.SimpleExpandableListAdapter

    (三)、UI核心代码:
    1、xml布局文件及解释:

    (四)、java核心代码:
    public class MainActivity extends Activity {
    private ExpandableListView expandableListView;
    // 设置组视图的图片
    int[] groupImg = new int[] { R.drawable.wei, R.drawable.shu, R.drawable.wu };
    // 设置组视图的显示文字
    private String[] groupData = new String[] { “魏”, “蜀”, “吴” };

    // 设置子视图图片
    public int[][] childImg = new int[][] {
    { R.drawable.qq, R.drawable.qq, R.drawable.qq, R.drawable.qq,
    R.drawable.qq, R.drawable.qq },
    { R.drawable.qq, R.drawable.qq, R.drawable.qq, R.drawable.qq,
    R.drawable.qq, R.drawable.qq },
    { R.drawable.qq, R.drawable.qq, R.drawable.qq, R.drawable.qq,
    R.drawable.qq } };

    // 设置子视图显示文字
    private String[][] childData = new String[][] {
    { “夏侯惇”, “许褚”, “郭嘉”, “司马懿”, “杨修” },
    { “马超”, “张飞”, “刘备”, “诸葛亮”, “赵云” },
    { “吕蒙”, “陆逊”, “孙权”, “周瑜”, “孙尚香” } };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 以下是一个取消title的样式设置
    // requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);

    expandableListView = (ExpandableListView) findViewById(R.id.list_main);
    // 给expandableListView设置适配器
    expandableListView.setAdapter(new MyAdapter(MainActivity.this));

    // 设置item点击的监听器
    expandableListView.setOnChildClickListener(new OnChildClickListener() {
    @Override
    public boolean onChildClick(ExpandableListView parent, View v,
    int groupPosition, int childPosition, long id) {
    // 通过groupPosition和childPosition就能获取到子列表的文字内容
    Toast.makeText(MainActivity.this,
    “你点击了:” + childData[groupPosition][childPosition],
    Toast.LENGTH_SHORT).show();
    return false;
    }
    });
    }

    // 以下是自定义了一个可扩展ListView的适配器。BaseExpandableListAdapter是一个直接继承于object的对象。
    class MyAdapter extends BaseExpandableListAdapter {
    private Context context;

    // 构造方法,目的是让context对象传进类中,方便调用
    public MyAdapter(Context context) {
    this.context = context;
    }

    @Override
    // 获取组的个数
    public int getGroupCount() {
    return groupData.length;
    }

    @Override
    // 获取组中每个item的内容
    public Object getGroup(int groupPosition) {
    return groupData[groupPosition];
    }

    @Override
    // 获取组中每个item的id
    public long getGroupId(int groupPosition) {
    return groupPosition;
    }

    @Override
    // 获取每组中每个子item的个数
    public int getChildrenCount(int groupPosition) {
    return childData[groupPosition].length;
    }

    @Override
    // 获取子item的内容
    public Object getChild(int groupPosition, int childPosition) {
    return childData[groupPosition][childPosition];
    }

    @Override
    // 获取子item的id
    public long getChildId(int groupPosition, int childPosition) {
    return childPosition;
    }

    @Override
    public boolean hasStableIds() {
    return true;
    }

    @Override
    // 获取组视图。就是生成组中每个item视图
    // 通过这个例子希望大家学会在java中定义布局和控件。并且在java文件中去定义布局和控件的属性。
    public View getGroupView(int groupPosition, boolean isExpanded,
    View convertView, ViewGroup parent) {
    // 构造一个线性布局
    LinearLayout layout = new LinearLayout(context);
    // 让线性布局的方向为水平方向。其实默认情况下就是水平方向。这里是希望同学们学会这个设置方向的方法
    layout.setOrientation(0);
    // layout.setBackgroundResource(R.drawable.ic_launcher);
    // 构造一个ImageView控件
    ImageView logo = new ImageView(context);
    // 给这个图片控件设置内容
    logo.setImageResource(groupImg[groupPosition]);
    // 设置图片的内填充。setPadding(50, 0, 0, 0)四个参数的方向分别为左、上、右、下。
    logo.setPadding(50, 0, 0, 0);
    // 将控件加入到布局中
    layout.addView(logo);
    // 构造一个文本控件
    TextView textView = new TextView(context);
    // 设置文本的颜色
    textView.setTextColor(Color.BLUE);
    // 设置内填充边距
    textView.setPadding(36, 0, 0, 0);
    // 设置文字大小
    textView.setTextSize(20);
    // 给文本控件设置内容。就要从给定的数据源中获取数据
    textView.setText(getGroup(groupPosition).toString());
    // 将文本控件加入到布局中
    layout.addView(textView);
    return layout;
    }

    @Override
    // 获取子视图。就是生成组中每个子item视图。该方法中的注释同上
    public View getChildView(int groupPosition, int childPosition,
    boolean isLastChild, View convertView, ViewGroup parent) {
    LinearLayout layout = new LinearLayout(context);
    layout.setOrientation(0);
    ImageView headpicView = new ImageView(context);
    headpicView
    .setImageResource(childImg[groupPosition][childPosition]);
    // 设置图片的内填充。setPadding(100, 0, 0, 0)四个参数的方向分别为左、上、右、下。
    headpicView.setPadding(100, 0, 0, 0);
    layout.addView(headpicView);
    TextView textView = new TextView(context);
    textView.setPadding(30, 0, 10, 10);
    textView.setTextSize(16);
    textView.setText(getChild(groupPosition, childPosition).toString());
    layout.addView(textView);
    return layout;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
    return true;
    }
    };
    }

    展开全文
  • 饿了么移动测试平台探索之路

    千次阅读 2018-04-12 10:41:48
    针对这个痛点,我们在思考应该需要一个移动测试平台,帮助开发和测试人员解决这个痛点,让开发人员提交代码后很快就能得到验证,而测试人员也可以简单配置一下测试数据、测试流程就可以很快的跑一次回归测试。...

    每次新版本发布,对于业务部门来说都是比较痛苦的,开发担心新代码是否对已有功能有影响,测试怕时间紧张覆盖不全。针对这个痛点,我们在思考应该需要一个移动测试平台,帮助开发和测试人员解决这个痛点,让开发人员提交代码后很快就能得到验证,而测试人员也可以简单配置一下测试数据、测试流程就可以很快的跑一次回归测试。本文基于此目的简述从一开始产生搭建移动测试平台的想法,到选型、技术调研,一直到最后定型、技术实现的过程。


    作者简介:任海燕,饿了么技术&创新中心MT移动技术部工具开发组负责人,主要负责移动测试工具的开发以及移动测试技术的探索。

    阅读全文: http://gitbook.cn/gitchat/activity/58634bfb95c29fc15b3abdb1

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  • 移动测试(MQC)是为广大企业客户和移动开发者提供真机测试服务的云平台,拥有大量热门机型,提供7x24全天候服务。 我们致力于提供专业、稳定、全面、高价值的自动化测试能力,以及简单易用的使用流程、贴心的技术...
  • 关于阿里云移动测试平台详细内容:阿里云移动测试平台使用教程 (移动测试(Mobile Testing)是为广大企业客户和移动开发者提供真机测试服务的云平台,拥有大量热门机型,提供7x24全天候服务,帮助客户发现APP中的...
  • 随着移动设备的地位不断上升,移动设备上的应用质量已经成为了各大企业最关注的问题,在过去几年的移动测试中,移动测试基本是以黑盒的测试方法进行,用人数来点击出应用上的BUG,但是观察以往PC黑盒测试的经验,...
  • 测试界风云变幻,移动测试火爆来袭,移动测试真的像黄金价格一样吗?(黄金可是跌了啊)所有人都适合做移动测试吗?移动测试要怎么做?自动化是必经之路吗?好吧,面对如此多的疑问,小强带你浅入浅出看看移动测试。...
  • 讲讲移动测试的流程

    2016-02-19 18:51:39
    来自V站的移动测试流程 做测试并非一蹴而就,新人入门得从纯粹的执行者做起。今天给大家分享一篇移动测试的流程,相信对新人们会有帮助。 测试资源准备 1.待测试的 APP 、产品需求文档、产品原型图、接口...
  • 在本文中,您将学习如何使用IBM®Rational®Test Workbench版本8.5和Android x86 4.0.3虚拟机执行移动测试。 先决条件 IBM Rational Test Workbench 8.5版 Android 2.2-4.2 对于Android 已安装Android SDK ...
  • 由于国内移动设备和系统版本的碎片化,移动测试对于应用的质量保证变得至关重要,同时也催生了一批提供第三方测试服务的创业公司,BAT也都发布了自己的测试服务。但是,单一的测试服务往往不能完全满足开发者需求,...
  • 了解了移动测试的过去和现状,现在可以大胆的预测未来了,不过,这里也仅仅是未来三年内的情况。 首先,测试人员肯定是朝着全栈的方向去发展了,这点毫无疑问。而功能(业务)测试,专项测试,自动化测试等都会...
  • 移动测试工程师必须知道的10个开源框架 作者:彭海波前言随着移动互联网的发展,移动测试技术越来越成熟,很多优秀的开源测试框架涌现出来。作为一个移动测试工程师,我们不仅要夯实自己的技术能力,也要学会从开源...
  • 移动测试行业浅析

    2018-05-16 16:06:10
    测试行业在移动互联网兴起之前,第三方独立测试公司主要是以测试外包为主,主要在中国和印度。比如国内的文思海辉,博彦科技等;印度的Infosys,Wipro等。在11年前的2007苹果乔布斯发布第一款Iphone,代表移动互联网...
  • Bird今天给大家分享一篇移动测试的流程,相信对新人们会有帮助。 测试资源准备 1.待测试的APP、产品需求文档、产品原型图、接口说明文档以及设计说明文档等产品相关内容。 2.测试所需相关设备如PC、APP相应...
  • 移动测试策略

    2014-11-27 11:06:28
    他有10多年 QA规章、流程、方法、测试自动化、性能测试及商业验收测试方面的丰富经验。起初他是干开发的,后来转入了不同领域,如:售前,程序管理和QA。他要定下测试系统的架构,获取后融合系统,管理人,改善流程...
  • 浅谈移动测试

    2015-12-03 13:00:39
    1. 移动App测试的现状及其挑战 移动互联网走到今天,App寡头化的趋势已经越来越明显,同时用户的口味越来越高,这对移动App开发者提出了更高的要求。几年前可能你有一个创意,随便做一个App,就算功能简单,Bug很...
  • 不知不觉已经到了移动测试会第四期了,很多朋友从杭州和南京赶过来参加我的会,我真的感到非常荣幸。不过也有一点让我遗憾的是,我认为上海这里能来的朋友应该更加多才对。有点小小的失望。希望以后上海的同仁们能够...
  • Cocos2d-x 3.2 Lua示例 ClickAndMoveTest(点击移动测试) 本篇博客介绍Cocos2d-x 3.2Lua示例中点击移动的例子,在这个例子你可以得到如何创建单点触摸的事件和注册事件监听回调方法。示例代码:--[[ ...
  • 我从事测试工作将近八年了,从起初的不懂测试,怀疑测试,到相信测试,再到坚定测试,其中经历的辛酸、煎熬无法言表。在从事测试工作的这八年里,有人质疑,也有人追捧,唇枪舌剑,没完没了,貌似测试永远都是个站在...
  • 随着移动设备和系统的碎片化程度越来越高以及复杂的移动网络情况, 兼容性测试以及远程真机测试的重要性越来越突出。根据远程测试机/人员与开发者间的合作方式,可以分为以下几种服务:云测试服务、内测服务以及众测...
  • 远程移动测试平台对比分析

    千次阅读 2018-03-16 17:08:46
    转自:http://blog.csdn.net/tmq1225/article/details/52369171随着移动设备和系统的碎片化程度越来越高以及复杂的移动网络情况, 兼容性测试以及远程真机测试的重要性越来越突出。根据远程测试机/人员与开发者间的...
  • APP移动测试用例总结

    2018-02-08 20:50:00
    在我们的测试工作中,对于某个APP的测试其实有很多东西都是类似的可以抽象出来的,所以针对APP的测试过程和重点关注内容,做以下梳理和总结。  一、首先是测试资源确认及准备  1.1  产品需求文档、产品原型图...
  • 随着移动app的越来越火爆,用户对app的流量的要求越来越高,如何为用户节省流量是很多app做宣传的口号,现如今也有很多app在做流量的统计。  测试流量的作用:在不影响用户使用app功能的情况下最大限度的为用户节省...
  • 移动测试会第二期成功举行

    千次阅读 2012-10-26 15:28:43
    其一是移动测试会第二期顺利结束了,结束了才觉得自己多么疲惫。其二是测试人第三期网刊发布了,收入了我的两篇文章~开心~http://vdisk.weibo.com/s/fAMMb   今天的测试会让我们都很感动,由于我的失误没有把...
  • 无论是因为移动App是企业内部应用无法外部使用,还是要求测试数据绝对私有化,MQC专有云解决方案都可以支持。 移动设备大量涌现,终端类型浩如烟海,任何一款设备的兼容性问题都将导致大量用户流失! 移动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,514
精华内容 11,005
关键字:

移动测试