测试基础知识

一,测试基础知识
1.测试只能证明软件中存在缺陷,不能证明软件中不存在缺陷,降低存在缺陷的可能性
2.软件规模大,复杂程度高,不可能完全测试。可以根据风险优先级来进行集中和高强度的测试,从而保证软件质量
3.为了保证质量,降低风险和成本。在需求阶段开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现的越早,修复的成本就越少
4.小部分模块包含大部分缺陷 。80%的缺陷发现在20%的模块中,发现缺陷与未发现缺陷成正比
5.一直使用相同的测试方法或手段,可能无法发现新的缺陷。为解决问题,测试用例应当定期修订和评审,增加新的或不同的测试用例来发现更多的缺陷
6.业务不同,软件测试内部也分为不同行业,行业不同,开展活动有所不同,测试工具,测试流程都不尽相同,所以活动依赖于内容
7.软件测试不仅是找出缺陷,同时也需要确认软件是否满足需求

二,

测试基础知识
1.软件需要满足用户显示或隐式功能
2.软件易于学习和上手使用
3.软件必须实现需求当中具体指明的具体功能
4.类似于软件的性能
5.要求软件具有将某个功能修复之后继续使用的能力
6.当前软件可以从一个平台移植到另一个平台上去使用的能力
三,
软件测试模型有:V模型W模型H模型
V模型
优点:
1.既包含了底层测试又包含了高层测试
2.底层测试:检验源代码质量的测试,如单元测试
3.高层测试:检验整个系统的需要,如系统测试
4.清楚标识出了软件开发阶段
5.它采用自顶向下逐步求精的方式把整个开发过程分成不同阶段,每个阶段的工作都很明确,因此便于控制开发过程。当所有的阶段都完成之后,该软件的开发过程也随之结束
缺点:
1.V模型一大缺点正是它自身的顺序性所导致的。到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改
2. 同时实际的开发过程中,在需求阶段很难把用户的需求完全明确下来,因此,当需求变更时将会导致阶段反复,而且都要重复,设计,编码,测试等过程,返工量很大,模型灵活性比较低
W模型
优点:
1.强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求既要设计都要测试
2.更早地接入测试,可以发现开发初期的缺陷,可以用更加低的成本进行缺陷修复
3.同样是分阶段的工作,便于控制项目过程
缺点:
1.依赖于软件开发和软件测试依然保持一前一后的线性关系,依然无法支持迭代,自发性和需求等变更调整
2.对于当前很多项目,在执行的过程中根本不产生文档,那么W模型基本无法适用
3.使用起来技术复杂很高,对需求和设计的测试要求很高,实践起来困难
H模型
优点:
1.开发的模型揭示了软件测试除测试执行外,还有很多工作
2.软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行
3.软件测试活动可以尽早准备,尽早执行,具有很强的灵活性,
4.软件测试可以根据被测物的不同而分层次,分阶段,分次序的执行,同时也可以被迭代的。
缺点:
1.管理型要求高,由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制,
2.技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小,测试的就绪点分析困难,测试很多时候你并不知道测试准备到什么时候是合适的。就绪点在哪里?就绪点的标准是什么?这就对后续的测试执行的启动带来很大困难,
3.对于整个项目组的人员要求非常高,很在很好的规范制度下,大家都能高效的工作,否则容易混乱。