一、认识
1.什么是软件测试?
软件测试就是软件测试人员验证软件是否满足用户的需求。
2.软件测试和软件开发的区别?
(1)本身
开发:广度小,专业度高
测试:所需要技能比较广泛,但是专业度低
(2)测试和调试
目的不同:软件开发人员要确保程序做了他想让程序实现的功能。
软件测试是测试人员确保程序实现了它应该实现的功能(用户需求。
角色不同:测试是开发人员和测试人员共同完成。开发是开发人员。
阶段不同:软件测试贯穿了整个软件开发的生命周期。软件开发就在开发阶段。
3.什么是需求?
用户的期望和满足合同(文档,规则,标准)的规定所需要的条件和权限。
软件需求使用户需求转化而来的,它是用户需求的细化,使用户需求的具体实现细节和规范。
二、基础
1.需求是软件测试的依据
验证需求。保证需求正确可实现,细化需求,从需求中提炼出一个个的测试项。
2.测试用例
就是向被测试系统发起的一组集合,包括测试环境,测试数据,测试步骤,预期结果(正确的写法);
优点是衡量需求的覆盖率;复用性,可由于回归测试。
3.什么 是BUG
当且仅当,程序规格说明书(软件需求)存在并且合理 ,如果软件功能和软件规格说明书不相符合,我们就说是软件错误;
当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相符合,就说明是软件错误;
4.软见开发的生命周期
需求分析——计划——设计——开发——测试——运行维护
5.开发模型(5个模型)
(1)瀑布模型
特点:阶段性强,每一个阶段比较独立;看重前期的需求分析和后期的测试
缺点:测试在编码后才开始介入,导致前期的问题后期才发现,会错失不久的机会
(2)螺旋模型
适合于项目庞大,前期风险大,不是很明确项目
特点:强调每一个迭代的测试质量和风险分析(抗风险能力最强)
缺点:风险管控人力物力投入很多,成本比较大
(3)增量模型、迭代模型
特点:抗风险能力强,迭代模型更强,所以一般都在迭代模型基础上去增量开发。
(4)敏捷模型
特点:轻文档、轻流程、重目标、重产出
** scrum流程(要记住)**
角色:PO——产品经理——整理需求
SM——项目经理——保证敏捷流程
ST——各种技能的工程师组成——开发产品
流程:产品发布会议——迭代计划会议——每日站会——产品演示会议——项目回顾会议
6.测试模型
(1)V模型
特点:每个阶段独立性强(左边每一个阶段是右边测试的依据)
缺点:编码后才进行测试,前期的错误后期才发现,会错失及时纠正的机会,也称为瀑布模型变种
(2)W模型(双V模型)
特点:每个阶段独立性强;测试一开始就介入,测试和开发同时进行;可以保证前期的问题及时发现和纠正。
缺点:每一个阶段都是串行的过程 ,一个阶段完了之后就进行下一个阶段
不支持敏捷开发
版权归原作者 MM2LYF 所有, 如有侵权,请联系我们删除。