功能测试和自动化测试有什么区别?需要熟练哪些技能?
一直没搞明白两者在实际工作中要求会使用的技能上会有哪些区别,代码能力比较弱的话先打算从功能测试干起的话需要熟练哪些内容?是不是会写用例会用fiddler,postman,jmeter这些就能干功能测试了?
自动化在上面的基础上要会Python,pymysql,requests?
功能测试基本不需要工具 功能测试基础是熟悉测试基本理论,自动化是最起码会一门语言 功能测试:
(1)又名: 黑盒测试
(2)依据: 需求文档
(3)执行: 测试用例
(4)方法: 等价类划分, 边界值分析, 错误推测, 因果图法, 判定表驱动分析方法, 正交实验设计方法, 功能图分析方法
(5)错误: 功能错误或遗漏,界面错误, 数据结构或外部数据库访问错误, 性能错误, 初始化和终止错误。
自动化测试:
(1)工具: QTP: 创建测试,插入检查点,检验数据,增强测试,运行测试,分析结果和维护测试等方面.(回归测试)
WinRunner: 企业级的功能测试工具, 用于检测应用程序是否能够达到预期的功能及正常运行。
QA Run: 通过鼠标移动,键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。
AutoRunner: 功能测试, 回归测试
(2)前提: 需求变动不频繁/项目周期足够长/自动化测试脚本可重复使用
(3)过程: 自动化测试需求分析, 自动化测试框架的搭建(要素: a.公用的对象 b.公用的环境 c.公用的方法 d.测试数据)
(4)涉及: 脚本编写(Ptython语言或shell,或Java)
(5)手机自动化测试: Monkey, Monkeyrunner, Appium(常用)。
1、测试角度不同
自动化测试和性能测试的出发点不一样,也就是最终的目的不一样。自动化测试是基于功能测试,案例也是来自功能测试,通常用做回归测试,其实测的是业务,是功能。
性能测试考虑单个接口的性能,有时候不会太考虑整体的业务通不通,只需考虑需要压测接口的性能表现,比如处理的tps、平均响应时间、支持的并发用户数。当然性能测试也会关注整个流程的测试。
比如有个做性能测试的小伙伴去做接口测试,就某一个产品的下单操作来说,做接口测试是为了查看下单这个功能是不是正常,他写的接口测试脚本跟性能测试脚本一样,只有一个下单的接口,下单之前一些商品的查询,账户的查询都没有做,这在业务上是不连贯的。
2、使用框架不同
首先使用的框架就不一样,Web自动化测试使用的是Selenium Webdriver,模拟的是点击页面的元素,性能测试还是录脚本、发请求。一个主要是关注页面元素,后端做了些什么完全是黑盒;一个需要关注发的请求有哪些,是post还是get,传的参数是什么,后端的一些知识还是要了解下,有点像灰盒。
3、要掌握的技能不同
自动化测试偏重开发,对开发语言要求相对高些,如果只是配置现成的框架做自动化测试,那要求并不高。
性能测试要了解的知识很多,脚本语言(C或者java等等)、操作系统(Linux,常用的监控命令,出问题时分析线程)、数据库(查询语句、表的关联、索引、Oracle的AWR 报表);如果是高级的性能测试,那还要懂架构方面的知识。
总的来说,自动化测试偏向于开发,但要有测试的思维;性能测试要懂的知识点很多,真正高级的性能测试也跟开发架构师的水平差不多了。 目标一样,方式不一样
页:
[1]