客户端测试方案的设计思路

5W1H原则

在任何场景下,组织一场活动也好,制定一个商业计划书也好,5W1H原则都是需要适用的,自然在测试方案的制定上也能够适用。

how:如何去测?用什么资源?依据什么?工具如何选型、案例要执行到什么粒度。

why:为什么要实现这个功能,背景和目的是什么,能给用户或公司带来多大的价值。

what:我需要做什么?任务的目的是什么?

when:项目周期多长,开发时间和提交测试时间是什么时候?什么时候需要给用户?测试周期需多长?

who:项目各个环节的直接责任人、干系人是谁?谁来主导负责?需要多少人力来参与?

where:相关资源的位置和路径,版本、文档。

测试方案对应的需要呈现以上6个方面的问题:

  1. why-需求背景、需求内容
  2. where-资源文件归档路径
  3. what-测试的范围
  4. when-测试的周期
  5. who-参与的人员
  6. how-测试的策略

测试工作的一些总结

手工测试

测试流程规范
  1. 产品从立项到发布要经历的流程

    1. 立项流程:收集需求(用户、销售、领导等)->立项(产品经理)->决策(领导)
    2. 设计阶段:需求澄清(产品经理)->产品设计(UI、架构)->开发story->测试方案
    3. 开发&转测:进度把控-风险评估
    4. 客户验收:结项
  2. 测试的职责

    1. 输出测试设计和测试用例并由相关人员一起评审(BA,开发,项目经理,测试)
    2. 执行测试用例
    3. 缺陷跟踪
    4. 输出测试报告、测试总结等
测试人员需要掌握的技能
  1. 产品从立项到发布的各个流程中,测试需要关注的地方

    1. 立项流程中,收集需求这个环节,测试在执行用例期间遇到非bug类的体验问题要本地记录,并汇总反馈给产品经理
    2. 设计阶段的评审环节,测试要多从用户体验的角度提出自己的观点和疑问(测试比开发更接近用户,比销售更熟悉产品的实现)
    3. 测试方案、测试用例、测试执行、缺陷跟踪是测试的核心职责
      1. 测试方案要覆盖全面(测试目的、测试准备、测试分工、测试范围、测试风险)
      2. 测试用例要按照功能测试设计将操作步骤、检查点逐一细化
      3. 测试执行要覆盖到测试用例的每一个测试步骤和检查点
      4. 缺陷跟踪要在回归问题场景的基础上,弄清bug的根因和修改方案,回归测试要考虑到是否需要补充测试方案和测试用例

参考:怎样制定一个合格的测试方案

ADB常用命令

adb 命令 含义
adb shell adb shell “dumpsys window \ grep mCurrentFocus” 获取应用包名(打开应用)
adb shell pm path 包名 获取应用安装路径
adb shell “pm dump 包名 获取应用版本号
adb shell “cat /system/build.prop 获取手机系统信息( CPU,厂商名称等)
adb shell getprop ro.build.version.release 获取手机系统版本
adb shell getprop ro.build.version.sdk 获取手机系统api版本
adb -d shell getprop ro.product.model 获取手机设备型号
adb -d shell getprop ro.product.brand 获取手机厂商名称
adb shell getprop ro.serialno 获取手机的序列号
adb shell dumpsys iphonesubinfo 获取手机的IMEI
adb shell cat /sys/class/net/wlan/address 获取手机mac地址
adb shell cat /proc/meminfo 获取手机内存信息
adb shell df 获取手机存储信息
adb shell df /mnt/shell/emulated 获取手机内部存储信息:
adb shell df /storage/sdcard 获取sdcard存储信息:
adb shell “dumpsys window 获取手机分辨率
adb shell wm density 获取手机物理密度
adb shell “dumpsys window 获取当前界面对应的活动和包名

待刷新

使用selenium+wget实现自动下载图片

操作步骤

unsplash.com是一个免费下载高清图片的网站,我们可以使用web自动化工具selenium来批量获取该网站主页上提供的海量图片下载链接,并使用强大的多线程下载工具wget下载这些图片。

另外,selenium需要配合chromedriver.exe来操控谷歌浏览器,我们可以通过搜索下载对应浏览器版本的chromedriver.exe

百日囚徒问题

有100个无期徒刑囚徒,被关在100个独立的小房间,互相无法通信。每天会有一个囚徒被随机地抽出来放风,随机就是说可能被抽到多次。放风的地方有一盏灯,囚徒可以打开或者关上,除囚徒外,没有别人会去动这个灯。每个人除非出来防风,是看不到这个灯的。

一天,全体囚徒大会,国王大赦,给大家一个机会:如果某一天,某个囚徒能够明确表示,所有的囚徒都已经被放过风了,而且的确如此,那么所有囚徒释放;如果仍有囚徒未被放过风,那么所有的囚徒一起处死!

囚徒大会后给大家20分钟时间讨论,囚徒们能找到方法么?不考虑什么犯人突然死亡的意外因素。是纯粹的理论题。

|