一、什么是软件测试
在规定条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程
二、软件测试的定义
使用人工和自动的手段来运行程序,目的在于检验是否满足了需求。
三、软件测试的目的
以最少的人力、物力、时间找到软件中的缺陷并修改,从而回避商业风险。
四、软件测试的原则
- 测试追溯到用户需求
- 尽早和不断的测试
- 测试工作由专业人员来执行
- 80%的错误出现在20%的模块中
- 设计测试用例(测什么、怎么测)时,要考虑各种情况
- 一定要写缺陷报告
- 制定严格的执行计划
- 完全测试不可能,测试要终止
- 注意回归测试(修改旧代码后,要确认没有引入新的问题)
- 妥善保存一切测试文档
五、软件质量模型-ISO9126
1、功能性
2、可靠性(尽量不出问题;出问题不能影响主要功能;若影响主要功能可以尽快修复)
3、易用性(用户体验好)
4、效率(性能好)
5、可维持性(更新)
6、可移植性(跨不同系统平台)
六、软件测试基本流程
1、需求分析
2、编写测试用例
3、评审测试用例、
4、搭建测试环境
5、等待开发提交测试包
6、部署测试包
7、冒烟测试(对软件主体基本功能进行基本测试)
8、执行测试用例
9、bug跟踪处理(提交及回归测试)
10、N轮之后符合要求
11、测试结束
七、软件测试分类
1、按阶段划分
- 单元测试
模块测试,最小单位-程序模块测试,可能是一个函数、一个类、也可能是一个界面。
- 集成测试
组装测试。在单元测试的基础上,重点测试模块之间的接口
- 系统测试
把软件项目作为一个整体测试,测试的依据是需求说明书。(到了系统测试阶段,软件基本是完成的)
- 验收测试
站在最终用户的角度来测试
(alpha:内侧版本;beta:公测版本;gamma:接近正式发布的版本)
八、非功能性测试
1、兼容性测试
- 不同的操作系统,不同的浏览器,不同的分辨率下,软件的行为是否一致。
- 具体的兼容测试环境是公司来指定的。
2、界面测试
即UI测试 ,关注的是软件的外观
- 测试依据
- 产品原型图或UI设计图
- 若没有原型图,站在用户的角度观察界面,导航、图形、内容 是否合理,风格是否一致,是否有基本的错误
3、易用性测试
- 站在用户角度使用软件,判断软件是否易懂、易学、易用
- 关注点:
- 项目难易程度
- 使用人群
- 用户的计算机水平
4、性能测试
- 验证软件是否达到预期的性能指标
- 通过测试工程中的数据发现性能瓶颈,以便优化软件
- 验证稳定性,在一个生产的负荷下测试一定的时间,评估系统的稳定性是否满足要求()
5、安全性测试
- 若功能模块涉及到用户隐私信息,人身、财产安全等情况。
- 关注点:登录密码是否加密以及密码是否容易破解
九、测试用例
1、作用
为特定的目的而设计的一组测试输入,执行条件和预期结果的文档。
2、八大要素
基本要素包括
- 用例编号
- 用例标题
- 测试项目
- 用例级别
- 预置条件
- 测试输入(数据)
- 执行步骤
- 预期结果
2、执行测试用例的原则
- 严格按照测试用例书写的步骤执行
- 失败的用例,及时提交缺陷报告
十、软件缺陷
1、定义
软件或程序中存在的各种问题
2、判定标准
- 软件未达到需求说明书的功能
- 出现需求说明书不会出现错误的地方
- 软件的功能超出了需求说明书指明的范围
- 软件出现了需求说明书虽未指明,但应该达到的目标
- 软件难以使用,效率低下
3、软件缺陷产生的原因
缺陷产生是不可避免的,造成缺陷产生的原因主要有
- 需求解释、记录或者定义错误
- 设计文档说明存在错误或拼写错误
- 编码错误、程序代码错误
- 硬件或软件上存在错误
4、产生的根源
- 需求变更
- 交流不充分
- 软件的复杂性
- 进度压力
5、缺陷数据分析关注的问题
- 正在测试的软件哪个模块的问题最多
- 测试人员中谁报告的软件缺陷最多
- 各类缺陷所占的数量占比分别是多少
- 开发人员能及时修复软件缺陷吗
- 开发人员一次正确修复缺陷的百分比是多少
- 正在开发的软件能否在计划时间发布
十一、等价类划分
十二、测试计划与测试方案
1、测试计划
- 明确测试的目标与范围
- 执行计划的角色与职责
- 测试任务的进度和资源分配
- 风险的评估与应急计划
- 测试的准入准出标准
2、测试方案
从技术的角度,
核心内容:
- 测试的策略
- 测试的环境规划
- 测试工具的设计和选择
3、测试用例需求来源
- 需求说明书、产品原型图、UI图(文档)
- 站在用户的角度,测试软件的易用性
4、测试用例设计步骤
- 需求分析
- 整理测试要点
- 测试中需要关注的具体功能点
- 拆分需求,作为编写测试的辅助
- 编写测试用例
5、编写测试用例的原则
- 能看懂——
- 能执行——用例中每个步骤都是可执行的
6、执行测试用例的原则
- 严格按照测试用例书写的步骤执行
- 失败的用例,及时提交缺陷报告
7、编写测试报告
- 测试报告代表测试工作的一个里程碑
- 主要内容
- 测试工作的经过和结果
- 风险评估
- 缺陷汇总与分析
- 测试工作
十三、HTTP协议
1、协议交流最基本原理
- 客户端client - 浏览器
- 服务器server
- client法一个请求,server回一个响应
2、http请求和响应的格式
- 行
- 头
- 体