Web自动化测试是软件测试中非常重要的一种测试方法,它通过编写脚本来模拟人工操作网页,从而实现对Web应用程序进行自动化测试的过程。为了保证测试质量和效率,我们需要遵循一定的流程和步骤来完成Web自动化测试。

一、测试环境准备

在进行Web自动化测试之前,我们需要准备好测试环境,包括测试工具、测试数据、测试服务器等。对于测试工具,可以选择市面上比较流行的Selenium、Appium、Robot Framework等工具,这里以Selenium为例。

1、安装Selenium WebDriver

Selenium WebDriver是Selenium的核心组件,是一个用于控制浏览器的库,可以操作不同的浏览器,并且支持多种编程语言,在这里我们使用Java作为示例。

2、安装浏览器驱动

WebDriver需要和浏览器驱动配合使用,所以我们需要安装对应的浏览器驱动。比如,如果我们需要测试Chrome浏览器,就需要下载安装ChromeDriver。

3、创建测试项目

在Eclipse或IntelliJ IDEA等IDE中创建一个新的Java项目,添加Selenium WebDriver和所需的依赖项。

二、测试用例设计

在进行Web自动化测试之前,我们需要确定测试范围和目标,然后将测试用例分解成多个小的测试场景。在实际的测试用例设计中,需要考虑以下几个方面:

1、具有代表性

测试用例应该覆盖所有的功能点和业务流程,包括正常流程、异常情况和边界条件等。测试用例应该是典型的应用场景,能够代表用户的真实操作。

2、可重复执行

测试用例应该具有可重复性,即每次执行都会得到相同的结果,从而可以保证测试结果的一致性和可信度。

3、易于维护

测试用例应该易于维护,即当应用程序发生变化时,我们只需要修改相关的测试用例而不需要重新编写整个测试脚本。

4、高效率

测试用例应该能够尽可能地覆盖更多的测试场景,以达到高效率的测试目标。

三、测试脚本编写

在完成测试用例的设计之后,我们需要将测试用例转换成自动化测试脚本。在编写测试脚本时,需要注意以下几个方面:

1、脚本逻辑清晰

测试脚本应该具有清晰的逻辑结构,包括测试步骤和断言等。通常情况下,我们可以将测试脚本分为多个模块进行编写,便于维护和扩展。

2、具有可读性

测试脚本应该具有良好的可读性,使得其他测试人员可以快速理解脚本的运行过程。同时,我们还需要考虑代码的复杂度和可重用性等。

3、使用最佳实践

在编写测试脚本时,需要结合自身项目的实际情况,采用最佳实践来编写测试脚本,以保证测试脚本的质量和效率。

四、测试执行和结果评估

在完成测试脚本的编写之后,我们需要对测试脚本进行执行并评估测试结果。在测试执行和结果评估阶段,需要考虑以下几个方面:

1、执行测试脚本

使用Selenium WebDriver控制浏览器,执行测试脚本,模拟用户在网页中的操作,并根据预期结果来验证测试结果。

2、记录测试结果

在执行测试脚本时,我们需要记录测试结果,包括测试用例的执行时间、执行结果、错误信息等。如果测试失败,需要及时记录错误信息并排查问题。

3、分析测试结果

在完成测试执行之后,我们需要对测试结果进行分析,根据测试结果来评估应用程序的质量和稳定性,并对测试结果进行归纳和总结,以便于后续的测试改进和优化。

4、提出建议和改进建议

根据测试结果,我们需要提出相关的建议和改进建议,以使得应用程序的质量能够得到进一步的提升。同时,我们还需要将测试过程中遇到的问题和解决方法等记录下来,以便于后续的测试人员可以查阅和使用。

五、测试报告和反馈

在完成Web自动化测试之后,我们需要生成测试报告并进行反馈,以便于其他测试人员和开发人员参考。

1、生成测试报告

测试报告应该包含测试的详细结果,包括测试用例、执行时间、执行结果、错误信息等。同时,我们还需要将测试结果进行统计和分析,以便于快速评估应用程序的质量和稳定性。

2、反馈测试结果

在生成测试报告之后,我们需要对测试结果进行反馈,向其他测试人员和开发人员介绍测试的过程和结果,并提供相关的建议和改进建议。同时,我们还需要向项目经理汇报测试的进度和问题,以便于及时解决问题。

六、测试优化和改进

Web自动化测试是一个不断优化和改进的过程,我们需要持续地进行测试优化和改进。在测试优化和改进阶段,我们需要考虑以下几个方面:

1、优化测试脚本

在执行测试脚本时,我们需要实时监控测试脚本的运行情况,并根据测试结果来优化测试脚本,以使得测试效率更高、测试覆盖更全面。

2、提高测试质量

在进行Web自动化测试时,我们需要根据具体的应用场景和业务流程来设计测试用例,并不断提高测试质量。同时,我们还需要借助一些辅助工具来提高测试效率和准确性。

3、管理测试数据

在进行Web自动化测试时,我们需要管理测试数据,并确保测试数据的可重复性和一致性。如果测试数据出现问题,会导致测试结果不准确或者测试失败。

总结

Web自动化测试是软件测试中非常重要的一种测试方法,在测试过程中需要遵循严格的测试流程和步骤,包括测试环境准备、测试用例设计、测试脚本编写、测试执行和结果评估、测试报告和反馈以及测试优化和改进等。通过不断的测试优化和改进,我们可以提高测试效率和质量,保证应用程序的稳定性和可靠性。

一、接口测试面试题:

1.接口测试是怎么做的,如何分析数据?

接口测试实际跟一般测试不同就是测试用例的设计部分。

获取接口规范。

设计接口测试功能用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑盒用例那一套)。

各种入参验证(正常情况,异常情况包括输入参数个数不对,类型不对,可选/必选,还有考虑参数有互斥或关联的情况)。

接口返回值各种验证(符合接口文档需求)

了解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/判定/…)

接口能并发执行吗、安全吗,性能满足要求吗?

采用工具或者自写代码来验证。

发现问题跟功能测试一样,该报bug报bug,该跟踪状态的跟踪状态

2.你用什么工具测试接口?

postman、jmeter、soapui(不常用)

3.你都知道有哪些接口请求方式?区别是什么?

GET post PUE DELETE

区别:get直接从服务端拉取数据

post:先发送请求再拉数据(注册、更新、改)

put:修改的数据

delete:用户删除数据

这几种方式,取决于开发,他用啥你们就传啥

4.为什么要做接口测试?

1、通过接口测试能快速发现非功能层面的一些逻辑问题

2、能提高测试的效率

3、相对UI自动化来说,比较稳定,能减少回归成本

5.一个前后端都能修改的bug,应该由谁修改?

后端修改

6.如何定位是前端bug还是后端bug(*)

1、验证这个BUG、在前端去复现bug

2、在服务器上面找到日志文件

3、用tail -f显示日志

4、去观察日志,如果有明确的“exception”,那就是后台报错

5、接口返回码为500+即服务器问题,后台问题。

前端:

前问题一般就是界面的问题,不过像开发在url中加入新的请求参数,而没有写进接口文档中的错误属于后端错误。

一般像页面的排版和显示问题都属于前端问题

8. 今日头条的列表页面接口,这个接口有三个参数,一个参数是type字段,type=1代表是图文类文章,type=2代表是视频类文章 type=3时是纯文本文章,另外两个字段是pagesize ,还有一个参数是pageno,对于这个接口你怎么测试?

答案:

传入type=1 pagesize=6 pageno=1 它返回的数据图文文章列表第一页6条数据

传入type=2 pagesize=3 pageno=2 它返回的数据视频类文章第2页3条数据

传入type=3 pagesize=4 pageno=2 它返回的数据视频类文章第2页4条数据

类型为空条数为空、页数为空,它返回无数据

类型和条数和页数传入特殊字符、超长,传入负数它的节点返回无数据

9.注册账号成功,但登录失败,怎么排查?

注册用户的数据没有传入到数据,那就调用一下登录接口是否成功,如果失败了,提bug

10.我要测商品列表接口,但是这个接口是依赖于登录接口,要登录成功才能测这个接口,用postman怎样去做这个接口测试?

1.首先在postman创建一个登录接口,确定登录是正常的,如果它使用的cookie那么需要把cookie传入列表接口头部信息中

如果登录接口他返回的token是在返回报文中,那么列表接口直接在头部信息中传入这个token即可

最后两个联通之后,根据用例传入不同的参数值去校验这个商品列表接口是否正常

二、Ui自动化测试面试题:

1、写出4种xpath定位方式定位如下红框中的控件

2、如何从如下红框中的a标签,定位到如下红框中的div标签?

3、如何从红框中的a标签,定位到如下红框中的form标签?

4、如下iframe,如何定位到切换到iframe1、iframe2、iframe3、iframe4;如果目前已经切换到了iframe4,如果定位到iframe2中的某一个控件?如果切换到了iframe2如何定位到body中的某一个控件?

三、MySQL笔试题:

1.把字段基金代码的长度扩长为8位
2.统计同一销售商和网点代码下持有的总份额
3.统计出同一个基金帐号和基金代码记录数超过2条的总数有多少
4.把基金账号为100008,网点代码最小的那条记录的份额更新为2000

CREATE TABLE A (
P_ID int,
p_num int,
s_id int);
INSERT INTO A VALUES
(1,10,01),
(1,12,02),
(2,8,01),
(3,11,01),
(3,8,03);

select a.*,a.s1_id+a.s2_id+a.s3_id as sum_p from (select p_id,
sum(case when s_id=1 then p_num else 0 end) as s1_id ,
sum(case when s_id=2 then p_num else 0 end) as s2_id ,
sum(case when s_id=3 then p_num else 0 end) as s3_id
from product_t group by p_id) a;

四、测试基础面试题:

1、描述下敏捷测试流程

2、介绍下你做过项目的业务流程

3、介绍下做过的项目当时你团队组成是什么样?有多少开发、测试,项目周期多久,时间4、如何分配的,有多少用例,多少bug等?

5、APP测试和web测试有什么区别

6、测试计划包含哪些内容

7、什么叫冒烟测试用例?冒烟测试用例一般会选取哪些作为冒烟测试用例

8、讲下bug处理流程,你们是用什么工具提单的

9、说下你印象最深的bug

10、偶现性bug怎么处理

11、测试用例设计都有哪些方法?什么场景下使用什么方法

12、有个上传文件的功能,需要上传文件,测试点有哪些?

13、进行测试用例设计:一串数字,闰年的判别

14、如何测试ip地址(IP地址组成为:(1~255).(0~255).(0~255).(0~255))

15、测试报告都有哪些要素?

16、bug的处理机制 bug的定级

17、线上出现bug时,处理流程是什么样的?

18、订单列表展示的测试用例设计

19、你觉得一个软件达到什么标准可以上线

20、请进行测试用例设计:一串数字,闰年的判别

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

更多推荐