Selenium 2自动化测试实战:基于Python语言 - (EPUB全文下载)
文件大小:0.17 mb。
文件格式:epub 格式。
书籍内容:
Selenium 2自动化测试实战:基于Python语言
第1章 自动化测试基础
第2章 测试环境搭建
第3章 Python基础
第4章 WebDriver API
第5章 自动化测试模型
第6章 Selenium IDE
第7章 unittest单元测试框架
第8章 自动化测试高级应用
第9章 Selenium Grid2
第10章 Python多线程
第11章 自动化测试项目实战
第12章 BDD框架之Lettuce入门
第13章 GitHub托管项目
第14章 持续集成Jenkins入门
封底
第1章 自动化测试基础
在正式开始本书的学习之前,我们有必要先来了解什么是软件测试,以及软件自动化测试相关的概念和工具,这将有助于对本书后面内容的学习。
1.1 软件测试分类
软件测试领域名词颇多,许多测试新手容易混淆概念。因为从不同的角度对软件测试有不同的分类方法,所以,这里汇总常见软件测试的相关名词,让读者对软件测试领域有个概括性了解。
1.根据项目流程阶段划分软件测试
图1.1是一个典型的“V”模型软件开发流程,各项软件测试工作是在项目开发流程中循序渐进进行的。下面将介绍各个阶段测试的含义。
1)单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程。
2)集成测试:集成测试是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试。重点是检查模块之间的接口是否正确。
3)系统测试:系统测试是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求。
4)验收测试:验收测试是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。
图1.1 项目流程与对应的测试
2.白盒测试、黑盒测试、灰盒测试
白盒测试与黑盒测试,主要是根据软件测试工作中对软件代码的可见程度进行的划分。这也是软件测试领域中最基本的概念之一,如图1.2所示。
图1.2 黑盒测试与白盒测试
1)黑盒测试
黑盒测试,指的是把被测的软件看作一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。
它只检查程序呈现给用户的功能是否按照需求规格说明书的规定正常使用、程序是否能接收输入数据并产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
2)白盒测试
白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果。
它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条逻辑路径是否都能按预定要求正确工作。
3)灰盒测试
灰盒测试介于黑盒测试与白盒测试之间。
可以这样理解,灰盒测试既关注输出对于输入的正确性,同时也关注内部表现。但这种关注不像白盒测试那样详细、完整,它只是通过一些表征性的现象、事件、标志来判断内部的运行状态。有时候输出是正确的,但内部其实已经错误了,这种情况非常多。如果每次都通过白盒测试来操作,效率会很低,因此需要采取灰盒测试的方法。
3.功能测试与性能测试
从软件的不同测试面可以划分为功能测试与性能测试。
1)功能测试
功能测试主要检查实际功能是否符合用户的需求,因此测试的大部分工作也是围绕软件的功能进行。设计软件的目的就是满足用户对其功能的需求,如果偏离了这个目的,则任何测试工作都是没有意义的。
功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
2)性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。
软件的性能包括很多方面,主要有时间性能和空间性能两种。
· 时间性能:主要是指软件的一个具体的响应时间。例如一个登录所需要的时间,一个商品交易所需要的时间等。当然,抛开具体的测试环境,来分析一次事务的响应时间是没有任何意义的,它需要在搭建好的一个具体且独立的测试环境下进行。
· 空间性能:主要指软件运行时所消耗的系统资源,例如硬件资源,CPU、内存、网络带宽消耗等。
4.手工测试与自动化测试
从对软件测试工作的自动化程度可以划分为手工测试与自动化测试。
1)手工测试
手工测试就是由测试人员一个一个地去执行测试用例,通过键盘鼠标等输入一些参数,并查看返回结果是否符合预期结果。
手工测试并非专业术语,手工测试通常是指我们在系统测试阶段所进行的功能测试,为了更明显地与自动化测试进行区分,这里使用了手工测试这种说法。
2)自动化测试
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计测试用例并通过评审之后,由测试人员根据测试用例中描述的规则流程一步步执行测试,把得到的实际结果与期望结果进行比较。在此过程中,为了节省人力、时间和硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试又可分为:功能自动化测试与性能自动化测试。
· 功能自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。通过测试工具(或框架)录制/编写测试脚本,对软件的功能进行测试,并验证测试结果是否正确,从而代替部分的手工测试工作,达到节约人力成本和时间成本的目的。
· 性能自动化测试:通过性能工具来模拟成千上万的虚拟用户向系统发送请求,从而验证系统的处理能力。
5.冒烟测试、回归测试、随机测试、探索性测试和安全测试
这几种测试出现在软件测试的周期中,既不算具体明确的测试阶段,也不是具体的测试方法。
1)冒烟测试
是指在对一个新版本进行大规模的系统测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
引入到软件测试中,就是指测试小组在正式测试一个新版本之前,先投入较少的人力和时间验证一个软件的主要功能,如果主要功能都没有运行通过,则打回开发组重新开发。这样做的好处是可以节省时间和人力投入到不可测的项目中。
2)回归测试
回归测试是指修改了旧代码后 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Selenium 2自动化测试实战:基于Python语言 - (EPUB全文下载)