测试的能力
具备对任意软件的功能进行质量验证的能力
1.分析需求:功能与非功能
2.测试设计:设计方法
3.缺陷管理:提交与跟踪
4.测试报告:结果总结
注意点
系统测试应尽可能在实际运行使用环境下进行
软件
控制计算机硬件工作的工具。
软件基本组成
客户端请求→服务器处理→数据库读写→响应返回
软件产生过程
什么是软件测试
使用技术手段验证软件是否满足用户需求
软件测试的目的
1.减少软件缺陷(bug),保障软件质量
2.降低软件产品的潜在风险
软件测试能力
1.功能测试(重要)
通过手工方式验证程序的功能是否满足需求
2.自动化测试
使用代码或工具代替手工,对项目进行功能测试
3.接口测试(重要)
使用代码或工具验证程序中的接口(服务器)是否访问正常
4.性能测试
模拟多人使用软件,查找服务器缺陷
测试阶段划分
1.按照阶段划分
单元测试:针对程序源代码的测试【开发】
集成测试:针对功能模块组装的测试【测试】
系统测试:针对整个系统(功能、非功能)进行测试【测试】
验收测试:以用户身份验证系统是否满足需求【用户】
2.按代码可见度划分
1.黑盒测试:针对有UI界面软件系统输入输出类测试 (看不到部分源代码)
2.灰盒测试:针对无UI界面软件系统输入输出和内部逻辑结构的测试 (能看到部分源代码)
3.白盒测试:针对程序源代码及内部逻辑本身进行测试
3.其他划分
冒烟测试:保障提测内容具备可测性
回归测试:对已修复功能更新后,对已测内容再次测试
质量模型
衡量(测试)优秀软件质量的维度
功能性: 功能能不能用
性能性: 多人在线是否响应快(多个人,时间,资源)
兼容性: 是否兼容不同网络,操作系统,平台,系统,品牌手机,其他软件等
易用性: 用户体验是否容易使用
安全性: 是否数据安全
可靠性:是否卡顿
移植性:是否容易迁移系统
维护性:出现故障,恢复是否简单
质量模型
测试用例
项目测试流程
1.需求评审
确保各部门需求理解一致
2.测试计划编写
测什么,谁来测,怎么测
3.用例设计
验证项目是否符合需求的操作文档
4.用例执行
项目模块开发完成开始执行用例文档实施测试
5.缺陷管理
对着缺陷进行管理与观察
6.测试报告
实施测试结果文档
什么是用例?
用户使用的案例
什么是测试用例?
为特定目的而设计编写的可执行文档
例如
为什么要写测试用例?
防止漏测(好记性不如烂笔头)
实施测试的标准(口说无凭)
测试人员工作量化的一种体现(做了多少)
测试用例编写格式说明
八要素:
用例编号:项目_模块_编号(英文简称)
用例标题:预期结果(测试点)
模块/项目:所属项目或模块
优先级:表示用例的重要程度或者影响力P0~p4 (P0最高)
前置条件:要执行此条用例,有哪些前置操作,没有可不写(没有它无法进行)
测试步骤:描述操作步骤(怎么做的过程)
测试数据:操作的数据,没有的话可以为空
预期结果:期望达到的结果
如:
如何编写测试用例?
明确测试目的(要验证什么/干什么?)
基于需求覆盖各种可能场景(全面)
按照用例模版编写文档(八要素)