软件测试学习理论知识
- 一.软件测试分类
- 二.什么是软件测试?
- 软件测试选择最为经典的几个模型
- 一.瀑布模型 :将软件生命周期进行划分
- 二.快速原型模型
- 三.敏捷开发
- 三.软件测试流程
- 一.软件测试模型
- 测试流程:
- 四.软件测试分类
- 项目环境
- 测试与代码
一.软件测试分类
1.按开发规模
小型 中型 大型开发项目
2.按照用户对象划分
1.普通用户产品面向大众:百度,office,qq等软件;
2.企业定制:为企业定制的OA系统
3.是否需要联网
单机工具游戏
网络: 1.C/S项目(客户端与服务器): qq/lol
2.B/S项目(浏览器与服务器):百度,页游等;
4.按功能划分
普通应用软件:淘宝,有道词典等
系统软件:数据库软件/各种驱动/操作系统等
二.什么是软件测试?
在规定的条件下对程序进行操作,以发现程序错误与需求缺陷的过程
测试对象1.源程序 2.目标程序 3.数据检测 4.需求文档/设计文档
学习软件测试之前,先要了解软件开发的模型
软件测试选择最为经典的几个模型
一.瀑布模型 :将软件生命周期进行划分
1.制定计划(boss/项目经理,可行性分析报告)
->2.需求分析(项目经理,开发,测试人员,编写需求文档)
->3.软件设计(开发,编写开发说明书)
->4.程序编写(写代码)
->5.软件测试(测试,找问题bug写出测试报告)
->6.运行维护(运维) 自上而下,互相衔接,如同瀑布
优点:1.阶段清楚 2.一个阶段只执行一次,当阶段结束后,只需要关注下一阶段工作 3.文档驱动
缺点:1.返工量大 2.不适用于需求变化项目(有变化要不断循环费时费力)
适用于需求清晰的项目如大型银行,建筑,保险等
二.快速原型模型
与瀑布式不同,中间加入参与用户从而收集信息,及时进行需求更改减少返工量
详细描述为:在软件设计后写出简单demo提供给用户,根据用户的满意程度进行考虑是否要继续开发或重新需求分析设计,降低了需求变化带来项目失败的风险.
三.敏捷开发
以人为核心(相信团队不断优化,重视客户),一切从简(减少文档,增加交流)迭代(持续交付缩短周期)循序渐进开发方式.
三.软件测试流程
一.软件测试模型
1.V模型
以编码为分割,建立开发与测试的串行关系
此模型弊端与瀑布式类似测试介入过晚,项目周期被延长,返工量大
2.W模型
双V模型组成,一个为开发一个为测试
测试与开发并行,测试提前介入
3.最佳测试模型
测试流程:
1.需求分析,需求评审(1.拿到需求文档,对比同类产品,确认需求合理性 2.参与需求评审 3.根据用户体验,给出建议)
2.编写测试计划(1.部署环境 2.执行测试 3.发现bug,定位并管理 4.输出测试报告(a.冒烟测试b.第一轮–新功能测试 c.第二轮–bug测试… f.最后一轮测试旧功能回归))
3.验收报告(编写测试报告)
4.线上测试(线上收集bug)
四.软件测试分类
一.按阶段划分
1.单元测试(软件中最小测试单元验证/测试基本功能能否实现)
2.集成测试(在单元测试基础上按照要求组成子系统,进行测试/螺丝没问题看看组成的元件能不能使)
3.系统测试(将软件与操作系统看作一个整体测试/游戏运行环境PC/安卓)
4.验证测试对完成系统进行最开始的需求验证
二.按用户对象划分
1.项目验证:甲方发起,验证乙方是否满足业务需求
2.产品验收:产品经理发起,验证是否满足用户需求
按阶段测试 1.α版本(内测) 2.β版本(公测用户体验反馈)
项目环境
项目环境:软件+操作系统+硬件
项目环境分类: 1.开发环境 2.测试环境 3.预生产环境 4.生产环境
单元测试–开发人员–开发环境
集成测试–开发–开发环境
系统测试–测试人员–测试环境
验收环境–产品/甲方–预生产环境
测试与代码
1.黑盒测试:不管代码 只关注 输入与输出 中间发生了什么我们不关心
重点:验证程序的功能是否符合需求文档
注意: 功能测试:产品功能是否满足需求
界面测试:UI测试,检查是否符合要求及美观
易用性测试:用户体验
性能测试:模拟用户场景,测试系统指标,查看是否满足要求
2.白盒测试,测试时对程序的所有逻辑路径进行测试,检查每个路径是否能通
重点:验证源代码逻辑是否符合设计
测试依据:代码规范,详细设计
3.灰盒测试:了解一部分代码逻辑后,重点验证程序功能
小结
单元测试–开发人员–开发环境–白盒
集成测试–开发–开发环境–白盒/灰盒
系统测试–测试人员–测试环境–黑盒/灰盒
验收环境–产品/甲方–预生产环境–黑盒
打算从事软件测试的小伙伴注意啦!!领取软件测试零基础全套入门学习资料,扫码加微领取
添加wx好友时备注: 111 !!!