单元测试(Unit Testing)
1、单元测试也叫模块测试,是指对软件中的最小可测单元进行检查和验证的活动。
2、单元测试的任务
模块接口测试
模块局部数据结构测试
模块中所有独立执行路径测试
模块的各条错误处理路径测试
模块边界条件测试
集成测试(Integrated Testing)
1、集成测试的概念
组装测试或联合测试,是在单元测试的基础上,将所有模块按照设计说明书的要求组装成子系统或系统的过程,并目检查各部分工作是否达到或实现相应技术指标及要求的活动。
2、集成测试的任务
1)在将各个模块连接起来的时候穿越模块接口的数据是否会丢失
2)一个模块的功能是否会对另一个模块的功能产生不利的影响
3)各个子功能组合起来能否达到预期要求的父功能
4)全局数据结构是否有问题
5)单个模块的误差累积起来是否会放大,从而达到不能接受的程度
3.集成测试的策略
1)非增量式集成
又称大爆炸测试、一次性集成
2)增量式集成
主要有:自底向上集成测试、自顶向下集成测试、Big-Bang 集成测试【这里我认为慕课网上讲的有点问题,Big-Bang 难道不是大爆炸么】、三明治集成测试等。
确认测试(Confirm Testing)
确认测试也称有效性测试,即验证软件的功能、性能及其它特性是否与用户的要求一致。在模拟的环境下,验证软件是否满足需求规格说明书列出的需求。确认测试是检验所开发的软件是否满足SRD(System Requirement Document)中定义的需求、性能要求,以及软件配置是否完全正确。确认测试通常包含以下步骤
- 软件安装测试:在进行软件安装时,一般都会有多过程。需要分配和载入文件以及程序库,再进行需要使用的硬件装置,连接程序。因为软件的安装测试并不是找软件的漏洞,而是为了找出安装过程中产生的问题。
- 软件功能测试:主要是按照需求文档或软件测试用例来测试软件的各个部分的功能是否正确一致,因为正确性是软件质量的重要因素,因此软件功能测试不可缺少。
- 性能测试:在各个测试阶段都可以进行性能测试,甚至在单元层次上也可以。
- 软件兼容性测试:主要是验证软系统在不同机型、版本、环境、平台等条件下的兼容性,需要重复多步测试。
- 文档测试:文档测试是检查用户文档(如用户手册)的清晰
系统测试(System Testing)
系统测试是把通过确认测试的软件作为系统的一个元素,接入系统的实际运行环境中,与系统的其他部分(硬件、系统、数据库、第三方数据等)结合起来进行测试。
测试重点:
(1)整个系统运行的稳定性
(2)整个系统的兼容性
(3)是否符合“需求规格说明书”
(4)黑盒测试
验收测试(Acceptance Testing)
验收测试是检验软件产品的最后一关,在这个环节,测试主要从用户的角度着手。是一个确定产品能否满足合同/用户需求的测试。
黑盒测试
着眼于程序的外部结构,不考虑内部逻辑结构主要针对软件界面和软件功能进行测试
白盒测试
也称结构测试,着眼于程序的内部结构,根据程序的源代码进行测试
两者联系与区别