02.App与Web测试

App与web测试

  • 一、app测试要点
    • 1、功能性
    • 2、UI测试
    • 3、安装与卸载
    • 4、软件升级测试
    • 5、登陆测试
    • 6、离线测试
    • 7、兼容性测试
    • 8、安全性测试
    • 9、消息推送
  • 二、Web测试点
    • 1、输入框
      • 2.1.1 字符型输入框
      • 2.1.2 数值型输入框
      • 2.1.3 日期型输入框
    • 2、搜索功能
      • 2 2.1 翻页功能
      • 2.2.2 首页、上一页、下一页、尾页
      • 2.2.3 总页数、当前页
      • 2.2.4 指定跳转页
      • 2.2.5 设定每页显示条数
    • 3、添加、修改
      • 2.3.1 特殊键
      • 2.3.2信息提示
      • 2.3.3 唯一性
      • 2.3.4 数据正确性
    • 4、 删除功能
      • 2.4.1 特殊键
      • 2.4.2 提示信息
      • 2.4.3 数据 实现
    • 5、登陆、注册
      • 2.5.1 注册功能
      • 2.5.2 登陆功能
    • 6、查询结果列表
      • 2.6.1 功能 实现
    • 7、安键检查
      • 2.7.1 返回键检查
      • 2.7.2 回车键检查
      • 2.7.3 刷新键检查
    • 8、状态测试
    • 9、直接URL链接检查
    • 10、界面和易用性测试
    • 11、链接测试
      • 2.11.1 具体内容
    • 12、安全性测试
    • 13、业务流程测试
    • 14、上传图片测试
      • 2.14.1 功能 实现:
    • 15、其他

一、app测试要点

1、功能性

  1. 根据产品的需求文档编写的测试用例而进行测试
  2. 功能性包括客户端的单个功能模块,及功能业务逻辑(功能交互)
    如:涉及输入的地方考虑等价性,边界值,异常或非法等

2、UI测试

  1. 确保产品UI符合产品经理指定的原型图与效果图
  2. 一般涉及界面(如菜单,对话框,窗口和其他可视控件)布局、风格、文字是否正确,页面是否美观,操作是否友好。
    如:安装APP否的加载页面显示,分享页面的产品的logo显示

3、安装与卸载

  1. 软件安装后是否可以正常运行
  2. 安装过程是否可以取消
  3. 安装空间不足是否有相应提示
  4. 是否可以卸载应用(可以通过界面卸载,也可以通过软件卸载安装)
    如:曾经发现在IOS手机上有个应用程序未完全安装,终止安装后,未完全安装的应用图标一直显示在桌面,且无法成功删除。
  5. 卸载是否支持取消卸载功能。
  6. 卸载后文件是否全部删除所有的安装文件(有些是全部卸载,有些是手动卸载)
  7. 版本升级:会不会提醒是否要升级到新的版本,升级会不会直接覆盖

4、软件升级测试

  1. 有新版本时,是否有更新提示
  2. 非强制升级版本时,用户可以取消更新,老版本正常使用,用户在下次启动app时,仍出现更新提示
  3. 强制性升级版本时,当给出强制升级提升后,客户没有做升级处理,退出客户端,下次启动app时重新给出提示
  4. 检查更新后各个功能是否正常使用
  5. 在线跨版本升级后能否正常使用

5、登陆测试

  1. 登录用户名和密码错误时,界面有提示信息
  2. 用户主动退出登录后,下次启动app时,应该进入登录页面
  3. 密码更改后,登陆时是否做到了有效数据的校验
  4. 对于未登录状态时,一些页面的操作,是否做了控股之
  5. 切换账号登录,验证登录的信息是否做到了即使的更新
  6. 对于多个端(web、ios、android)进行操作时,确保数据库操作无误,且每个端口可以及时看到数据更新
  7. 一个账号只允许登录一个机器的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示
  8. 用户登录状态太久,无任何操作,其身份验证会过期

6、离线测试

  1. 是应用程序在本地客户端会缓存一部分数据以供程序下次调用
  2. 对于一些程序,需要在登陆进来后,这是没有网络情况下可以浏览本地数据
  3. 对于无网络时,刷新获取新数据时,不能获取数据时是否给出友好提示
  4. 离线后又连上网,这时对数据有更新时,需要从服务器获取新数据来更新客户端数据,且要更新本地缓存
  5. 对于界面的数据,不提供离线查看,需要给出相应提示且界面更新后无任何数据
  6. 确认在无网情况下可以浏览本地数据
  7. 确认退出app再启动app时能正常浏览
  8. 确认切换到后台在切换回app应用时可以正常浏览
  9. 屏锁后再接收回到应用前台可以正常浏览
    10.服务端的数据有更新时有离线的提示

7、兼容性测试

  • 满足大众需要,市场需求
  1. 不同的操作系统
  2. 屏幕尺寸:安卓4.x 5.x
    ios系列
    iphone:3.5英寸,4英寸,4.8英寸、5.5英寸
  3. 分辨率适配
    分辨率不同,界面图标,文字大小会不同。兔小是否完整,文字是否被遮挡
  • 注:看市场上哪些手机比较主流,做一下适配,把APP安装在这个手机上看看界面和功能。
    一般测试兼容性像安卓系统的手机,选取市场上主流手机就行,华为,小米,三星…;ios系统的就是iphone4、5、6、6s、6plus
    以市场主要版本为主

8、安全性测试

  1. 扣费风险:包括发送短信,拨打电话,网络连接,没有网络是否提醒(wifi 转换成4G网络),默认下载
  2. 隐私泄露风险
  3. 是否允许访问相册、照片
  4. 是否录音
  5. 是否定位
  6. 是否允许接受推送

9、消息推送

  1. 默认开关应该时全部打开状态
  2. 设置开关可以自由打开关闭
  3. 未锁屏时,消息推送是否可以正常节后
  4. 锁屏时,手机消息栏是否可以接受到消息提醒,且点击可以查看,点击后消息栏中消失(关注应用后台运行时消息推送)
  5. 确认app客户端启动时,可以收到消息提醒,且可以点击查看
  6. 设置开关关闭时,客户端接收不到消息推送
  7. 当push消息是针对登陆用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其他人的信息推送过来
  8. push推送消息时,是否有针对的推送,如相应内容推送给相应用户(精准推送)
  9. 退出登陆后,是否接收push推送(根据需求来)

二、Web测试点

1、输入框

  • 验证输入与输出的信息是否一致
  • 输入框之前的标题是否正确
  • 对tab字符的处理机制
  • 对ctrl和alt键对输入框的影响
  • 对于有约束条件的输入框,在条件满足时输入框的状态发生相应的变化。(如:选择某些条件后,一些输入框会关闭或转为之都状态
  • 输入类型:当处于某种状态下,输入框是否处于可写或非可写状态。(如:编辑栏作为唯一标识,当再次处于编辑状态下,编辑输入框处于不可编辑状态。若可编辑,可能赵成数据重复引用冲突等)
  • 输入信息位置:在光标停留的地方输入信息时,光标和所输入的信息是否与会跳到别的地方去
  • 回车检查:数据结束后直接回车键,系统如何处理,是否保存
  • 快捷键检查:是否支持常用快捷键,如:ctrl+c,ctrl+v,backspace等;对一些不允许输入信息的字段,对快捷是否做了限制
  • 字符本身显示的颜色
  • 字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@# ¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。

2.1.1 字符型输入框

  1. 长度检查:最小长度,最大长度,最小长度-1,最大长度+1,输入超工字符,如把整个文章拷贝过去
  2. 空格检查:输入的字符简存在空格,字符前有空格,字符后有空格,字符前后有空格
  3. 多行文本框输入:允许回车换行、保存后在显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,检查是否有正常提示)
  4. 安全性检查:输入特殊字符(null,NULL,javascript,、doucment.write(“abc”).hello
  5. 边界值:最大值、最小值、最大值+1,最小值-2

2.1.2 数值型输入框

  1. 位数:最小位数、最大位数、最小位数-1,最大位数+1、输入超长值、输入整数
  2. 异常值、特殊字符:输入空白(NULL)、空格或*~!@#¥%……&*()_+{}[]|:,.?/±=等,可能会导致错误的字符,禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否正常提交,word中的特殊功能,通过粘贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号∑,㏒,㏑,∏,+,-等、
  3. 输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、
  4. 安全性检查:不能直接输入就copy
  5. 合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13]

2.1.3 日期型输入框

  1. 异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符
  2. 安全性检查:不能直接输入,就copy,是否数据检验错误
  3. 在一些需要命名,且名字应该唯一的信息输入重复的名字或者ID,看系统有没有处理,是否报错,重名包括区分大小写,以及在输入内容的前后输入空格,系统是否正确处理

2、搜索功能

若查询条件为输入框,则参考输入框对应类型的测试方法

  • 功能实现:
    • 1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到
    • 2)比较长的名称是否能查到
    • 3)输入系统中不存在的与之匹配的条件
    • 4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。
  • 组合测试:
    • 1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)
    • 2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错
  • 关键字:
    • 1)有大小写混合的情况
    • 2)含有一个或者多个空格的情况,包括前、中、后、空格
    • 3)是否支持通配符
    • 4)是valid,但是没有匹配搜索结果的情况
    • 5)输入html标签会出现什么情况,如:输入<,html>

2 2.1 翻页功能

  1. 有无数据时,控件的显示情况

2.2.2 首页、上一页、下一页、尾页

  1. 在首页时,首页和上一页是否可以点击
  2. 在尾页时,尾页和下一页是否可以点击
  3. 在非首页和尾页时,四个按钮功能是否正常
  4. 翻页后,列表中的记录是否按照指定的排序进行排序
  5. 总页数是否登陆总记录条数、指定每页条数

2.2.3 总页数、当前页

  1. 当前页面是否正确
  2. 是否与能正常跳转到指定页数

2.2.4 指定跳转页

  1. 输入的跳转页数非法时的处理
  2. 是否有默认的指定每页显示条数

2.2.5 设定每页显示条数

  1. 设定每页显示条数后,列表每页显示的记录数,页数是否正确
  2. 输入的每页非法时的处理

3、添加、修改

  • 检查带出信息的完整性:在查看信息或者update信息时,检查填写的信息是否全部带出,带出的信息和添加的是否一致

2.3.1 特殊键

  1. 是否支持tab键
  2. 是否支持回车键

2.3.2信息提示

  1. 不符合要求的地方是否有错误提示
  2. 字段唯一的,是否可以重复添加,添加后,是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后的数据正确性)

2.3.3 唯一性

  1. 对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新

2.3.4 数据正确性

  1. 对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新。
  2. 进行必填项检查(即是否给出提示以及提 示后是否依然把数据存到数据库中;是否提示后出现页码错乱等)
  3. 是否能够连续添加(针对特殊情况)
  4. 在编辑的时候,注意编辑项的长度限制,有时在 添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否一致)
  5. 对于有图片上传功能的编辑框,若不上传图片,查看编辑页面时是否显示有默认的图 片,若上传图片,查看是否显示为上传图片
  6. 修改后增加数据后,特别要注意查询页面的数据是否及时更新,特别是在首页时要注意数据的更新。
  7. 提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错。
  8. 若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会抛 异常。
  9. 检查多次使用back键:在有back的地方,back回到原来的页面,在back重复几次,系统是否报错

4、 删除功能

2.4.1 特殊键

  1. 是否支持Tab键
  2. 是否支持回车键

2.4.2 提示信息

  1. 不选择任何信息,直接点击删除按钮,是否有提示
  2. 删除某条信息时,应该有确认提示

2.4.3 数据 实现

  1. 是否能连续删除多个产品
  2. 当只有一条数据时,是否可以删除成功
  3. 删除一条数据后,是否可以添加相同的数据
  4. 如系统支持批量删除,注意删除的信息是否正确
  5. 如有全选,注意是否把所有的数据删除
  6. 删除数据时,要注意相应查询页面的数据是否及时更新
  7. 如删除的数据与其他业务数据关联,要注意其关联性(如删除部门信息时,部门下游员工,则应该给出提示)
  8. 如果结果列表中没有记录或没有选择任何一条记录,点击删除按钮系统会报错。

5、登陆、注册

2.5.1 注册功能

  1. 注册时,设置密码为特殊版本号,检查登录时是否会报错
  2. 注册成功后,页面应该以登陆状态跳转到首页或指定页面
  3. 在注册信息中删除已输入的信息,检查是否可以注册成功

2.5.2 登陆功能

  1. 输入正确的用户名和正确的密码
  2. 输入正确的用户名和错误的密码
  3. 输入错误的用户名和正确的密码
  4. 输入错误的用户名和错误的密码
  5. 不输入用户名和密码(均为空格)
  6. 只输入用户名,密码为空
  7. 用户名为空,只输入密码
  8. 输入正确的用户名和密码,但是不区分大小写
  9. 用户名和密码包括特殊字符
  10. 用户名和密码输入超长值
  11. 已删除的用户名和密码
  12. 登录时,当页面刷新或重新输入数据时,验证码是否更新
  13. tab键的使用是否正确
  14. 若界面支持ESC,是否能正常工作

6、查询结果列表

2.6.1 功能 实现

  1. 列表、列宽是否合理
  2. 列表数据太宽有没有提供横向滚动
  3. 列表的列名有没有与内容对应
  4. 列表的每列的列名是否描述的清晰
  5. 列表是否把不必要的列都显示出来
  6. 点击某列进行排序,是否会报错(点击查看每一页的排序是否正确)
  7. 双击或单击某列信息,是否会报错

7、安键检查

2.7.1 返回键检查

  1. 一条已经成功提交的记录,返回后再提交,是否做了处理
  2. 检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错

2.7.2 回车键检查

  1. 在输入结果后,直接按回车键,看系统如何处理,是否会报错

2.7.3 刷新键检查

  1. 在Web系统中,使用刷新键,看系统如何处理,是否会报错

8、状态测试

  1. 每种状态至少访问一次
  2. 测试看起来最常见最普遍的状态转化
  3. 测试状态键最不常见的分支
  4. 测试所有错误状态及返回值
  5. 测试水机状态转化

9、直接URL链接检查

  • 在Web系统中,在地址栏直接输入各个功能页面的URL地址,看系统如何处理

10、界面和易用性测试

  1. 风格、样式、颜色是否协调
  2. 各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;
  3. 各个页面的title是否正确
  4. 栏目名称、文章内容等处的文字是否正确,有误错别字或乱码;同一级别的字体 大小、颜色是否统一;
  5. 界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)
  6. 提示警告错误说明应该清楚易懂,用词准确,摒弃模棱两可;
  7. 切换窗口大小,将窗口缩小后,页面是否按照比例缩小或者出现滚动条;各个页面缩小的风格是否一致,为是否串行
  8. 父窗体主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗台的左上角或者正中;多个窗体弹出时应该一次向右下方偏移,以显示窗台标题为宜;
  9. 按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上防止放置很大的按钮;按钮的样式风格要统一;
    10.== 前景色背景色==搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色;
  10. 若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止;
  11. 导航处是否按相应的栏目级别显示;导航文字是否统一行显示;
  12. 所有的图片是否都被正确加载,在不同的浏览器、分辨率下图片是否正确显示(包括位置,大小)
  13. 文章列表页,左侧的栏目是否与一级,二级栏目的名称、顺序一致
  14. 调整分辨率验证页面格式是否错位现象
  15. 鼠标移动到Flash焦点上特效是否实现,移除焦点特效是否消失;
  16. 文字颜色与页面配色协调,不适用与背景色相近的颜色
  17. 每个非首页静态页面含图片字节不超过300k,全尺寸banner第一个常见控制在200k以内,第二场景控制在300k,三个场景在400k以此类推
  18. 同一界面的控件数,最好不超过10个,多于10个时可以考虑使用分页界面显示
  19. 超过一屏的内容,在底部应该有go top 按钮
  20. 超过三屏的内容,应该在头部设置提纲,直接连接到文内描述
  21. 首页,各栏目 一级页面之间互联,个栏目一个和本栏目二级页面之间互联
  22. 导航的文字要简明扼要,文字限制在一行以内
  23. 报表显示时,应该考虑数据显示宽度的自适应自动换行
  24. 所有数据展示界面(如统计、查询、编辑录入,打印预览,打印等),必须使测试数据超过一屏、一页,以验证满屏、页是其窗体是否有横向、纵向滚动条或换页打印,页面显示是否正常
  25. 如有多个系统展示同一数据源时,应保持一致性
  26. 对于多个报表中的所有字段值都应该有明确的定义,对于无意义的字段值,不应该显示空,应该显示“–”或者“/”,表示该字段值无意义
  27. 对于统计的数据应按用户习惯进行分类、排序
  28. 界面内容更新后,系统提供刷新功能
  29. 用户在退出系统后重新登陆时应该考虑是否需要自动返回到上次退出系统时的界面
  30. 在多个业务功能组成的一个业务流程中,如果各个功能之间的执行熟悉有一个制约条件,应通过界面提示用户
  31. 用户提示信息应具有一定的指导性,在应用程序正在进行关键业务的处理时,赢考虑在前面界面提示用户应用程序正在进行的处理,以及相应处理过程,在处理结束后提示用户处理完毕;
  32. 在某些数据输入界面,如果要求输入的数据复核某项规则,应在输入界面提供相应的规则描述;当输入数据不符合规则时应提示用户是否继续;
  33. 对任何配置信息修改后,都应该在用户退出界面时提示用户保存(如果用户没有主动保存的情况下);
  34. 在对某些查询功能进行测试时,应考虑查询条件的设置的合理性以及查询结果的互补性;如:某些后台处理时间不应该做为查询条件
  35. 界面测试时,应考虑某一界面上按钮先后使用的顺序问题,一面用户对此产生迷惑。如:只能在查询成功后显示执行按钮
  36. 界面测试时,应该验证窗口与窗口之间,字段与字段之间的浏览顺序是否正确
  37. 在某些对数据进行处理的操作界面,应该考虑用户可能对数据进行处理的频率成都和工作量,考虑是否进行批量操作
  38. 界面测试时,应该验证所有窗体中的对象状态是否正常,是否符合相关的业务规则需要
  39. 应验证各种对象访问方法(teb键,鼠标移动,快捷键)是否正常使用,并且在一个激活界面中快捷键有无重复
  40. 测试界面不光要考虑合理的键盘输入,还需要考虑是否可以通过该鼠标拷贝粘贴输入
  41. 对于停机查询功能的查询结果应验证其是否只能通过界面上的查询或刷新安键人工触发,应避免其他形式的触发
  42. 对界面上的任何对象进行拖拉,然后查询,打印,应保证查询打印结果不变
  43. 确保数据精度显示的统一,如单价0元,应显示为0.00元
  44. 确保时间及日期显示格式的统一
  45. 确保相同含义属性、字段名的统一
  46. 对所有可能产生的提示信息界面内容和位置进行验证,确保所有的提示信息界面应居中

11、链接测试

  • 主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面

2.11.1 具体内容

  1. 页面是否有无法连接 的内容;图片是否能正确显示,有误冗余图片,代码是否规范,页面是否与存在死链接(可以用HTML link validator 工具查找)
  2. 页面上是否有无用的链接;点击图片上的链接是否能跳转到正确的页面
  3. 首页点击LOGO下的一级栏目或二级栏目名称,是否进入相应的栏目
  4. 点击首页或列表页的文章标题链接,是否可以进入到相应的文章详情页面
  5. 点击首页栏目名称后面的【更多】链接,是否可正确跳转到相应的栏目页面
  6. 导航链接的页面是否正确;是否可按栏目界别跳转到相应的页面;(例:【首页->服务于支持->客服中心】,分别点击“首页”、“客服中心”,查看是否跳转相应页面)
  7. 新闻、信息类内容通常用新窗口打开方式打开
  8. 顶部导航、底部导航通常采取在本页打开

12、安全性测试

  • SQL注入(登陆页面)
  • XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
     document.write(“abc”)
  • URL地址后面随便输入一些符号
  • 验证码更新问题

13、业务流程测试

  • 业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。

14、上传图片测试

2.14.1 功能 实现:

  1. 文件类型正确、大小合适
  2. 文件类型正确,大小不合适
  3. 文件类型错误,大小合适
  4. 文件类型和大小都合适,上传一个正在使用中的图片
  5. 文件类型大小都合适,手动输入存在的图片地址来上传
  6. 文件类型和大小都合适,输入不存在的图片地址来上传
  7. 文件类型和大小都合适,输入图片名称来上传
  8. 不选择文件直接点击上传,查看是否给出提示
  9. 连续多次选择不同的文件,查看是否上传最后一次选择的文件

15、其他

  • 在测试时,与网络有关的步骤必须考虑到断网的情况
  • 每个页面都有相应的Title
  • 在测试的时候要考虑到页面出现滚动条时,滚动条上下滚动时,页面是否正常
  • URL不区分大小写
  • 某个字段是唯一的,当多个用户并发点击产生该字段时,检查系统怎么处理
  • 对于电子商务网站,当用户并发购买数量大于库存的数量时,系统如何处理
  • 测试数据避免单纯输入“123”、“abc“之类的,让测试数据尽量接近实际
  • 进行测试时,尽量不要用超级管理员进行测试,用新建的用户进行测试。测试人员尽量不要使用同一个用户进行测试
  • 做功能测试的时候,也要注意系统的性能(如操作的响应时间、内存使用情况)

你可能感兴趣的:(软件测试基础)