一只小白的Java开发工程师进阶之路

Mr.Ge

One day, I will soar in the sky.

软件测试框架理论知识

一.软件测试的定义

1.软件测试的目标应该服从于软件项目的目标,软件测试通过更高效的方法和工具,提高软件开发的效率和质量

2.在规定的条件下,对软件进行审核、运行、评估,验证软件系统是否满足需求规格说明书

3.预防、发现、跟踪软件缺陷,提高产品质量

4.软件测试通过技术手段,更早、更快、更多的发现软件缺陷,从而降低这些缺陷后期可能会给软件带来的风险

 

二.软件测试的思维

1.软件测试只能证明软件缺陷的存在,而不是为了证明软件没有缺陷

2.软件测试绝不能证明软件100%没有缺陷,即使经过了最严格的测试,仍然可能还有深层次的缺陷隐藏在软件当中

3.测试的越早,发现问题后解决的成本越小

4.评审---头脑风暴---交叉测试

5.成功的测试在于发现了迄今为止尚未被发现的缺陷 >>>(座右铭,追求)

 

三.软件测试的原则

1.任何的测试都应该追溯到用户需求

2.测试工作是有计划的,应该尽早的开展测试工作 >>> 测试计划

3.应尽量避免测试自己开发的程序

4.“彻底的测试”难以成为现实,要考虑时间、费用的限制,不允许无休止的测试

5.测试设计和测试执行应该进行分离

6.软件缺陷具有免疫性,应尽可能采用多种方法和数据对软件进行测试

 

四.全程软件质量保障

1.决定软件质量的关键因素有需求分析、设计和实现等,测试是贯穿于上述过程的一种检查手段

2.测试是提高软件质量最直接的手段,但不是全部,软件开发周期中的各个环节都会影响到软件的质量

3.测试能提高软件的质量,但是提高质量不能完全依赖测试

 

五.如何进行高效的测试

1.通过一些持续集成的手段,尽早的开展测试活动,还可以加入自动化技术,通过不断、反复的测试发现更多的缺陷

2.测试可以做到对缺陷的预防

3.测试需要对缺陷进行检查

4.一个高质量的软件并不是测试出来的,而是设计和开发出来的

 

六.软件测试与软件缺陷

1.软件缺陷被测试工程师和开发工程师们统称BUG

2.软件缺陷会导致软件不能正常运行,它的存在会在一定程度上导致软件不能满足用户需求,甚至有可能破坏或泄露用户的重要数据

3.虽然软件测试是为了消灭软件缺陷,但是迄今为止,还没有一种有效的软件缺陷检测机制可以完全达到这个目标

 

七.为什么软件缺陷无法完全消除

1.软件运行环境的多种多样

2.逻辑关系复杂

3.多种多样的数据结构等因素

4.在软件开发的各个环节都可能把软件缺陷引入系统中

80-20原则80%的缺陷聚集在20%的模块中,经常出错的模块修复后还会经常出错

软件测试流程需求分析---制定测试计划---编写测试用例---执行测试---撰写测试报告---消除软件缺陷---完成测试

                             (测试需求-测试计划-测试设计-测试实施-测试执行-测试报告-测试完成)

 

八.测试启动准则

同时满足以下条件,允许开始测试

1》测试计划已经制定并且通过审批

2》测试用例已经编写并且通过审批

3》被测试对象已经开发完毕并等待测试

 

九.测试何时结束

1.基于测试用例的规则:写满多少多少条用例

2.基于“测试期缺陷密度”的规则:5天总BUG数小于多少个,没有严重BUG

3.基于“运行期缺陷密度”的规则

 

十.测试完成准则

1.对于非严格系统可以采用“基于测试用例”的准则,且同时满足以下条件

  ①功能性测试用例通过率达到100%

  ②非功能性测试通过率达到90%时(非强制,根据公司部门的要求来)

2.对于严格系统,应当补充“基于测试期缺陷密度”的规则

  ③n天内“测试期缺陷密度”全部低于某个值m

 

十一.软件测试的需求、类型、阶段、策略

1.软件模型V模型需求分析---概要设计---详细设计---编码---单元测试---集成测试---系统测试---验收测试

2.软件测试的对象

  ①软件是由文档、数据、程序组成的

  ②测试应该是对文档、数据以及程序进行的测试

  60%以上软件错误不是程序错误,而是分析和设计错误

  测试概念扩大化,提倡软件全生命周期测试的理念

3.软件测试的阶段

单元测试、集成测试、系统测试、验收测试是“从小到大”、“由内至外”、“循序渐进”的测试过程,体现了“分而治之”的思想

  ①单元测试粒度最小、一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”,测试依据为“开发设计文档

  ②集成测试:介于单元测试和黑盒测试之间,起到“桥梁”作用,一般由开发小组采用白盒加黑盒的方式来测试,既要验证设计又要验证需求,测试依据为“开发设计文档”,“需求文档书说明书”

  ③系统测试粒度最大,一般由独立的测试小组采用黑盒方式来测试,主要测试系统是否符合需求,测试依据为“需求规格说明书

  ④验收测试与系统测试非常相似,主要区别在于测试人员不同,验收测试由用户执行

ALPHA和BETA测试

 

posted @ 2018-10-30 09:11  Mr.Ge  阅读(258)  评论(0编辑  收藏  举报