1. 测试流程
制定测试计划 编辑测试用例 执行测试用例发现并提交bug 开发人员进行修复bug 进行回归测试并将修改完善的bug状态进行关闭 未正确修改的bug重新激活
2. 测试计划的编写要素
why----为什么进行测试
what----测试那些方面 不同阶段的工作内容
when----测试不同阶段的起止时间
where----相应文档 缺陷的存放位置 测试环境等
who----项目有关人员组成 安排那些人员进行测试
how----怎么去做 使用那些测试工具以及方法进行测试
3. 测试原则
a:应当把“”尽早地和不断地进行软件测试“”作为软件开发者的座右铭
b:测试用例应有测试输入数据和对应的预期结果这两部分组成
c:程序员应避免检查自己的程序
d:在设计测试用例时 应包括合理的输入条件和不合理的输入条件
e:软件测试的原则
f:充分注意测试中的群集现象 经验表明 测试后程序中残有的错误数目与该程序中已发现的错误数目成正比
g:严格执行测试计划 排除测试的随意性
h:应当对每一个测试结果做全面检查
i:妥善保存测试计划 测试用例 出错统计和最终分析报告 为维护提供方便
4. 测试方法
黑盒:等价类划分法 边界分析法 因果图法 错误推测法 正交法和场景法
白盒:逻辑覆盖法 循环测试路径选择 基本路径测试
5. 测试分类
按阶段划分:单元测试 集成测试 系统测试 验收测试
按是否运行划分:静态测试 动态测试
按是否查看代码划分:白盒测试 黑盒测试 灰盒测试
其他:回归测试 冒烟测试 随机测试
功能测试:界面 业务逻辑功能 兼容性 易用性 安全性 安装测试
性能测试:性能 负载 压力 容量 并发 配置 可靠性 失败测试
6. 测试模型
V型
W型
7. 开发流程
需求分析--概要设计--详细设计--编码--测试--软件交付--验收--维护--升级--再测试--逐步淘汰
8. 黑盒和白盒的区别
黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性, 只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及 相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
9. 测试计划中有哪些
测试背景 测试目标 测试范围 测试输出文档 测试策略 测试规模 工作量分析 测试进程 测试进度及时间安排 测试资源 人力 设备 风险管理
10. 测试用例包含哪些
用例编号 所属模块 执行条件 测试输入 预期结果 实际结果 用例是否通过 测试人 版本 备注
11. 测试用例需要详细到什么程度才是合格的
首先根据需求文档 概要设计 测试评估 测试方案细分出各功能模块的测试项 再根据各测试项 按照概要设计 详细设计以及测试方案中测试的覆盖率细分出测试子项
12. 缺陷报告包含哪些
缺陷的标题 简要描述 却显得类型 缺陷的详细步骤描述 缺陷的实际结果 期望结果 有的缺陷需要上传截图 日志信息 缺陷的等级 缺陷指派给开发
13. 测试评审:(评审分类 评审内容 评审结束)
评审分类:部门 公司 客户评审
评审内容:
a:用例设计的结构安排是否清晰 合理 是否利于对需求进行覆盖
b:优先级安排是否合理
c:是否覆盖测试需求上的所有功能点
d:用例是否具有很好的可执行性
e:是否已经删除了冗余的用例
f:是否包含了充分的负面测试用例
g:是否从用户层面来设计用户使用场景和使用流程的测试用例
h:是否简洁 复用性强
评审结束:在评审活动中会搜集到用例的反馈信息,在此基础上进行用例更新 直接通过评审
14. 水杯 电梯 朋友圈点赞 视频播放 支付的测试用例的设计点有哪些
请看之前的简书
15. 测试发现bug开发不认为是bug的时候
16. Linux命令 15个
arch 显示机器的处理器架构
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
17. Adb命令 15个 查看日志 (日志级别)
查看设备 adb devices
安装软件 adb install -r (APK路径)
卸载软件 adb uninstall <软件名> adb uninstall -k <软件名> 如果加 -k 参数,为卸载软件但是保留配置和缓存文件
登录设备 adb shell
查看内存情况 adb shell getprop
本机内存的使用情况 findstr dalvik
查看应用内存使用情况 adb shell dumpsys meminfo +包名
列出手机装的所有app的包名 adb shell pm list packages
列出系统应用的所有包名 adb shell pm list packages -s
列出除了系统应用的第三方应用包名 adb shell pm list packages -3
查看手机日志 adb logcat
日志的输出时间 adb logcat -v time
查看当前连接设备:adb devices
如果发现多个设备:adb -s 设备号 其他指令
安装apk文件:adb install xxx.apk
18. Monkey命令 和日志区别
adb shell monkey 100 执行monkey 测试100次针对rom测试或者
adb shell monkey -p com.example.login 100
adb shell monkey 100 >c:/log/b.txt 将log信息写到文档中
adb shell monkey -p com.example.login --throttle 300 100 表示执行100个伪随机用户事件流 事件间隔为300毫秒
--ignore-crashes 通常应用发生崩溃或异常时Monkey会停止运行 如果设置此项 Monkey将继续发送事件给系统 直到事件计数完成
--ignore-timeouts(ANR) 通常应用程序发生任何超时错 Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成
-p 允许的包名列表
日志详细程度:
Level0 : adb shell monkey -p com.example.login -v 100//缺省值,仅提供启
动提示、测试完成和最终结果等少量信息
Level1: adb shell monkey -p com.example.login -v -v 100//提供较为详细的日志,包括每个发送到Activity的事件信息
Level2: adb shell monkey -p com.example.login -v -v -v 100//最详细的日志,包括了测试中选中/未选中的Activity信息
19. 查看日志的前10行后5行的命令
前10行:head -n 10/ect/profile
后5行:tail -n 5/ect/profile
20. Bug生命周期
提交bug--判断bug是否及时处理--分配bug--处理当前bug是否推迟--验证bug--修改完善--关闭bug
21. Bug的状态和优先级
22. Bug的分类
23. Chareles的弱网测试
24. Chareles的断点替换(request response)
25. chareles的对app端抓包的步骤
26. Jmeter的接口测试
27. Jmeter的压力测试 打压 1000
28. Web端的性能指标
29. App端的性能指标
30. Jmeter的负载测试
31. Jmeter的脚本录制(web /app)
32. TPS和qps区别
33. 负载和压力区别
34. Mysql的 inner join left join right join full join 区别
35. MySQL的数据库优化
36. Mysq的存储过程
37. 编写http接口的性能测试,和测试过程中的关注点 流程
38. http和https的区别
39. OSI和tcp/IP的区别
40. TCP 和UDP 的区别
41. Get/post的区别
42. Web测试和app测试的区别
43. 给你一个网站你如何张开测试
44. 支付模块的测试如何展开
45.如何在jinkens中实现打包并集成测试
46. 全量包 灰度包 debug包 的区别