按开发阶段,软件测试可以划分为单元测试、集成测试、确认测试、系统测试和验收测试。
① 单元测试是针对软件设计中的最小单位
-程序模块进行正确性检测的测试。
② 集成测试也称为组装测试。在单元测试的基础上,将所有程序模块按照概要设计的要求组装成一个系统
③ 确认测试的目的是检查已实现的软件系统是否满足需求规格说明书中规定的各种需求,以及软件配置是否安全、正确
④ 系统测试将通过确认测试的软件作为整个给予计算机系统的一个元素,在实际运行环境下或模拟系统运行环境下,测试其与系统其他元素能否正确的配置、连接、并满足用户需求
⑤ 验收测试即按项目任务书或合同,供需双方约定的验收依据文档对整个系统进行测试与评审,以决定是否接受软件系统
根据测试实施策略的不同,软件测试可分为白盒测试、黑盒测试和灰盒测试。
根据软件测试的执行方式,可将软件测试分为静态测试和动态测试
回归测试是为了验证对软件引入的修改的正确性及其影响而进行测试。
可靠性测试的目的是测算在一定的环境下系统能正常工作的概率,通常用平均无故障时间即两次失效之间的平均操作时间来衡量系统的可靠性。
程序插桩是一种通过向被测程序中插入操作来发现和定位哦错误的方法,在程序测试和挑食(调试即在发现程序存在运行错误以后寻找错误的原因和位置并排除错误)中有着广泛的应用。
对黑盒白盒测试方法的总结:
一般来说,在软件测试的单元测试阶段,从使用白盒测试法为主对被测试单元进行测试。在集成测试阶段,可使用黑盒、白盒相结合的方法测试多个单元组装在一起能否按预期的设计要求工作,这种测试策略也可理解为灰盒测试方法,在集成测试之后的测试阶段,目标软件已基本成型,应使用黑盒测试方法对软件进行测试。
单元测试是对软件基本组成单元的测试
单元测试的依据及其目的是什么?
答:
依据:是软件的详细设计描述,源程序清单,编码标准
目的:确保被测单元的代码正确是单元测试的主要目标。具体来说,单元测试的目的主要包括:
⑴验证代码能否达到详细设计的预期要求
⑵发现代码中不符合编码规范的地方
⑶准确定位发现的错误,以便排除错误。
驱动模块的含义及作用:含义:是用来代替被测单元的上层模块的,驱动模块能接受测试数据,调用被测单元,也就是将数据传送给被测单元,最后打印测试的执行结果。
桩模块的含义及作用:桩模块又称存根模块,它用来代替被测单元的子模块。设计桩模块的目的是米哦你事先被测单元的接口。桩模块不需要包括子模块的全部功能,但应做少量的数据操作,并打印接口处的信息。
集成测试的概念:在单元测试的基础上,应根据概要设计的要求将各单元组装成系统,在单元组装过程中,应对单元进行整体测试,发现并清除在单元连接过程中出现的问题,确保集成到一起的各单元能共同完成预期的功能,并达到要求的性能,这就是集成测试的任务。
集成测试的策略
1. 一次性集成方式,是一种非增值式集成方式。其策略是首先分别对每个模块进行单元测试,然后一次性滴将所有模块集成在一起,并对它们进行测试,发现并清除在模块连接中出现的问题,得到最终要求的软件系统。
2. 自顶向下的集成方式
3. 自底向上的集成方式
4. 混合式集成方式
5. 核心系统先行集成方式
6. 高频集成方式
7. 基于消息
/事件/线程的集成方式
8. 基于使用的集成方式
确认测试的概念:
确认测试的任务是验证软件的功能,性能及其他特征是否达到需求规格说明书的要求。
系统测试的概念:
系统测试是将已经通过确认测试的软件作为基于整个计算机系统的一个元素,与系统中其他所有元素结合在一起,在实际运行环境下或模拟系统运行环境下,测试其与系统中其他元素能否实现正确地连接,以满足用户需求。
系统测试与确认测试的关系:
在很多资料中确认测试被认为是系统测试部分业界也常将确认测试并入系统测试中进行讨论,从广义上说,这样理解是可以的,但狭义的系统测试却与确认有着较大的不同,这种不同表现为确认测试一般以功能测试为主,而在系统测试中,一般以性能测试为主。
面向对象开发方法的优点,什么原因导致这些优点:
软件重要性高,由于面向对象方法有强大的封装机制和继承机制,使用该方法开发出来的软件部件重用性高。重用性高:⑴能提高开发效率⑵是当重用软部件时,由于使用的是已被测试过的部件,因而是系统出错可能性大大减小
软件可维护性高:在既定的继承结构中,若需要对类进行修改时,共性部分的修改可以仅在父类中进行,封装机制也使得对象之间的依赖性减少,便于对某个类的修改,测试和维护。 容易扩展,因为它使系统更灵活,更容易扩展,而且费用更低。
面向对象软件的测试划分如下:
面向对象的开发模型可分为面向对象分析(
OOA),面向对象设计(OOD)和面向对象编程(OOP)三个阶段。
① 面向对象分析的测试
② 面向对象设计的测试
③ 面向对象编程的测试
④ 面向对象软件的单元测试
⑤ 面向对象软件的集成测试
⑥ 面向对象软件的确认和系统测试