1、自动化测试:自动的测试软件
2、自动化测试的目的:减少人力物力的消耗,提高软件的测试质量。
3、常见面试题
①自动化测试能够取代人工测试吗?
自动化测试不一定比人工测试更能保障系统的可靠性,自动化测试是测试人员手工编写的,后续如果发生了功能的变更,那么自动化测试就需要不定期的维护和更新。
②自动化测试可以大幅度降低工作量?
错误的。在一定程度上可以降低工作量。因为测试不仅仅包含执行测试阶段,测试还需要了解需求,根据需求制定测试方法、测试策略,在其中使用什么工具等等。所以,测试主要由人工测试,通过自动化测试来辅助测试。
4、自动化测试主要的应用场景:回归测试
回归测试:软件有多个版本/历史功能需要进行功能的整体回归。
☆解释:如果,一款软件有多个版本,那么在开发出最新款之后,需要测试最新款的软件。但是,我们也需要在测试完最新款软件之后再去测试以前的版本。因为,新版本上线之后很可能导致,旧版本无法使用,或者出现故障。如果,一款软件先上线了几个功能,后来又上线了一个功能,那么我们测试了新上线的功能之后,还需要去测试,前几次上线的功能(上线的时候已经测试过了),因为新功能上线可能导致代码的更新。
5、自动化分类
1、接口自动化测试
2、前端自动化测试
①web界面测试
②客户端界面测试:请求参数、请求体、响应内容、状态码....等
6、自动化测试金字塔
理想的自动化测试金字塔中:
单元测试:通常由开发人员编写单元测试脚本来执行单元测试。所以投入的人力少但是获得的头次回报率更高。
实际中的自动化测试“冰淇淋蛋筒反模式”:
因为,对于开发人员来说,相较于测试人员来说不那么注重测试。
7、web自动化测试
手工测试:百度搜索关键词“迪丽热巴”
自动化测试:
①打开浏览器
②输入百度网址
③找到输入框,输入关键词“迪丽热巴”
④点击“百度一下”按钮
手工测试打开浏览器是手工驱动的,而在自动化测试中,是由程序驱动浏览器打开的。
程序想要打开web浏览器就需要安装web驱动(即WebDriver),WebDriver以本地化方式驱动浏览器。下载驱动程序之后,编写的自动化脚本可以借助驱动程序来打开对应的浏览器。
☆不同的浏览器对应的驱动程序是不一样的;不同版本的浏览器对应的驱动版本也是不一样的
为了解决因浏览器更新而造成的驱动程序无法使用,我们直接去下载一个驱动管理工具Webdriver-manager。这样尽管浏览器 更新了,我们也不用去手动的下载最新的驱动程序。
在python中的安装命令:
pip install webdriver-manager
在编写自动化脚本时需要借助selenium工具,在python中的安装命令:
pip install selenium==4.0.0