1. 测试分类
功能测试
自动化测试
接口测试
性能测试
2.软件测试分类
2.1按测试阶段分:单元 集成 系统
验收测试:α β γ
2.2 按是否覆盖源码:黑盒 白盒 灰盒
2.3 按是否运行分:静态 动态
2.4 按是否自动化:手工 自动化
2.5 其他:
冒烟测试: 针对当前系统进行最基本功能的测试,保证基本的功能和流程能走通
回归测试:旧代码修改之后,测试重新进行测试确认本次代码修改没有引入新的错误或导致其他代码出现错误
bug回归
旧功能回归
随机测试:根据测试者的经验对软件进程性能和功能抽查
探索性测试:同时设计测试和执行测试,是一种测试思维技术
了解他们的工作原理 优缺点
3 开发模型(了解)
3.1螺旋模型
3.2 瀑布模型:线性模型的一种 是其他模型的基础
3.3 快速原型模型:
快速分析
需求说明
构造原型
原型
运行原型
评价原型
修改意见
step1
建造一个快速原型,实现用户和系统的交互,用户对原型进行评价,进一步细化待开发软件的需求,通过逐步调整原型使其满足用户的要求,开发人员可以确定用户真正的需求
step 2
在第一步的基础上开发出用户满意的软件产品
优点
克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。适合预先不能确切定义需求的软件系统的开发。
缺点:
不适合大型系统的开发(适合开发小型的、灵活性高的系统)前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。
运用场景:抖音 微信 互联网行业
测试模型(重点):
v模型:
过程:用户需求 需求分析 概要设计 详细设计 编码和实现 单元测试 集成测试 系统测试 验收测试
优缺点:
优点:相对于瀑布模型,V模型测试能够尽早的进入到开发阶段。
缺点:虽然测试尽早的进入到开发阶段,但是真正进行软件测试是在编码之后,这样忽视了测试对需求分析,系统设计的验证,时间效率上也大打折扣。
明确标注了测试过程中存在不同的测试类型,明确表示出了开发阶段与测试各阶段的对应关系。1、优点:包含了底层测试(单元测试)和高层测试(系统测试);
清楚的标识了开发和测试的各个阶段;
自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
2、缺点:自上而下的顺序导致了,测试工作在编码之后,就导致错误不能及时的进行修改;实际工作中,需求经常变化,导致v模型步骤,反复执行,返工量很大,灵活度较低。
改良:每个步骤都可以进行小的迭代工作
单元测试:是否满足详细设计的要求
集成测试:验证已测试过的部分是否可以很好地结合在一起
系统测试:检验系统功能、性能是否达到系统的要求。
验收测试:确定软件的时限是否满足用户需求或合同需求
W模型:
优点:
开发伴随着整个开发周期,需求和设计同样要测试;
更早的介入测试,可以发现初期的缺陷,修复成本低;
分阶段工作,方便项目整体管理。
缺点:开发和测试依然是线性的关系,需求的变更和调整,依然不方便;
如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高!
管理成本很高
沟通成本很高
H模型:
H模型的优点:
>开发的H模型揭示了软件测试除测试执行外,还有很多工作;
>软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行;
>软件测试活动可以尽早准备、尽早执行,具有很强的灵活性;
>软件测试可以根据被测物的不同而分层次、分阶段、分次序的执行,同时也是可以被迭代的。H模型的缺点:
>管理型要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制;
>技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小;
>测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;
>对于整个项目组的人员要求非常高:在很好的规范制度下,大家都能高效的工作,否则容易混乱。例如:你分了一个小的迭代,但是因为人员技能不足,使得无法有效完成,那么整个项目就会受到很大的干扰。
v模型适用于中小企业,
w模型适用于中大型企业(因为人员要求高),
h模型人员要求非常高,很少有公司使用。