一、认识软件及测试
软件:控制计算机硬件工作的工具(程序+数据+文档)
软件测试:使用技术手段验证软件是否满足使用需求
正向思维:确信产品是能够正常工作
反向思维:检测产品没有错误
软件测试的目的:减少软件缺陷(bug),保证软件质量
软件分类:系统软件 应用软件
二、测试的主流技能
功能测试:测试主要验证程序的功能是否满足需求
自动化测式:使用代码或工具代替手工,对项目进行测试
接口测试:使用代码或工具验证程序中的接口是否访问正常
性能测试:模拟多人使用软件,查找服务器缺陷
三、测试分类
分类
- 阶段划分(阶段:软件产出过程顺序)
- 代码可见度
3.1 阶段划分
单元测试:
说明:针对程序源代码进行测试(单元:最小独立功能代码段)
提示:
- 国内单元测试一般开发自测
- 单元测试可以解决-快速定位缺陷
- 提⾼测试执行效率
集成测试
说明:针对单元与单元之间的接口进行测试
提示:又称接口测试。
系统测试
说明:针对系统整体功能+兼容+文档(说明、安装文档)
验收测试
- 内测:公司内部人员使用,发觉缺陷并修复。
- 公测:让用户帮忙测试
- 提示:验收测试,一般要根据项目类型决定是否使用。
3.2 代码可见度划分
代码可见度:代码可见程度上划分
黑盒测试:主要针对功能(阶段划分->系统测试)
灰盒测试:针对接口测试(阶段划分->集成测试)
白盒测试:针对程序源代码进⾏测试(阶段划分->单元测试
3.3 总结
系统测试和黑盒测试重点核心是功能测试
集成测试和灰盒测试又称接口测试
单元测试和白盒测试是对代码进行测试
自动化测试归属功能测试 性能测试、安全测试归属专项测试
四、模型
4.1 质量模型
说明:质量模型能告诉我们,测试时应该考虑的方面
重点:功能、性能、兼容、易用性、安全
结论:无论测试硬件或软件,都应该从以上几点来进行分类验证
五、测试流程
5.1 需求分析(评审)
前提:阅读1遍需求文档,记录不明确之处。
参与人员:前端、后端、测试、产品
目的:
- 确保各部门需求理解⼀致
- 各角色对需求进行查漏补缺
- 了解软件有些功能
提示:需求分析阶段->软件还未实现(刚立项)
5.2 测试计划
说明:指导测试执行的文档(重要)
- 测什么(目标、范围)
- 谁来测(人员进度及安排)
- 怎么测(测试工具、测试策略)
5.3 用例设计
说明:保证能准确验证软件测试点执行的文档。
- 分析需求
- 提取测试点
- 设计用例覆盖测试点
5.4 用例执行
说明:实施测试
5.5 缺陷管理
提交->验证->关闭
5.6 测试报告
- bug分析及统计
- 测试中遇到的问题
- 测试总结(本次测试中的优点和不足)
六、测试用例
用例:用户使用的案例
生活中的用例:
6.1 用例的作用
- 防止漏测
- 衡量软件是否通过的标准
6.2 用例模板
6.3 八大要素编写规范
七、用例设计方法
7.1 目标
- 能对穷举场景设计测试点
- 能对限定边界规则设计测试点
- 能对多条件依赖关系进行设计测试点
- 能对于项目业务进行设计测试点
7.2 对穷举场景设计测试点
使用方法:等价类划分法
案例(QQ账号):要求:6~10位自然数