目录
前言
本文为整理记录学习《软件测试训练营》- 移动应用程序测试和API测试的笔记,如果发现任何错误,请随时指正。本文部分图片来源于网络,如有侵权,请联系删除
一、移动应用程序测试
移动应用程序测试是指对移动应用程序进行功能、性能、兼容性等方面的测试,以确保应用程序在不同设备和操作系统上能够正常运行和提供良好的用户体验
1.移动应用程序类型
①原生移动应用程序
指专门为特定移动平台(如iOS、Android)开发的应用程序,可以充分利用平台提供的功能和性能优势,具有流畅的用户体验和高度的性能
②基于浏览器的应用程序
指通过Web技术(如HTML、CSS、JavaScript)开发的应用程序,可以在各种平台和设备上运行,具有跨平台的优势,但可能受限于浏览器性能和功能支持
③混合移动应用程序
结合了原生应用程序和基于浏览器的应用程序的优点,使用Web技术开发应用界面,同时可以调用设备的原生功能,具有较好的跨平台兼容性和性能表现
不同类型的应用程序适用于不同的场景,开发者根据项目需求和目标选择合适的开发方式
2.移动设备类型
基本电话,功能手机,智能手机,平板电脑,可穿戴设备
3.将会面临的挑战
①多平台和设备
移动设备市场众多,不同的操作系统、版本和屏幕尺寸使得测试工作变得复杂,测试团队需要确保应用程序在各种不同的设备上都能正常运行
②不同的Ul设计和用户体验期望
用户对于应用程序的UI设计和用户体验有着不同的期望,测试团队需要确保应用程序在不同用户群体中都能够提供良好的体验
③多种网络类型
不同的网络类型(如4G、WiFi、3G等)可能会影响应用程序的性能和稳定性,测试团队需要在不同网络环境下进行测试
④资源目标设备
测试团队在测试时需要确保应用程序在各种不同类型的设备上都能够正常运行和提供良好的用户体验
⑤多元化的用户
不同的用户有不同的需求和偏好,测试团队需要考虑到这些差异,以确保应用程序能够满足不同用户群体的需求
⑥高反馈可视性
测试团队需要及时获取用户的反馈和意见,以便及时调整和改进应用程序
⑦市场发布批准
测试团队需要确保应用程序符合相关法规和标准,并通过各个应用商店的审核流程,以便顺利发布应用程序
⑧新设备的不可用
测试团队需要及时获取并测试新设备,以确保应用程序在新设备上的兼容性和稳定性
4. 移动分析数据
https://gs.statcounter.comhttps://gs.statcounter.com
该网页提供了全球范围内的移动设备市场份额和操作系统市场份额等数据
通过分析这些数据,测试团队可以了解不同设备和操作系统的市场占有率,从而确定测试重点和优先级。例如,如果某个操作系统在市场份额中占据主导地位,那么测试团队就需要重点关注该操作系统上的应用程序兼容性和性能测试
二.API测试
API测试是指对应用程序接口(API)进行测试,以验证其功能、性能和安全性,确保API能够正确地与其他系统进行交互和数据传输
1.API
API代表应用程序编程接口,主要有3个部分,请求、程序和响应
请求是指开发人员向API发出的指令或要求,用于获取特定数据或执行特定操作。这些请求可以采用不同的形式,如HTTP请求、GET请求或POST请求,以便与API进行交互
程序是API中的核心部分,包含了开发人员可以调用的函数、方法和参数。通过调用这些程序,开发人员可以利用API提供的功能和服务,实现各种自定义操作
响应是API对请求的回应或反馈,通常包含请求的结果、数据或状态信息。开发人员可以根据API返回的响应来进一步处理数据、调整应用程序的行为或采取其他必要的操作
2.Web服务
Web=互联网,服务=API
Web服务=通过互联网的API,并非所有API都是Web服务
3.使用
使用XML和JSON来格式化数据,使用SOAP、REST、XML/RPC来传输数据
XML(可扩展标记语言)和JSON(JavaScript对象表示)是两种常用的数据格式化方式,可以帮助开发人员有效地组织和传输数据。XML适用于复杂数据结构和文档型数据,而JSON则更轻量且易于解析,适用于Web应用程序和移动应用程序的数据交换
SOAP(简单对象访问协议)、REST(表述性状态传输)和XML/RPC(XML远程过程调用)是常见的数据传输协议,用于在不同系统之间传递数据和调用远程服务
4.超文本协议HTTP
由起始行、标头、空行和正文四部分组成
4.1 起始行
请求中:①选择版本(1.1或2)
②方法(GET-POST-PUT-DELETE)
③参数 (/search?g=mohamedsalah)
回应中:①版本(1.1或2)
②状态代码【2xx(好的),4xx(来源的问题),5xx(目的地的API问题)】
4.2 标头
请求中:①Host(如www.baidu.com)
②Token令牌(在安全方面使用)
回应中:①Cookies(保存在PC上的一些数据)
②HTML
4.3 空行
用来分隔标头和正文
4.4正文(body)
请求中:①GET(什么都没有)
②POST(提供的数据,xml或json)
回应中:①请求的任何东西
②HTML网页
5.xml
由W3C创建,代表扩展标记语言,是用来发送API的格式
6.json
javascript对象表示法,是javascript中保存数据的部分
7.Soap API
代表简单对象访问协议,使用XML来格式化其数据
起始行:POST WSDL HTTP版本
标头:Content Type:text/xml
正文:使用WSDL形成的XML信封
8.Rest API
代表代表性状态传输,代表性意味着不发送实际记录
服务器存在问题依旧会响应,使用JSON来格式化其数据
存在以下几种类型的请求:Post,Put,Patch,Get以及Delete
本文小结
本文主要探讨了移动应用程序测试和API测试的核心概念和重要性。其中移动应用测试关注多平台、设备差异和用户体验,需利用市场数据如Statcounter确定测试重点。API测试则关注API功能、性能和安全性,确保数据在不同系统间顺畅交互。其中,数据格式化(如XML和JSON)和传输协议(如SOAP、REST)对测试至关重要。整体而言,测试团队在测试时需综合应用和设备数据,制定有效测试策略,以优化应用质量和用户体验