自动化测试概念
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。测试自动化可以在已经存在的正式测试过程中自动化一些重复但必要的任务,或者添加额外的难于手工执行的测试。
设计测试用例的万能公式:功能测试、界面测试、性能测试,易用性测试、安全性测试、兼容性测试





常见面试题
手工测试仍然占主导地位
1.自动化测试能够取代人工测试吗?
自动化测试不一定比人工测试更能保障系统的可靠性,自动化测试是测试人员手工编写,后续如果有功能的变更自动化也需要进行不定期的维护和更新
2.自动化测试可以大幅度降低工作量?
错误 自动化测试只是测试工作中的一小部分测试行为
坑!!"一定程度上"和"大幅度"的表达方式也需要注意
tips:测试笔试中的选择题尽量不要选择说的太死或者太绝对的选项~~~

自动化测试金字塔

图解:越往上走,投入更多的时间和精力 越往下走,获得的回报更大
手工测试:投入更多的时间和精力,回报最小
前端测试:精力较多,回报较小(服务器端出现问题比较多,前端出现问题比较少--前端问题在手工测试阶段就可以发现)
接口测试:精力较少,回报较高
单元测试:精力很少,回报非常高

实际在工作中,手工测试阶段才能发现更多的问题,投入的精力也更大。
其次是前端自动化,可以发现的问题相较于接口自动化来说要更多一些,因为后端的问题都会体现在前端界面上。
接口自动化:关注的是根据请求检查响应结果(响应数据类型、数据)
单元测试:对程序最小单元执行测试(人为规定)(方法、类、接口)
下单:
生成订单---api
减少库存---api
付费渠道---api
单元测试主要由开发人员来执行
Web自动化测试



谷歌浏览器服务器







selenium



