软件测试概述

软件测试是伴随着软件开发的全流程,具体过程包含单元测试(接口测试)、联调测试、冒烟测试。集成测试、领域测试、系统测试、交付测试,外场测试。测试过程可以根据具体部门划分分为开发和测试部两项工作内容。

1. 开发部

1.1 单元测试

单元测试是针对版本开发一项功能的每一个基本单元完成测试,测试对代码的覆盖率是有足够的要求的。这个和接口测试要区分开来,一般接口测试是业务级别的,也是开发人员经常关注的内容。接口测试争取只能说明正常情况下这个功能没有问题,但是实际代码运行过程中一些异常处理情况是没有充分考虑进来,这样交付的代码健壮性非常差。当然个人认为接口测试是单元测试的一个子部分,单元测试必须要包括基本功能为单位的测试工作。单元测试基本上在仿真环境上面完成。单元根据不同语言可能不一样,C语言单元可以认为是一个个接口,C++/JAVA语言单元是一个类,UI界面是每一个页面。

1.2 联调测试

联调测试是针对某一项功能,关联的几个开发组进行联调测试,保证产品对外发布出去是一个正常的各方协作良好的功能。联调测试往往会发现在前期需求实例化会一种方案考虑不够全面的问题,导致功能实际没有办法达到预期的情况,这个时候就会出现从新补充开发的现象。

1.3 冒烟测试

冒烟测试是自己组内完成,针对daily build每日构建完成的自动化测试。正常情况下为了保证软件每日正常,版本必须每日凌晨构建,构建过程要保证核心基本功能是正常的。因此,冒烟测试是基于接口功能完成测试,且只进行核心功能测试。为了保证版本的真确性,有一些团队将冒烟测试保证在了每一笔入库,只要有一笔代码入库,就会触发冒烟测试完成。dailybuild是每日特定时期触发,并且会生成一个特定的开发版本,会触发各个团队的冒烟环境,保证个版本过得情况下,集合成一个可执行版本。冒烟测试基本上是在实际环境上面完成测试。

2. 测试部

2.1 集成测试

集成测试一般情况下包含手工和自动化两部分,其中自动化测试和手工测试同步协作,手工测试流程会将成熟的手工流程逐步完善自动化测试内容,而自动化测试可以有效的保证每一项开发功能不会有其他边际的功能被影响到,将手工测试工作集中在本次需要交付的特定功能上面。

2.2 领域测试

领域测试主要是针对某一个特定的方向的测试,完成整个交付领域的测试。如果一个产品框架较大,都会分出领域测试来。领域测试是几个关联不是很大的方向,比方说AI芯片中的video和AI,再比方说交换机中的二层和三层。

2.3 系统测试

测试对象

集成测试由通过了单元测试的各个模块所集成起来的构件。

系统测试除了软件之外,还包括计算机硬件及相关的外围设备、数据采集和传输机构,支持软件,系统操作人员等整个系统。

测试时间

集成测试介于单元测试和系统测试之间。

系统测试在集成测试之后。

测试内容

集成测试:各个单元模块之间的接口。

系统测试:整个系统的功能和性能。

测试角度

集成测试:偏于技术角度的验证。

系统测试:偏于业务角度的验证。

2.4 交付测试

交付测试主要是针对特定时期的一个交付版本,将领域和继承测试团队中的领头人员聚集在一起完成一个对外发布版本的交付工作,或者一个迭代版本的工作。交付测试不会平凡发生,根据具体产品类型半年或者一个季度发生一次交付测试。

2.5 外场测试

主要是针对客户每一次特定的产品需求,交付现场与客户逐条完成对接需求文档与实际产品测试参数,完成产品订单交付。

你可能感兴趣的:(软件测试,开发,测试,单元测试,冒烟测试)