Java|2022年如何学习自动化测试?


Java|2022年如何学习自动化测试?
文章图片

随着人工智能的到来 , 现在自动化测试已经成为了一种热门的行业 , 说句实在话 , 也就是看在工资的面子上 , 总体来说工资还算理想 , 在照顾老婆孩子生活方面有盼头 , 所以即使要学的东西再多 , 再难 , 也有动力去冲 , 对 , 就是这么有责任心 。

千言万语从哪里说起呢?
首先要说的就是自动化测试的学习步骤
1. 做好手工测试(了解各种测试的知识)
2. 学习编程语言
3. 学习Web基础
4. 学习自动化测试工具
5. 学习自动化测试框架
6. 实现自动化测试用例
7. 开发自动化测试工具
8. 开发自动化测试框架
其次要知道手工测试与自动化测试之间的区别 , 学习要跟上队伍哟~~
1、手工测试与自动化测试并不是对立的
很多人会误以为有了自动化测试就不需要手工测试了 , 手工测试做得好也用不到自动化测试 , 其实不然 。 二者并不是对立的 , 什么手段效率高 , 就用什么手段 。 自动化测试发展了这么多年 , 也没有把手工测试给取代 。
2、手工测试用例特点
1)较好的异常处理能力 , 能通过人为的逻辑判断校验当前步骤是否正确实现;
2)人工执行用例具有一定步骤跳跃性;
3)人工测试步步跟踪 , 能够细致定位问题;
4)主要用来发现功能缺陷;
3、自动化测试的特点
执行的对象是脚本 , 能通过人为的逻辑判断校验当前的步骤是否正确实现 , 用例步骤之间关联性强 , 不像手工测试用例那么跳跃 。 另外也是用来保证产品主体功能正确和完整 , 让测试人员从繁重的工作中解脱出来 。
可以更好地利用资源 。 在夜间执行自动测试用例 。 测试具有移植性和可重复性 。 好的测试脚本往往具有较好的平台移植性 。 可以更快地将软件推向市场 。 因为自动测试节省了大量的时间 。 但是自动化测试要求的先期投入比较大 , 而且要求人员必须经过严格的培训 。
4、自动化测试与手工测试的关系
自动化测试不能完全替代手工测试 , 自动化测试的目的仅仅在于让测试人员从烦琐重复的测试流程中解脱出来 , 把更多的时间和精力放在更有价值的测试中 , 例如探索性测试 。
一、自动化工具:
Web自动化测试工具:Selenium、QTP 。
APP自动化测试工具:Appium、Uiautomator、monkeyrunner、网易atx、基于图像识别对比的测试sikuli 。
接口自动化:rest-assured、requests、httprunner等 。
这里领取软件测试资料 100+ 名企测试内推资源倾情分享
二、自动化测试类型
测试静态内容
静态内容测试是最简单的测试 , 用于验证静态的、不变的ui元素的存在性 , 例如:
1)每个页面都有预期的页面标题 , 这可以用来验证链接指向一个预期页面;
2)应用程序的主页包含一个应该在页面顶部的图片;
3)网站的每个页面是否包含一个页脚区域来显示公司的联系方式、隐私政策以及商标信息等;
4)每一页的标题文本都使用
标签吗?每个页面是否都有正确的头部文本?你可能需要(也可能不需要)对页面内容进行自动化测试 。 如果你的网页是不易受到影响的 , 则手工对内容进行测试就足够了 。 假设你的应用文件的位置移动了 , 则内容测试就非常有价值 。
测试链接
web站点的一个常见错误为失效的链接或链接指向无效页 。 链接测试涉及各个链接和验证预期的页面是否存在 。 如果静态链接不经常更改 , 则手动测试就足够了 。 但是 , 如果你的网页设计师经常修改链接或者文件不时被重定向 , 则链接测试应该实现自动化 。
功能测试
在你的应用程序中 , 需要测试应用的特定功能 , 需要一些类型的用户输入 , 并返回某种类型的结果 , 通常一个功能测试涉及多个页面 , 一个基于表单的输入页面 , 其中包含若干输入字段 , 提交和取消操作 , 以及一个或多个相应页面 。 用户输入可以通过文本输入域、复选框、下拉列表 , 或任何其他浏览器所支持输入 。
功能测试通常是需要自动化测试的最复杂的测试类型 , 但通常也是最重要的 。 典型的测试是登录 , 注册网站账户用户账户操作、账户设置变化、复杂的数据检索操作等等 。 功能测试通常对应着你的应用程序的描述应用特性或设计的使用场景 。
测试动态元素
通常网页元素都有唯一的标识符 , 用于唯一地定位该网页的元素 。 通常情况下 , 唯一标识符用HTML标记的id属性或name属性来实现 。