自动化测试和功能测试有哪些区别?
请问自动化测试和功能测试有哪些区别?
推荐答案
同学,您好!在测试过程中,测试人员往往会根据不同的需求,将不同的测试划分为不同的测试类型。常见的有功能测试、性能测试和自动化测试。自动化测试和功能测试有哪些区别呢?两者的区别主要体现在测试角度、使用框架、掌握技能这三方面。
功能测试:
(1) 又名:黑盒测试
(2)依据:需求文档
(3)执行:测试用例
(4) 方法:等价类划分、边值分析、误差猜测、因果图法、决策表驱动分析法、正交实验设计法、功能图分析法
(5) 错误:功能错误或遗漏、接口错误、数据结构或外部数据库访问错误、性能错误、初始化和终止错误。
自动化测试:
(1) 工具: QTP:创建测试、插入检查点、验证数据、增强测试、运行测试、分析结果和维护测试。(回归测试)
WinRunner:企业级功能测试工具,用于检测应用程序是否能够达到预期的功能和正常运行。
QA运行:通过移动鼠标和点击键盘来运行被测应用程序,可以立即得到相应的测试脚本,并可以对脚本进行编辑和调试。
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报告 );如果是高级性能测试,还必须了解架构方面的知识。
总的来说,自动化测试和功能测试的区别主要是自动化测试偏向于开发,但要有测试的心态;性能测试需要了解的知识点很多,真正高级的性能测试也是和开发架构师一个级别的。
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!此页面下方声明无效!