1.软件的分类:
单机版软件:office、红警等
分布式软件:C/S架构软件:客户端需安装专门软件,如QQ 微信等
B/S架构软件:客户端为浏览器 ,如百度、hao123等
2.软件测试的定义:
通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程
3.软件测试的原则:
原则一:尽早进入软件测试
原则二:穷尽测试是不可行的
原则三:程序员应避免检查自己的程序
原则四:充分注意测试中缺陷的群集现象
原则五:严格执行测试计划,排除测试的随意性
原则六:应当对每一个测试结果做全面的检查
原则七:妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
原则八:设计测试用例时,应当包括合理的输入数据和不合理的输入数据
原则九:杀虫剂悖论
原则十:测试活动依赖于测试内容
4.开发模型和测试模型:
开发模型:瀑布模型 快速原型模型 增量模型 敏捷开发
测试模型:V模型: 用户需求--需求分析--概要设计--详细设计--软件编码--单元测试--集成测试--系统测试--验收测试
W模型: 需求分析--概要设计--详细设计--编码--模块集成--系统构建--系统安装
需求测试--概要设计测试--详细设计测试--单元测试--集成测试--系统测试--验收测试
h模型 x模型
5.软件测试的流程:
阶段名 工作内容 产出物
测试准备阶段 项目立项、需求分析、需求评审 需求文档 产品PRD
测试计划阶段 编写测试计划、计划评审 测试计划
测试设计阶段 提取测试点、编写测试用例、用例评审 测试用例
测试执行阶段 冒烟测试、执行测试用例、提bug、回归测试 缺陷报告
测试完成阶段 验收测试、编写测试报告、项目上线 测试报告
6.软件测试分类:
按技术划分:黑盒测试、白盒测试、灰盒测试
按阶段划分: 单元测试、集成测试、系统测试、验收测试
按内容划分: 功能测试、性能测试、兼容性测试
功能测试: 界面测试、冒烟测试、回归测试、业务逻辑测试、易用性测试
性能测试:压力测试、负载测试、并发测试
兼容性测试:浏览器兼容 操作系统兼容 分辨率兼容
按其他划分: 冒烟测试、随机测试、安全性测试、探索性测试、回归测试、Alpha测试、Beta测试
7.软件测试计划的定义:
制定测试目的、范围、方法、时间进度及软件测试重点的过程
8.测试计划模板内容:
测试目的、测试资源、测试范围、测试风险、人员分工、测试策略、测试准则、测试进度、提交测试文档。
9.测试用例模板核心要素:
用例编号 所属模块 用例标题 优先级 前提条件 操作步骤 测试数据 预期结果 实际结果 通过否 bugId 编写人员 编写时间 测试人员 测试时间 备注
10.测试用例的设计方法:
等价类划分法 边界值法 错误推测法 因果图法 正交表法 场景法 判定表法
11.测试报告的流程:
概述、测试过程、缺陷分析、测试总结、阶段性测试报告、整体测试报告
12.缺陷报告:
缺陷编号 严重程度 优先级 所属模块 缺陷状态 测试环境 指派人 缺陷类型 缺陷标题 重现步骤 提交人 提交时间 测试用例 附件
13.缺陷的定义:
概述:标识并描述发现的缺陷,具有清晰、完整和可重现问题所需的信息的文档。
理解:测试人员发现缺陷,将缺陷记录在《缺陷报告》中,通过缺陷报告将缺陷告知给开发人员,并对缺陷进行跟踪和管理。缺陷报告是测试人员与开发人员之间重要的沟通方式。
14.什么是缺陷:
软件未达到产品说明书标明的功能,如一个即时通讯App不能聊天。
软件出现了产品说明书指明不会出现的错误,如高考不带身份证。
软件功能超出产品说明书指明的范围,如即时通讯App做了一个地图功能。
软件未达到产品说明书虽未指出但应该达到的目标,如一个账号的密码是明文。
软件难以理解、不易使用、运行速度缓慢或者从测试人员的角度看最终用户认为不好,如一个即时通讯App无法找不到聊天界面。
15.软件缺陷产生的原因:
1.需求不明确和变更
软件需求不清晰或者开发人员对需求理解偏差,导致软件设计时偏离用户的需求目标,造成软件功能或特征上的缺陷。此外,开发过程中客户频繁更新需求也会影响软件最终的质量。
2.软件结构复杂
3.编码问题
4.项目期限短
5.使用新技术
16.测试报告的定义:
记录测试的过程和结果,对发现的问题和缺陷进行分析的文档
17.测试报告分类:
阶段测试报告
整体测试报告
18.测试报告内容:
概要、测试过程、缺陷分析、测试总结
19.http与https的区别:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的默认端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
20.http请求的组成:
从客户端到服务器端的请求消息,信息由4部分组成请求行、消息报头、空行、请求正文
21.http响应格式:
从服务器端到客户器端的响应信息,信息由4部分组成:状态行、消息报头、空行、响应正文
22.常见的状态码:
200请求成功
301资源(网页等)被永久转移到其它URL
404请求的资源(网页等)不存在
500内部服务器错误
23.状态码:
100-199
信息状态码,表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。100(continue)继续发送
200-299
成功状态码,表示成功接收请求并已完成整个处理过程,常用200(OK)成功接收
300-399
重定向状态码,例如,请求的资源已经移动一个新地址,常用302、307和304
400-499
客户端的请求有错误,常用404(Not Found),403(Fobidden)
500-599
服务器端出现错误,常用 500
24.接口测试用例的定义:
接口就是API(Application Programming Interface,应用程序接口),是一个软件或服务对外提供的接口,别人只要调用这接口,而内部如何实现,不需要关心。你只要按照要求进行接口调用即可。外部系统与系统之间以及内部各子系统之间的交互点。包括外部接口、内部接口。
25.接口测试的概念:
测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点
26.接口测试本质:
实质就是数据的传输和接受,传输的是接口地址中的参数,接受的是文本字符串,然后对比文本字符串是否正确
27.接口测试的目的:
测试接口的正确性和稳定性
28.接口测试用例:
用例编号 所属模块 用例标题 优先级 前置条件 url地址 请求参数 参数/值 预期返回结果 实际结果
29.抓包的概念:
抓包是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全等
30.charles移动端抓包:
1.将电脑配置成代理服务器:在charles的代理菜单中,对代理设置,将端口号设置为9999
2.获取电脑ip地址:win+r在运行中输入cmd,再打开命令行窗口输入ipconfig回车
3.使手机连接代理服务器:在手机的网络设置中,使代理设置为手动,并配置代理服务器的ip地址和端口号
4.用手机访问项目地址进行抓包,查看charles抓到的内容
31.fiddler抓包:
1.查询本地ip地址:win+r输入cmd回车,在弹出的命令行界面输入ipconfig获取
2.在打开的fiddler界面中,选择“工具”菜单->“选项”,在打开的对话框中选择“connections”选项卡 设置代理端口号为 8888 ,(打开允许远程计算机连接),确定并重启fiddler
3.在手机端无线网(wlan)设置界面,长按选择“修改网络”,在修改网络页面选择”高级设置“,代理服务器选择手动,输入代 理服务器地址和端口号,保存
4.手机访问项目地址,在fiddler中查看抓到数据包的内容
32.get和post请求的区别:
get使用url和cookie传参,而post将数据放在body中
get的url有长度限制2kb post非常大
post比get更安全 数据在地址栏中不可见
get请求用来获取数据 post用来发送数据
33.bug流转过程:
第一种情况:测试发现创建bug->开发人员/项目经理确认->开发修复BUG->测试进行验证->测试验证成功->测试关闭bug
第二种情况:测试发现创建bug->开发人员/项目经理确认->项目负责人确认不是BUG->指回测试->测试关闭bug
第三种情况:测试发现创建bug->开发人员/项目经理确认->开发修复BUG->测试进行验证->测试验证失败->开发人员/项目经理确认->开发修复BUG->测试进行验证->测试验证成功->测试关闭bug