monkeytest(怎么测试一个APP
发布时间: 2023-07-07

本文目录

怎么测试一个APP

本文是个人整理版,内容涉及两大部分:一是移动互联网APP测试流程,二是APP测试点。

APP测试基本流程

  1. 流程图

2. 测试周期

测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。

3. 测试资源

测试任务开始前,检查各项测试资源。产品功能需求文档、产品原型图、产品效果图、测试设备

4. 日报及产品上线报告

1)测试人员每天需对所测项目发送测试日报。

2)测试日报所包含的内容为:

--对当前测试版本质量进行分级;

--对较严重的问题进行例举,提示开发人员优先修改;

--对版本的整体情况进行评估。

3)产品上线前,测试人员发送产品上线报告。

4)上线报告所包含的内容为:

---对当前版本质量进行分级;

---附上测试报告(功能测试报告、兼容性测试报告、性能测试报告以及app可用性能标准结果);

--总结上线版本的基本情况。若有遗留问题必须列出并记录解决方案。

APP测试点

1、安全测试

  • 软件权限

1)扣费风险:包括发送短信、拨打电话、连接网络等

2)隐私泄露风险:包括访问手机信息、访问联系人信息等

3)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测

4)限制/允许使用手机功能接人互联网

5)限制/允许使用手机发送接受信息功能

6)限制/允许应用程序来注册自动启动应用程序

7)限制或使用本地连接

8)限制/允许使用手机拍照或录音

9)限制/允许使用手机读取用户数据

10) 限制/允许使用手机写人用户数据

11) 检测App的用户授权级别、数据泄漏、非法授权访问等

  • 安装与卸载安全性

1)应用程序应能正确安装到设备驱动程序上

2)能够在安装设备驱动程序上找到应用程序的相应图标

3)是否包含数字签名信息

4)JAD文件和JAR包中包含的所有托管属性及其值必需是正确的

5)JAD文件显示的资料内容与应用程序显示的资料内容应一致

6)安装路径应能指定

7)没有用户的允许, 应用程序不能预先设定自动启动

8)卸载是否安全, 其安装进去的文件是否全部卸载

9)卸载用户使用过程中产生的文件是否有提示

10)其修改的配置信息是否复原

11)卸载是否影响其他软件的功能

12)卸载应该移除所有的文件

  • 数据安全性

1)当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码

2)输人的密码将不以明文形式进行显示

3)密码, 信用卡明细, 或其他的敏感数据将不被储存在它们预输人的位置上

4)不同的应用程序的个人身份证或密码长度必需至少在4一8 个数字长度之间

5)当应用程序处理信用卡明细, 或其他的敏感数据时, 不以明文形式将数据写到其它单独的文件或者临时文件中。以6)防止应用程序异常终止而又没有侧除它的临时文件, 文件可能遭受人侵者的袭击, 然后读取这些数据信息。

7)当将敏感数据输人到应用程序时, 其不会被储存在设备中

8)备份应该加密, 恢复数据应考虑恢复过程的异常通讯中断等, 数据恢复后再使用前应该经过校验

9)应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告

10)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告, 更不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户

11)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作

12)“ 取消” 命令操作能够按照设计要求实现其功能

13)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况

14)当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误的提示信息

15)在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ

16)应用程序读和写数据正确。

17)应用程序应当有异常保护。

18)如果数据库中重要的数据正要被重写, 应及时告知用户

19)能合理地处理出现的错误

20)意外情况下应提示用户

  • 通讯安全性

1)在运行其软件过程中, 如果有来电、SMS、EMS、MMS、蓝牙、红外等通讯或充电时, 是否能暂停程序,优先处理通信, 并在处理完毕后能正常恢复软件, 继续其原来的功能

2)当创立连接时, 应用程序能够处理因为网络连接中断, 进而告诉用户连接中断的情况

3)应能处理通讯延时或中断

4)应用程序将保持工作到通讯超时, 进而发送给用户一个错误信息指示有连接错误

5)应能处理网络异常和及时将异常情况通报用户

6)应用程序关闭或网络连接不再使用时应及时关闭) 断开

7) HTTP、HTTPS覆盖测试

--App和后台服务一般都是通过HTTP来交互的,验证HTTP环境下是否正常;

--公共免费网络环境中(如:麦当劳、星巴克等)都要输入用户名和密码,通过SSL认证来访问网络,需要对使用HTTP Client的library异常作捕获处理。

  • 人机接口安全性

1)返回菜单总保持可用

2)命令有优先权顺序

3)声音的设置不影响应用程序的功能

4)应用程序必需利用目标设备适用的全屏尺寸来显示上述内容

5)应用程序必需能够处理不可预知的用户操作, 例如错误的操作和同时按下多个键

2、安装、卸载测试

验证App是否能正确安装、运行、卸载以及操作过程和操作前后对系统资源的使用情况

  • 安装

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

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

3)软件安装各个选项的组合是否符合概要设计说明

4) 软件安装向导的UI测试

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

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

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

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

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

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

  • 卸载

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

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

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

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

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

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

3、UI测试

测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。

UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

  • 导航测试

1)

微信