1.1 了解需求

这一点,不但是功能测试,是所有测试都需要的第1步。通过需求文档,与产品经理的沟通,与开发的沟通,用户的使用习惯等各方法,了解APP的需求。

1.2 编写测试用例

当然之前可能是测试计划,测试方案的确认等。这是测试经理的主要工作。测试用例的编写,主要是建立在第1步的了解需求之后。测试用例主要包含:1用例标题;2用例数据;3测试步骤;4期望结果;5实际结果。当然还有其它的,包含测试人员,测试环境,测试工具等。

这里,APP测试的内容,一般包含:

1.2.1 APP的下载,安装,卸载。

能否正常下载

安装是否正常(有网,无网是否都正常),路径是否正确,文件或者占用手机内存大小等(如果需要)

是否没有得到用户允许就自启动

特殊情况下,比如内容不足情况下的安装。不要导致系统死机,重启,断电等严重问题。要提示用户内存不足,然后取消安装。重新安装没有问题。

卸载是否正常,是否将全部必要文件删除(如果需求需要,有的APP是要保留部分文件的,尤其是用户使用产生的文件)

直接删除文件导致不能使用,是否有提示

1.2.2 权限的验证

获取的权限是否得到用户的许可,尤其是部分重要的权限,如使用网络,使用摄像头,读取通讯录,短信,通讯记录等。

使用发送短信,打电话前要提示用户。

没有网络时,要提示用户。这里包含各页面时的提示,尤其是注册登录时,也可以放在功能模块的测试中。

如果得到短信权限,可能得到短信关键内容。例如接收短信验证码。

上面这些,其实也属于安全测试,但因为较简单,也可以当作功能测试。 至于是否存在用户数据泄漏,属于更专业的安全测试。

1.2.3 UI界面的验证

各界面是否需要需求,以需求文档和用户习惯为准。

1.2.4 各功能模块的验证

一般的功能模块包含:注册,登录,个人中心,各相应功能。。。

1.2.5 注册登录的通用的重要测试点:

没有网络时的提示

登录后,直接进入个人中心,或者是首页

密码的验证,密码的保存(是否加密保存在手机中),密码的长度,错误的提示,找回密码,密码最多错误次数的限制及后续处理逻辑(多久后或者怎么操作后可以重新登录)。

是否允许多设备的登陆,台式机和手机的同时登录,多台手机的同时登录

登录后,系统是否正确处理(个人信息是否正确,用户权限是否正确)

登录超时的处理

一般现在没有注销功能,若有,注销后是否能重新注册,且信息是否处理正确(新用户不受原用户信息的影响)

1.2.6 运行APP的重要点有:

应用前后台的切换,是否崩溃,是否能正常使用(时间短,正常使用;时间长了,相当于重新打开应用),是否能正常接收新数据

锁屏解屏对应用的影响,是否能正常接收新数据。

有电话进来后,再使用APP,功能是否正常。

关闭APP后再打开APP,是否正常

对于有数据交换的页面,每个页面都要进行前后台切换,锁屏触屏,电话接入等测试,因为这种页面最易出问题。

1.2.7 免登录功能

关闭APP后,再重新打开,是否免登录

切换登录用户,用户信息是否更新

修改密码后,是下次登录或者开户时校验新密码,还是本次登录要马上退出重新登录?

1.2.8 数据更新

哪些页面的数据是自动更新,哪些手动更新

前后台切换时,数据是否更新

哪些数据是实时从服务端请求,哪些缓存到本地

1.2.9 离线浏览

是否支持离线浏览?

支持离线时,前后台切换或者锁屏触屏后,是否都能浏览本地信息?

手动刷新时,是否有对连接网络的提示?

1.2.10 APP更新

打开老版本时,是否有新版本的更新提示

是否强制升级

不删除老版本情况下,直接更新,是否正常,更新后,是否能正常使用

1.2.11 相机使用

专门提到相机,是因为相机使用频繁。而照相质量,用户也很在意。所以当APP调用相机时,功能是否正常,质量是否可靠,也要多次测试。

1.2.12 消息推送

用户接受消息推送时,是否能正常接收各类消息?

不打开应用时,能否接收消息

打开应用时,能否接收消息

登录与不登录情况下,接收消息是否有区别(其实这些需求中都要明确,才能针对性展开测试)

精确推送,是否只推送给指定用户

1.2.13 兼容性测试

兼容性测试,严格来说不是功能测试。但这里功能测试,只是与性能测试,专业的安全测试区分后,笼统地称其它测试全为功能测试。

包括设备的兼容性测试,及网络的兼容性测试。

设备包括,不同品牌,不同系统(miui等)的手机,不同版本的android, ios, 不同屏幕大小的手机。

网络包括,WIFI,各种制式的3G, 各种制式的4G

对http和https分别适应,这点是以前没考虑到的。在星巴克等场所,需要输入用户名和密码才能上网,这样的网络通常是https。

这里额外补充一点关于自动化测试的。不要盲目追求自动化,因为app开发周期短,UI变化大,导致自动化投入成本高很多。这对于大多数公司是不适用的。

APP测试--功能测试的更多相关文章

  1. App测试从入门到精通之功能测试

    App的功能测试指的是针对软件需求以及用户要求针对APP功能进行测试.简单点理解就是保证App功能的正确性,不要系统出现Bug.让用户用户的舒服,用的爽!好了,我们看下关于App的功能测试要点有哪些? ...

  2. 手机APP测试(测试点、测试流程、功能测试)

    1.功能测试 1.1 启动 APP安装完成后,是否可以正常打开,稳定运行 APP的速度是可以让人接受,切换是否流畅 网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生 ...

  3. App测试

    (1)App独特测试点: 客户端兼容性测试:系统版本.不同深度定制的rom.屏幕分辨率.中断测试.安装.卸载.升级.对其他程序的干扰等 需要的一些工具: appnium / lr /  jmeter ...

  4. APP测试要点

    APP测试的时候,建议让开发打好包APK和IPA安装包,测试人员自己安装应用,进行测试.在测试过程中需要注意的测试点如下: 1.安装和卸载 ●应用是否可以在IOS不同系统版本或android不同系统版 ...

  5. 推荐书籍 -《移动App测试的22条军规》

    在今天的博文中,博主希望给大家分享一本博主同事黄勇的最新利作:<移动App测试的22条军规>.黄勇是ThoughtWorks资深敏捷QA和咨询师.对于我来说,和黄勇在一起的工作的这个项目, ...

  6. APP测试流程

    1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...

  7. 如何做好APP测试?

    测试一个App具体包括哪些方面,以及每个方面有什么关键点呢? 测试人员常被看作bug寻找者,但你曾想过他们实际是如何开展测试的吗? 你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现 ...

  8. app测试与web测试的区别

    1.从功能测试的来讲的话,在流程和功能测试上是没有区别的.系统测试和一些细节可能会不一样. 那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/ ...

  9. 《大话移动APP测试:Android与iOS应用测试指南》

    <大话移动app测试:android与ios应用测试指南> 基本信息 作者: 陈晔 出版社:清华大学出版社 ISBN:9787302368793 上架时间:2014-7-7 出版日期:20 ...

随机推荐

  1. mmmmmmmm

    // // AView.m // AutoLayout // // Created by ZhuYi on 16/5/24. // Copyright © 2016年 ZY. All rights r ...

  2. CentOS python升级到3.5时yum报错

    File except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax 解决步骤: #vi /usr/bin/yum 将#!/usr/bin/p ...

  3. action解耦方式

    ServletAction方式,必须要有Servlet容器作支持 package com.hanqi.action; import javax.servlet.ServletContext; impo ...

  4. ios 开发证书 appids 描述文件关系

    当你准备进行真机测试或者发布应用到App Store上去的时候, 免不了要申请相应的证书.(Development--测试证书. Distribution--发布证书) 进入证书管理相应网站https ...

  5. C#操作WORD换行

    appWord.ActiveDocument.Bookmarks[bookMark].Select(); Word.Selection wordSelection = appWord.ActiveDo ...

  6. mysql bit类型数据库中无法显示

    表an_bit bit类型字段id select bin(id+0) from an_bit显示二进制 select id+0 from an_bit显示十进制 http://blog.csdn.ne ...

  7. unsupported major.minor version 52.0,错误

    Make sure that all the classes needed by the application have been compiled with a compatible java v ...

  8. Sql Server 表创建以及Ef浅谈

    1.在数据库中新建两张测试表 创建用户表 use eftest go if exists(select * from sysobjects where name='UserInfo') drop ta ...

  9. redis7--hash set的操作

    数据类型Hash(1)介绍hash数据类型存储的数据与mysql数据库中存储的一条记录极为相似Redis本身就类似于Hash的存储结构,分为key-value键值对,实际上它的Hash数据就好像是在R ...

  10. 成为java高手的八大条件

    1.扎实的基础  数据结构.离散数学.编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序.程序人人都会写,但当你发现写到一定程度很难再提高 的时候,就应该想想是不是要回过头来学 ...