一、自动化测试基础
根据项目流程阶段划分软件测试 一个典型“V”模型软件开发流程
从需求分析 > 产品设计> 开发编码> 初代版本发布> 单元测试> 继承测试> 系统测试> 验收测试
单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过
程。
单模块内部测试
集成测试:集成测试是单元测试的基础上,将通过单元模块组装成系统或子系统,再进行测试,重点
是检查模块之间的接口是否正确。
模块与模块之间的测试
系统测试:系统测试是针对整个产品系统进行的测试,验证系统是否满足了需求规格的定义,以及软
件系统的正确性和性能等是否满足其规约所指定的要求。
各个模块相互构成的系统整体测试
验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向
软件购买都展示该软件系统满足其用户的需求。
脱离功能性能等开发测试痕迹,面向用户的生产环境 测试
白盒测试、黑盒测试、灰盒测试
白盒测试与黑盒测试,主要是根据在软件测试工作中对软件代码的可见程度进行的划分;这也是软件
测试领域中最基本的概念。
黑盒测试:
黑盒测试,指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只
关心软件的输入数据和输出结果。
它只检查程序呈现给用户的功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输
入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面
和软件功能进行测试。
白盒测试:
白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果。
它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正
常进行,检验程序中的每条通路是否都能按预定要求正确工作。
灰盒测试:
灰盒测试介于黑盒测试与白盒测试之间。
可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那
样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,
但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取
这样的一种灰盒测试的方法。
功能测试
性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进
行测试。
软件的性能包括很多方面,主要有时间性能和空间性能两种。
时间性能:主要是指软件的一个具体的响应时间。比如一个登录所需要的时间,一个交易所需要的时
间等。当然,抛开具体的测试环境,来分析一次事务的响应时间是没有任何意义的。需要搭建一个具体且
独立的测试环境。
空间性能:主要指软件运行时所消耗的系统资源,比如硬件资源,CPU、内存,网络带宽消耗等。
自动化测试又可分为:功能自动化测试与性能自动化测试。