都是一些最基础的知识点。
一:软件测试分类
1)单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程。
2)集成测试:集成测试是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试。重点是检查模块之间的接口是否正确。3)系统测试:系统测试是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求。4)验收测试:验收测试是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。
1)黑盒测试。
黑盒测试,指的是把被测的软件看作一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。(黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。)2)白盒测试。
白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果。(检验程序中的每条逻辑路径是否都能按预定要求正确工作。)3)灰盒测试。
灰盒测试介于黑盒测试与白盒测试之间。(既关注输出对于输入的正确性,同时也关注内部表现。)
功能测试与性能测试
1)功能测试。(逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。)
2)性能测试。(时间性能和空间性)
手工测试与自动化测试
2)自动化测试。(功能自动化测试与性能自动化测试)
功能自动化测试:它是把以人为驱动的测试行为转化为机器执行的一种过程。通过测试工具(或框架)录制/编写测试脚本,对软件的功能进行测试,并验证测试结果是否正确,从而代替部分的手工测试工作,达到节约人力成本和时间成本的目的。
性能自动化测试:通过性能工具来模拟成千上万的虚拟用户向系统发送请求,从而来验证系统的处理能力。从而来验证系统的处理能力。
二:分层的自动化测试
单元自动化测试 (单元测试是指对软件中的最小可测试单元进行检查和验证。)
接口自动化测试 (模块接口测试和Web接口测试。)
(1)模块接口测试,主要测试模块之间的调用与返回。
(2)Web接口测试又可分为两类:服务器接口测试和外部接口测试。
·服务器接口测试:指测试浏览器与服务器的接口。
·外部接口测试:指调用的接口由第三方系统提供。(第三方登录)
(接口测试也有相应的类库或工具,例如测试HTTP的有HttpUnit、Postman等。)
UI自动化测试
UI层是用户使用该产品的入口,所有功能都通过这一层提供并展示给用户,所以大多测试工作都集中在这一层进行。(目前主流的测试工具有UFT、Watir、Robot Framework、Selenium等。)
三:什么样的项目适合自动化测试
1)软件需求变动不频繁。
2)项目周期较长。
3)自动化测试脚本可重复使用。
四:自动化测试及工具的简述
1)UFT。
UFT(全称Unified Functional Testing)由QTP(Quick Test Professional software)与ST(Service Test)合并而来,由HP公司开发。它是一种企业级的自动测试工具,提供了强大易用的录制回放功能,同时兼容对象识别模式与图像识别模式两种识别方式,支持B/S 与C/S 两种架构的软件测试,是目前主流的自动化测试工具。
2)Robot Framework。Robot Framework是一款基于Python语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试。3)Watir。Watir全称是“Web Application Testing in Ruby”,是一种基于Web模式的自动化功能测试工具。Watir是一个Ruby语言库,使用Ruby 语言进行脚本开发。4)Selenium。Selenium也是一个用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在Web自动化领域应用越来越广泛。