精品课件-网络测试技术与应用-网络测试与应用(第三部分)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络测试技术与应用
5.4 APP稳定性测试 • 稳定性测试的理论范畴很大,涉及硬件平台、软件系统
和具体的应用程序。 在iOS测试领域内,猴子测试被作 为稳定性测试的主要手段。猴子测试即像猴子一样随意 地没有规律地操作应用程序。
网络测试技术与应用
• Android系统自带了猴子测试的工具,开发者可以直接 使用。iOS没有官方的猴子测试工具,笔者基于UI Automation写了猴子测试脚本。测试脚本的位置为: https://github.com/douban/ynm3k/blob/master/robo t4ios/util/iOSMonkey2.js。猴子测试使用非常简单, 直接在 Instruments中运行UI Automation脚本即可。
网络测试技术与应用
• 在自动化的猴子测试执行完成以后,还可以考虑在一些 零界条件下对应用程序进行稳定性测试。可以主要考虑 以下条件:
• (1 )频繁收到内存告警。 • (2 )电池电量低; • (3) 3G网络不稳定时断时续 • 在以上极端的情况下程序的稳定性更为重要。
网络测试技术与应用
5.5 IOS UI自动化测试 • Apple官方提供的UI Automation工具,目前很多的开
网络测试技术与应用
5.5.2 UI Automation脚本编辑 • Apple官方提供的实例程序Recipes程序, 该程序可以在
Xcode中搜索Recipes,然后找到 iPhoneCoreDataRecipes 项目下载到本地,然后用 Xcode进行打开使用。UI Automation大多数的基本功能 都可以通过Recipes程序来掌握.。大部分自动化测试脚 本的编写都是基于Recipes所提供的控件来完成的,
发者都使用UI Automation工具做自动化测试,从而替 代以前的需要人手动操作的重复的劳动
网络测试技术与应用
Ul Automation的简介 • 一般的自动化测试的工具在测试过程中,测试人员通过
编写一些脚本就可以达到自动化操作的目的,如果性能 更优越的自动化工具同时还具备录制脚本的功能,录制 脚本可以让脚本的开发强度降低一些,但是大部分工作 还是需要测试人员编写脚本来完成。
• 在API调用方式上也有一些其别,所以这里再次细分了 两种方式,分别为UIAElement方式和UIATarget方式。
• 1. UIAElement方式 • 2. UIATarget方式
网络测试技术与应用
5.5.4 UI Automation Logger日志 • 负责日志输出的对象是UIALogger,主要有两部分的职
网络测试技术与应用
• 此自动化库一开始就是为可访问性和UI测试自动化任务 而专门设计的,使用UI自动化库来测试运行支持.NET Framework3.0的操作系统,
• 在UI Automation中,所有的窗体、控件都表现为一个 AutomationElement、AutomationElement中包含此控件 或窗体的属性,在实现自动化的过程中,通过其相关属 性进行对控件自动化操作。
确保应用程序可以在所支持的系统平台上正常运行。兼 容性测试主要由硬件兼容性测试、软件兼容性 测试和 数据兼容性测试组成。IOS设备的多样化使得兼容性测 试更加重要。
网络测试技术与应用
3.网络流量测试 由于在移动平台上存在网络接入点的多样化,并且不同 的接入点会决定网络流量是否收费和网络网速等一些特 性。所以网络及流量测试在移动平台上会作为单独的一 种测试类型而存在。
网络测试技术与应用
• 黑盒测试 • 相对于白盒测试而言,黑盒测试指的是通过外部指令驱
动手机并通过外部方式进行测试结果校验的测试方式, 即不考虑系统本身提供的自动化测试能力,所有的测试 行为均在系统外部进行。
网络测试技术与应用
• 1、在服务器端由UIAutomationProvider.dll 和 UIAutomat-ionTypes.dll 提供;
• 2、在客户端由UIAutomationClient.dll 和 UIAutomationT-ypes.dll提供;
• 3、UIAutomationCore.dll 为UI自动化的核心部分,负 责服务器端和客户端的交互;
责:记录测试结果;负责各个级别的日志结果输出。 • 在记录测试结果方面,有logFail()、logPass()方法和
logStBiblioteka Baidurt()方法。
网络测试技术与应用
• logStart()方法会在测试即将开始的时候调用,并且在 测试结束后,和logFail()或logPass()方法配对出现完 成一个测试方法的开始部分和最后的完成部分的结果记 录,logPass()和logFail()是一对函数,分别表示方法 测试通过和未通过。
网络测试技术与应用
• 对于UI用户界面而言,所用显示的桌面上的UI,其实际 上是一个UI Tree,根节点是Desktop。在UI Automation中,根节点表示为AutomationElement RootElement。通过根节点,可以通过窗体或控件的 Process Id、Process Names或者Windows Name找到相 应的子AutomationElement,
第5章 IOS APP测试 5.1 IOS测试策略 5.2 APP兼容性测试 5.3 APP性能测试 5.4 APP稳定性测试 5.5 IOS UI自动化测试
网络测试技术与应用
5.1 IOS测试策略 • 测试策略会贯穿整个测试工程,它包括测试中每一个阶
段的工具、流程和方法的描述。在之前的章节中虽然涉 及工具和方法等方面的描述,但都比较分散并且没有明 确地提出测试策略这个概念。 • 本章将会针对ios的测试策略及测试方法进行阐述。
mini4
网络测试技术与应用
• iOS端主流的软件系统如下。 • IOS端主流的软件系统: • iOS7:7.1、7.2 • iOS8:8.1、8.2 • iOS9:9.0、9.1
网络测试技术与应用
• 苹果公司一直都很严格、谨慎地维护着iOS的生态系统 ,其中有这样一条规则:软件系统无法从高版本降至低 版本。通过此条规则, 可以对兼容性测试环境进行进 一步的过滤,iPhone 5默认安装的最低系统版本是iOS 8.1,所以在iPhone 5的硬件平台上就不再考虑更低的 软件系统版本了。经过简化之后,得到了兼容性测试环 境,如表5-1所示
件兼容、软件兼容和数据兼容。兼容性测试对测试环境 依赖度非常高
网络测试技术与应用
• iOS端主流的硬件平台如下: • iPhone:iPhone 5,iPhone 5S, iPhone 6,
IPhone6S • iTouch:iTouch 6 • iPad:iPad air,iPad pro,iPad 3,iPad 4,iPad
网络测试技术与应用
第6章 Android APP自动化测试 • 6.1 Android的白盒与黑盒自动化测试 • 白盒测试:在手机自动化测试领域,白盒测试包括两种
类型,第一种是传统软件测试理论中所指的白盒测试, 即依赖被测对象的源代码具体实现的测试方式。在手机 软件开发过程中所做的单元测试即属于此类型。
还需要快速启动、及时响应用户交互和优秀的内存管理 等。秉承用户第一的原则,为了给用户呈现更加优秀的 iOS应用程序,必须对应用程序进行性能测试,通过测 试定位并且解决问题。
网络测试技术与应用
• 1. 快速启动测试 • 许多iOS应用程序启动一次需要十几秒,而用户希望尽
快操作应用程序。可以使用Instrument的TimeProfile 来分析启动时的CPU消耗,并且以消耗CPU的数据为依据 进行优化。以下将通过一个具体的例子详细介绍如何使 用TimeProfile来分析应用程序启动性能并找出被浪费 的CPU处理周期。
网络测试技术与应用
• 4.升级测试 • 升级测试同样也是移动端测试特有的一种测试类型。应
用程序从老版本升级 到新版本时,需要确保功能使用 正常的测试活动是升级测试。
网络测试技术与应用
5.对于客户端的性能测试,可能是大数据的测试也可能是 显示速度等方面的测试。性能测试可能会和之前提到的 稳定性测试和网络测试有一些重复的活动。本书中的性 能测试只会涉及CPU, iOS内存和I/O等指标的监控,通 过对一些基础的系统指标进行监控,从而得到一些基准 数据并且通过数据之间的对比发现一些性能问题。
网络测试技术与应用
• 实践1 :在Recipes程序中添加一个菜单名字叫做“饺 子”。大致的操作流程如下。
• 具体的操作说明如下: • 1、在主页面单击按钮; • 2、在新的页面中输入“饺子”,并且单击按钮; • 3、单击》按钮,回到主菜单页面; • 4、可以看到新增“饺子”菜单。
网络测试技术与应用
网络测试技术与应用
• UIAApplication控件 • 把所有的控件信息汇总下,依据控件之间的父子关系,
可以把Recipes程序首页面转化为树形结构的控件关系 ,
网络测试技术与应用
5.5.3 UI Automation 实践 • 人机交互方式是最常见的操作应用程序的方法,交互方
式的方式方法很多,这样交互的方式总的概况为3个大 类,这3个大类被使用的频率最高,:① 用户单指点击 (tap);②用户使用模拟键盘输入;③应用程序屏幕显 示输出内容信息
网络测试技术与应用
• 5.1 IOS测试策略 • 1.功能测试 • 功能测试是最主要的测试类型。测试工程师需要根据产
品的需求、用户的使 用场景和代码实现方式等设计测 试用例,并且认真执行。之前介绍的一些自动化 测试 技术会从不同的层面来完成功能测试。
网络测试技术与应用
• 2.兼容性测试 • 兼容性测试又被称为适配测试。兼容性测试的目的是要
网络测试技术与应用
• 总之,兼容性测试不是简单地拿到不同的设备进行相同 操作的机械劳动。兼容性测试需要结合应用程序本身的 特点和iOS的相关特性进行针对性的测试,最终 快速得 到测试反馈。更多的兼容性测试点需要在工作中总结和 探索。
网络测试技术与应用
5.3 APP性能测试 • 一个iOS应用程序不只需要漂亮的页面和优雅的设计,
网络测试技术与应用
• 6.稳定性测试 • 稳定性测试是检验应用程序长期稳定的运行能力。一般
的稳定性测试会通过一些边界值和非常规操作,来验证 应用程序的问题性。稳定性测试也需要探索, 因为有 时稳定性测试的通过,也不能说明应用程序足够稳定。
网络测试技术与应用
5.2 APP兼容性测试 • 兼容性测试也被称为适配测试。兼容性测试需要考虑硬
网络测试技术与应用
• UI Automation不但支持脚本编写方式的自动化测试, 并且还支持录制回放方式的自动化测试,是一款功能强 大的自动化测试工具。
• UI Automation体系结构,UI Automation,微软提供的 UI自动化库。它包括在.NET Framework 3.0中,是 Windows Presentation Foundation(WPF)的一部分, 可进行UI测试自动化。
• 4、UIAutomationClientSideProviders.dll 为客户端 程序提供自动化支持。
网络测试技术与应用
• 在UI自动化库体系结构中使用客户端-服务器视点和命 名约定。从UI测试自动化的角度来看,意味着所测试的 应用程序被称为服务器,测试工具被视为客户端,测试 工具客户端向所测试的应用程序(服务器)请求UI信息 。
网络测试技术与应用
• 2.内存泄露检查 • 内存占用的优化管理一直是iOS开发者关心的问题之一
。由于Objective不支持垃圾自动回收技术,所以开发 者需要更加小心地处理内存管理的相关问题。除了开发 工程师在编码阶段格外小心地管理内存以外,还需要具 备一种内存泄露的检査手段。
网络测试技术与应用
• 3.设备CPU和内存等关键指标的记录对比,所有的性能 测试都会监控测试对象的运行环境,记录CPU,内存和 I/O的一些指标,用于分析对比。在iOS方面一般使用 Instruments来统计应用程序CPU,内存和I/O的使用情 况。
5.4 APP稳定性测试 • 稳定性测试的理论范畴很大,涉及硬件平台、软件系统
和具体的应用程序。 在iOS测试领域内,猴子测试被作 为稳定性测试的主要手段。猴子测试即像猴子一样随意 地没有规律地操作应用程序。
网络测试技术与应用
• Android系统自带了猴子测试的工具,开发者可以直接 使用。iOS没有官方的猴子测试工具,笔者基于UI Automation写了猴子测试脚本。测试脚本的位置为: https://github.com/douban/ynm3k/blob/master/robo t4ios/util/iOSMonkey2.js。猴子测试使用非常简单, 直接在 Instruments中运行UI Automation脚本即可。
网络测试技术与应用
• 在自动化的猴子测试执行完成以后,还可以考虑在一些 零界条件下对应用程序进行稳定性测试。可以主要考虑 以下条件:
• (1 )频繁收到内存告警。 • (2 )电池电量低; • (3) 3G网络不稳定时断时续 • 在以上极端的情况下程序的稳定性更为重要。
网络测试技术与应用
5.5 IOS UI自动化测试 • Apple官方提供的UI Automation工具,目前很多的开
网络测试技术与应用
5.5.2 UI Automation脚本编辑 • Apple官方提供的实例程序Recipes程序, 该程序可以在
Xcode中搜索Recipes,然后找到 iPhoneCoreDataRecipes 项目下载到本地,然后用 Xcode进行打开使用。UI Automation大多数的基本功能 都可以通过Recipes程序来掌握.。大部分自动化测试脚 本的编写都是基于Recipes所提供的控件来完成的,
发者都使用UI Automation工具做自动化测试,从而替 代以前的需要人手动操作的重复的劳动
网络测试技术与应用
Ul Automation的简介 • 一般的自动化测试的工具在测试过程中,测试人员通过
编写一些脚本就可以达到自动化操作的目的,如果性能 更优越的自动化工具同时还具备录制脚本的功能,录制 脚本可以让脚本的开发强度降低一些,但是大部分工作 还是需要测试人员编写脚本来完成。
• 在API调用方式上也有一些其别,所以这里再次细分了 两种方式,分别为UIAElement方式和UIATarget方式。
• 1. UIAElement方式 • 2. UIATarget方式
网络测试技术与应用
5.5.4 UI Automation Logger日志 • 负责日志输出的对象是UIALogger,主要有两部分的职
网络测试技术与应用
• 此自动化库一开始就是为可访问性和UI测试自动化任务 而专门设计的,使用UI自动化库来测试运行支持.NET Framework3.0的操作系统,
• 在UI Automation中,所有的窗体、控件都表现为一个 AutomationElement、AutomationElement中包含此控件 或窗体的属性,在实现自动化的过程中,通过其相关属 性进行对控件自动化操作。
确保应用程序可以在所支持的系统平台上正常运行。兼 容性测试主要由硬件兼容性测试、软件兼容性 测试和 数据兼容性测试组成。IOS设备的多样化使得兼容性测 试更加重要。
网络测试技术与应用
3.网络流量测试 由于在移动平台上存在网络接入点的多样化,并且不同 的接入点会决定网络流量是否收费和网络网速等一些特 性。所以网络及流量测试在移动平台上会作为单独的一 种测试类型而存在。
网络测试技术与应用
• 黑盒测试 • 相对于白盒测试而言,黑盒测试指的是通过外部指令驱
动手机并通过外部方式进行测试结果校验的测试方式, 即不考虑系统本身提供的自动化测试能力,所有的测试 行为均在系统外部进行。
网络测试技术与应用
• 1、在服务器端由UIAutomationProvider.dll 和 UIAutomat-ionTypes.dll 提供;
• 2、在客户端由UIAutomationClient.dll 和 UIAutomationT-ypes.dll提供;
• 3、UIAutomationCore.dll 为UI自动化的核心部分,负 责服务器端和客户端的交互;
责:记录测试结果;负责各个级别的日志结果输出。 • 在记录测试结果方面,有logFail()、logPass()方法和
logStBiblioteka Baidurt()方法。
网络测试技术与应用
• logStart()方法会在测试即将开始的时候调用,并且在 测试结束后,和logFail()或logPass()方法配对出现完 成一个测试方法的开始部分和最后的完成部分的结果记 录,logPass()和logFail()是一对函数,分别表示方法 测试通过和未通过。
网络测试技术与应用
• 对于UI用户界面而言,所用显示的桌面上的UI,其实际 上是一个UI Tree,根节点是Desktop。在UI Automation中,根节点表示为AutomationElement RootElement。通过根节点,可以通过窗体或控件的 Process Id、Process Names或者Windows Name找到相 应的子AutomationElement,
第5章 IOS APP测试 5.1 IOS测试策略 5.2 APP兼容性测试 5.3 APP性能测试 5.4 APP稳定性测试 5.5 IOS UI自动化测试
网络测试技术与应用
5.1 IOS测试策略 • 测试策略会贯穿整个测试工程,它包括测试中每一个阶
段的工具、流程和方法的描述。在之前的章节中虽然涉 及工具和方法等方面的描述,但都比较分散并且没有明 确地提出测试策略这个概念。 • 本章将会针对ios的测试策略及测试方法进行阐述。
mini4
网络测试技术与应用
• iOS端主流的软件系统如下。 • IOS端主流的软件系统: • iOS7:7.1、7.2 • iOS8:8.1、8.2 • iOS9:9.0、9.1
网络测试技术与应用
• 苹果公司一直都很严格、谨慎地维护着iOS的生态系统 ,其中有这样一条规则:软件系统无法从高版本降至低 版本。通过此条规则, 可以对兼容性测试环境进行进 一步的过滤,iPhone 5默认安装的最低系统版本是iOS 8.1,所以在iPhone 5的硬件平台上就不再考虑更低的 软件系统版本了。经过简化之后,得到了兼容性测试环 境,如表5-1所示
件兼容、软件兼容和数据兼容。兼容性测试对测试环境 依赖度非常高
网络测试技术与应用
• iOS端主流的硬件平台如下: • iPhone:iPhone 5,iPhone 5S, iPhone 6,
IPhone6S • iTouch:iTouch 6 • iPad:iPad air,iPad pro,iPad 3,iPad 4,iPad
网络测试技术与应用
第6章 Android APP自动化测试 • 6.1 Android的白盒与黑盒自动化测试 • 白盒测试:在手机自动化测试领域,白盒测试包括两种
类型,第一种是传统软件测试理论中所指的白盒测试, 即依赖被测对象的源代码具体实现的测试方式。在手机 软件开发过程中所做的单元测试即属于此类型。
还需要快速启动、及时响应用户交互和优秀的内存管理 等。秉承用户第一的原则,为了给用户呈现更加优秀的 iOS应用程序,必须对应用程序进行性能测试,通过测 试定位并且解决问题。
网络测试技术与应用
• 1. 快速启动测试 • 许多iOS应用程序启动一次需要十几秒,而用户希望尽
快操作应用程序。可以使用Instrument的TimeProfile 来分析启动时的CPU消耗,并且以消耗CPU的数据为依据 进行优化。以下将通过一个具体的例子详细介绍如何使 用TimeProfile来分析应用程序启动性能并找出被浪费 的CPU处理周期。
网络测试技术与应用
• 4.升级测试 • 升级测试同样也是移动端测试特有的一种测试类型。应
用程序从老版本升级 到新版本时,需要确保功能使用 正常的测试活动是升级测试。
网络测试技术与应用
5.对于客户端的性能测试,可能是大数据的测试也可能是 显示速度等方面的测试。性能测试可能会和之前提到的 稳定性测试和网络测试有一些重复的活动。本书中的性 能测试只会涉及CPU, iOS内存和I/O等指标的监控,通 过对一些基础的系统指标进行监控,从而得到一些基准 数据并且通过数据之间的对比发现一些性能问题。
网络测试技术与应用
• 实践1 :在Recipes程序中添加一个菜单名字叫做“饺 子”。大致的操作流程如下。
• 具体的操作说明如下: • 1、在主页面单击按钮; • 2、在新的页面中输入“饺子”,并且单击按钮; • 3、单击》按钮,回到主菜单页面; • 4、可以看到新增“饺子”菜单。
网络测试技术与应用
网络测试技术与应用
• UIAApplication控件 • 把所有的控件信息汇总下,依据控件之间的父子关系,
可以把Recipes程序首页面转化为树形结构的控件关系 ,
网络测试技术与应用
5.5.3 UI Automation 实践 • 人机交互方式是最常见的操作应用程序的方法,交互方
式的方式方法很多,这样交互的方式总的概况为3个大 类,这3个大类被使用的频率最高,:① 用户单指点击 (tap);②用户使用模拟键盘输入;③应用程序屏幕显 示输出内容信息
网络测试技术与应用
• 5.1 IOS测试策略 • 1.功能测试 • 功能测试是最主要的测试类型。测试工程师需要根据产
品的需求、用户的使 用场景和代码实现方式等设计测 试用例,并且认真执行。之前介绍的一些自动化 测试 技术会从不同的层面来完成功能测试。
网络测试技术与应用
• 2.兼容性测试 • 兼容性测试又被称为适配测试。兼容性测试的目的是要
网络测试技术与应用
• 总之,兼容性测试不是简单地拿到不同的设备进行相同 操作的机械劳动。兼容性测试需要结合应用程序本身的 特点和iOS的相关特性进行针对性的测试,最终 快速得 到测试反馈。更多的兼容性测试点需要在工作中总结和 探索。
网络测试技术与应用
5.3 APP性能测试 • 一个iOS应用程序不只需要漂亮的页面和优雅的设计,
网络测试技术与应用
• 6.稳定性测试 • 稳定性测试是检验应用程序长期稳定的运行能力。一般
的稳定性测试会通过一些边界值和非常规操作,来验证 应用程序的问题性。稳定性测试也需要探索, 因为有 时稳定性测试的通过,也不能说明应用程序足够稳定。
网络测试技术与应用
5.2 APP兼容性测试 • 兼容性测试也被称为适配测试。兼容性测试需要考虑硬
网络测试技术与应用
• UI Automation不但支持脚本编写方式的自动化测试, 并且还支持录制回放方式的自动化测试,是一款功能强 大的自动化测试工具。
• UI Automation体系结构,UI Automation,微软提供的 UI自动化库。它包括在.NET Framework 3.0中,是 Windows Presentation Foundation(WPF)的一部分, 可进行UI测试自动化。
• 4、UIAutomationClientSideProviders.dll 为客户端 程序提供自动化支持。
网络测试技术与应用
• 在UI自动化库体系结构中使用客户端-服务器视点和命 名约定。从UI测试自动化的角度来看,意味着所测试的 应用程序被称为服务器,测试工具被视为客户端,测试 工具客户端向所测试的应用程序(服务器)请求UI信息 。
网络测试技术与应用
• 2.内存泄露检查 • 内存占用的优化管理一直是iOS开发者关心的问题之一
。由于Objective不支持垃圾自动回收技术,所以开发 者需要更加小心地处理内存管理的相关问题。除了开发 工程师在编码阶段格外小心地管理内存以外,还需要具 备一种内存泄露的检査手段。
网络测试技术与应用
• 3.设备CPU和内存等关键指标的记录对比,所有的性能 测试都会监控测试对象的运行环境,记录CPU,内存和 I/O的一些指标,用于分析对比。在iOS方面一般使用 Instruments来统计应用程序CPU,内存和I/O的使用情 况。