1. 简述什么是UI自动化测试?
正确回答通过率:78.0%
[ 详情 ] 推荐指数: ★★★★ 试题难度: 中级
UI自动化测试(User Interface Automation Testing)是一种通过编写脚本或使用自动化测试工具,对用户界面(UI)进行自动化测试的方法。它可以模拟用户与应用程序或网站的交互,自动化执行用户界面上的操作,如点击按钮、输入文本、选择选项等,并检查应用程序或网站的响应和行为是否符合预期。UI自动化测试通常用于验证用户界面的功能、性能和稳定性,并可以在软件开发过程中帮助检测和修复错误。
UI自动化测试一般包括以下步骤:
1:环境设置:准备测试环境,包括安装和配置自动化测试工具、设置测试数据和测试环境参数等。
2:测试脚本编写:编写测试脚本,用于模拟用户在应用程序或网站上的操作,例如点击按钮、输入文本、选择选项等。测试脚本通常使用编程语3:言或自动化测试工具提供的脚本语言编写,例如Selenium、Appium、Robot Framework等。
4:测试数据准备:准备测试数据,包括输入数据和预期输出数据。测试数据通常是用于验证应用程序或网站在不同输入条件下的正确性和稳定性。
5:测试脚本执行:执行测试脚本,自动化地模拟用户在应用程序或网站上的操作,并根据预期输出数据进行验证。测试脚本可以在不同的操作系统、浏览器或设备上执行,以确保应用程序或网站在不同平台上的一致性。
6:结果分析和报告生成:分析测试结果,检查应用程序或网站的行为是否符合预期,并生成测试报告,以便开发人员和测试人员了解测试的结果和问题。
UI自动化测试的优点包括:
1:提高测试效率:相比手动测试,UI自动化测试可以快速、准确地执行大量的测试用例,提高测试效率,减少人工测试的工作量。
2:提高测试覆盖率:UI自动化测试可以覆盖应用程序或网站的各个功能和页面,确保每个功能都经过测试,提高测试覆盖率,减少漏测的风险。
3:提高测试一致性:UI自动化测试可以确保在不同平台、浏览器或设备上的测试执行一致,减少人工测试的主观因素,提高测试的一致性和可靠。
4:提高软件质量:UI自动化测试可以帮助检测和修复应用程序或网站中的错误和缺陷,提高软件质量,减少软件发布后的问题。
2. 阐述目前主流的APP UI自动化测试工具 ?
正确回答通过率:61.0%
[ 详情 ] 推荐指数: ★★★★ 试题难度:
常用的框架:Appium、Airtest、Robotium、UIAutomator等
选取Appium框架(相比其他框架):开源、实现跨平台(iOS、Android)、多语言(python、Java、JavaScript、nodejs )、丰富的定位元素方式、更高的脚本复用性等
3. 你觉得自动化测试的价值在哪里?
正确回答通过率:82.0%
[ 详情 ] 推荐指数: ★★★ 试题难度: 初级
1:提高测试效率:相比手工测试,自动化测试能够更快速、更准确地执行测试用例。可以通过脚本自动运行、自动化生成测试报告等方式,大大节省了测试团队的时间和精力。
2:提高测试覆盖率:自动化测试可以快速执行大量的测试用例,并且可以在不同的环境、配置下进行测试。这使得测试团队能够更全面、更深入地检查软件的各个功能和模块,提高测试的覆盖率。
3:提高软件质量:自动化测试能够帮助发现软件中的潜在问题和缺陷,尤其是那些重复性高、易出错的测试任务。通过自动化测试,可以及早发现和修复问题,从而提高软件的质量和稳定性。减少人为错误:相比手工测试,自动化测试更加准确,减少了人为因素对测试结果的影响。同时,自动化测试能够持续执行测试用例,避免了由于人的疏忽或疲劳导致的测试遗漏或错误。
4:节省成本:虽然自动化测试需要一定的投入和学习成本,但长期来看,自动化测试可以大大减少人力资源的投入和测试周期的时间。这降低了软件开发和测试的成本,并提高了团队的效率。
综上所述,自动化测试的价值在于提高测试效率、提高测试覆盖率、提高软件质量、减少人为错误以及节省成本。
4. 如果有些接口做了鉴权(需要鉴定权限),怎么实现这些接口的自动化测试?
正确回答通过率:60.0%
[ 详情 ] 推荐指数: ★★★★ 试题难度: 高难
参考:在测试其他接口的时候需要先登录,并获取token,将token放在测试接口的请求头中一同传递。
首先需要明确接口是通过什么机制来实现的鉴权。
1.如果是通过会话id(JSESSIONID)来实现鉴权的,那么先调用完登录接口–》拿到它返回的这个数据–》存储起来–》后面再调用其他接口的时候直接带上这个数据过去就可以了。
2.如果是通过token来实现鉴权的,那么同样只需要在调用完登录接口–》拿到它返回的这个数据–》存储起来,后面操作同上。先回答上面的一个基本实现步骤,然后再补充以下一些实现细节:
「a. 怎么取到这个JSESSIONID或者token」
这个信息怎么取首先得明白它是怎么返回来的,可能为以下两种方式:
#登录接口的响应头
#登录接口的响应报文 需要找开发确认,不同方式不同取法。
「b. 怎么存储这个JSESSIONID或者token」
#文件中(excel、properties文件都可以)
#数据库
#代码里面自己定义的公共静态变量,作为一个共享的数据
「c. 请求其他需要鉴权的接口时,怎么带过去这个数据」
先找开发人员确认,再调用需要鉴权的这些接口怎么携带这个鉴权的信息(票)。一般不外乎这么几种:
#拼接在url上传过去用于服务器验证
#设置到请求体中
#通过请求头带过去
5. 接口自动化测试到底能解决什么问题 ?
正确回答通过率:79.0%
[ 详情 ] 推荐指数: ★★★ 试题难度: 初级
接口自动化测试的必要性:
1、业务逻辑层(接口层)出BUG的概率高,且单单靠功能测试覆盖不到,能发现更深层次的问题
2、由于接口稳定性好,一旦确定下来,后面很少会进行修改,方便做接口自动化测试开展,作用是对历史接口进行回归,能及时发现改动后对老功能的影响,平台迭代越久,历史接口积累越多,价值越大
3、敏捷研发中,需要接口自动化做支撑,在短周期的研发当中(快速交付),自动化接口测试能快速找出历史模块(接口)问题,以便能及时修复,大大节约了时间和人力
4、缩短开发定位问题的时间,接口测试能直接定位到具体某个接口,而且有相关的报错信息,