一、软件测试的基本概念

1.软件测hi定义的发展:证真--证伪--软件质量

2.软件测试的目的是保证软件质量

3.软件测试的对象是:软件、程序、数据和文档

4.对于测试的组织者和实施者

  明确测试需求、环境对测试的影响

5.验证和确认:判断生产者是否按需求规格正确的构造了软件,确认则是检验软件是否有效,是否满足用户的预期和用途和应用需求,通过验证的软件也就不一定能够通过确认

6.软件错误:软件生存周期内不希望或不可接受的人为错误

7.软件缺陷:存在于软件之中的那些不被希望或不可接受的偏差

8.软件故障:软件运行过程中出现的一种不被希望或不可接受的内部状态

9.软件失效:软件运行时产生的一种不希望或不可接受的外部行为

10.软件在需求分析和设计阶段同样会引入缺陷,而且占比均超过编码阶段

11.缺陷从产生到发现的间隔时间越短,修复的代价就越小

12.软件质量的定义:在规定条件下使用时,软件产品满足明确的或隐含的要求的能力

13.软件质量包含软件测试:软件测试时保证软件质量的一种措施或手段

14.测试用例

  第一,测试用例时测试人员争对具体设计或开发出来的,有非常强的目的性

  第二,体现软件的某一个具体运行实例或场景,包括输入的测试数据、执行条件、逻辑过程以及预期的逻辑结果

  第三,测试用例必须准确的判定准则

15.测试用例作用

  第一,是测试实施的依据

  第二,提高测试效率,避免测试随意性和盲目性,从而保证质量

  第三,测试用例是软件企业的一类资产

16.测试用例包括:标识、名称、说明、环境配置、操作过程、各种条件、评价准则以及建立用例的人员和时间等信息,操作过程描述每一步操作的输入数据、过程说明、预期结果和通过准则

17.测试脚本:一个特定测试可以被自动化工具执行的一系列指令,但并没有测试用例所包含的那么丰富的信息

18.测试策略:是一套方法论,可以平衡测试时间、测试技术、测试人力、质量要求之间的关系,实现最大化的测试投入产出比,是测试最终成功的关键因素之一

19.测试策略划分:基于分析的策略、基于模型、软件质量模型、系统性能演化策略,基于标准规范、基于自动化的回归测试策略

  测试策略输入:

    测试所需软硬件的详细说明

    针对成为是和进度约束、需要的人力资源的角色和职责

    测试方法、测试标准和完成标准

    目标系统的功能性和非功能性需求、技术指标

    系统局限等

  测试策略的输出包括:

    已批准或审核的测试策略文档,测试用例、测试计划

    需要解决方案的测试项目

  制定测试策略的过程

    确定测试的需求

    评估风险并确定测试优先级

    确定测试策略

二、测试的原则

1.相关性原则:一个软件中被找到的缺陷越多,则合格软件中残留的缺陷也月多

2.可接受性原则:测试的直接目标是发现软件缺陷,但更进一步的目的是修复发现的缺陷

3.风险性原则:测试本身也是具有风险的

4.测试停止准则:测试超过预定时间,执行了所有的测试用例,没有发现新的故障,采用特定的测试用例设计方案,查出某一预定数目的故障,单位时间内查出故障的数量少于预定值

三、软件测试模型

1.V模型

 

 2.W模型,测试从需求分析时开始

 

 3.H模型:改进了W和V模型高度依赖于开发的瀑布模型缺陷,把测试活动从软件开发过程中独立出来,在软件过程的任何一个时间点上,只要测试条件满足即开始测试

 

 4.敏捷测试模型:与项目或用户保持紧密协作,时刻挂在需求变化并实施测试,以体现测试的时效性和适应性

 

 四、测试的分类

1.按工程阶段划分:单元测试、集成测试、系统测试、确认测试、验收测试

2.单元测试时最小单位的测试活动,称为模块测试,测hi内容包括:模块接口、局部数据结构、模块内路径、边界条件和错误处理,依据时模块的详细设计文件

3.集成测试:模块的集成时开展的测试,发现单元之间的接口可能存在的问题,目的是验证各个模块组装起来之后是否满足软件的设计文件要求,集成策略有一次性集成和增量式集成

4.系统测试:目标是软件的应用系统能否如预期工作并满足应用的需求

5.确认测试和验收测试:以需求规格书为依据,采用黑盒测试方法

6.验收测试:确认软件的功能、性能及其他特性是否满足软件需求规格说明书中列出的需求,验收测试由用户主导、开发方参与

7.确认测试按用户参与程度划分:内部确认测试、

 8.按是否执行代码划分:动态测试、静态测试

9.动态测试:通过运行程序发现错误或验证程序符合预期要求

10.静态测试:制作检查和审查,测试对象包括需求文档、设计文档、产品规格说明书以及代码,文档通过评审,代码通过走查和代码审查

11.按测实施主体划分:开发方测试、用户方测试、第三方测试

12.按是否关联代码划分:分为白盒测试与黑盒测试,区别在于测试人员是否知道软件是如何实现的

13.白盒测试称为结构化测试、逻辑驱动测试、基于代码的测试,测试人员开展测试时完全清楚被测试程序的内部结构、语句及工作过程

14.黑盒测试:只关心程序的输入和输出

15.灰盒测试:介于白盒与黑盒之间,即关注黑盒测试方法中的输入输出,也在一定程度上关注程序的内部情况,时两种测试方法的一定融合

16.按软件质量特性划分测试:功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性盒可移植性

17.按符合性评价要求划分的测试:通过测试区判定软件是否符合事先已经明确的文件性要求盒约束

18.回归测试:发生软件有变动的情况下,先验证缺陷是否正确修复,然后测试因此缺陷修复可能影响到的功能是否依然能正常

posted on 2021-09-18 16:40  丝瓜123  阅读(367)  评论(0)    收藏  举报