小编最近跟一些技术大佬聊到国内软件测试方面的,我把要点整理成文章,分享给大家。
现在国内软件行业90%还是处于手工测试的方式解决功能测试问题,软件测试行业属于低端劳动密集型行业。很多企业会与如中软国际、神州数码等外包公司合作,比如我国最大的软件公司每年需要的外包测试人员就高达26000多人。这无疑会带来很高的成本,对企业的管理能力也提出了更高的要求。
在这种情况下,自动化测试技术可以提供一种更有效、更高效的解决方案,减少劳动力成本,提高企业生产效率,并且可以提高测试质量,减少出现错误的可能性。
一、介绍
1.1、什么是自动化测试技术
自动化测试技术是一种使用软件程序来执行测试,以检查软件的功能、性能和可靠性的技术。它可以减轻人力测试的负担,提高测试的准确性和可重复性,从而提高软件质量。
1.2、痛点
虚竹哥整理的痛点有如下几方面:
- 我的测试工作需要重复校验不同操作系统和不同芯片:从麒麟、统信、凝思到龙芯、兆芯、飞腾;
- 交付环节,测试工作压力大,但还需要整理很多的报告和文档;
- 工作太多,业务相对比较复杂,新加入的同事又无法快速上手测试工作;
- 我不想做功能回归,我只想做产品交付,这样能够更加体现我的价值;
市面上一些自动化测试工具的痛点:
- 录制测试用例,用例完整度低;
- 缺乏自动化工具,学习成本高;
- 回归测试量大,脚本编写维护成本高;
- 用例及报告可读性差;
- 特殊场景无法使用:例如银行账户、软件钱包、用户密码等黑屏录制问题
1.3、几款优秀的自动化测试工具介绍
1.3.1、Selenium
Selenium 是一款自动化测试工具,它可以帮助开发人员自动化地执行web应用程序的测试,以确保应用程序按照预期的方式运行。
Selenium 可以直接在浏览器中运行,支持浏览器包括Google Chrome、Mozilla Firefox、Internet Explorer、Safari和Opera等浏览器。
Selenium可以模拟浏览器活动,如点击、填写表单和检查页面元素。它还可以与测试框架,如JUnit和TestNG,集成,以便在组织和执行测试时提供更多功能。
优势:
Selenium 的优点是它可以跨浏览器,跨操作系统运行;
它的用户界面测试可以很容易地编写和维护;
它可以支持多种语言,包括 Java、C#、Python、Ruby、JavaScript 等;
它可以支持多种测试框架,如 JUnit、TestNG 等;
它可以支持各种浏览器,如 Chrome、Firefox、IE 等;
不足:
Selenium 的主要不足是它不能自动处理动态更新的网页内容,而且只能对网页进行限定性的测试。
学习难度比较高,需要花点时间好好的学学,没法做到立马就能上手,同时很多有用的功能也没有,比如:生成测试报告,并且浏览器兼容问题频发。
1.3.2、龙测AI-TestOps云平台
国内首创成功使用ARM(AI+Robot+Model技术)的TestOps云平台。
龙测AI-TestOps云平台提供了一系列全面的AI算法测试和优化解决方案,可以帮助企业实现AI产品的持续稳定性和可靠性,提高AI系统的性能和用户体验。
利用AI技术来帮助进行UI自动化测试,目前支持windows、Android、web和小程序。
标杆客户:
- 微信:节约原微信测试团队15人/天的人力成本;且已经由微信项目向游戏,语音板块延伸。
- 中国移动:已实现自动化用例覆盖60%以上。
- 等等...
以上数据是龙测官方提供给虚竹哥的。
优势:
借助Selenium和appium的控件定位和OCR、OPENCV的视觉定位来录制UI元素,支持0代码、图形化,比较方便。AI是他们区别于其他家的最大优势,他们有自主AI模型,最新推出的视频AI转流程图,可以让使用者在手机上录制真实步骤后,就能AI转化出对应的测试用例。
不足:
在控件识别上会遇到控件位置变更和控件图案修改的情况,但是借助AI视觉识别能够继续达成想要的效果。同时,龙测的运行速度要稍微慢一点,可能正是因为需要借助AI识别图像的原因。
1.3.3、TestCafe
基于Node.js的端到端Web自动化测试框架,支持TypeScript或JavaScript来编写测试用例-运行用例-生成自动化测试报告。TestCafe兼容Windows、MacOS和Linux系统,同时也支持桌面、移动端浏览器,并且无需安装浏览器对应的WebDriver。
优势:
优点是在于它的易用性和灵活性。它可以节省时间,因为使用它可以自动执行重复的任务,而不需要人工干预。它还支持多种不同的测试框架,从而使开发人员更容易调试应用程序。
不足:
劣势就比较明显了,启动速度慢,开发语言也比较单一。
AI跟自动化测试结合的云平台,会产生什么化学反应,挺好奇的。下面我带大家去感受下龙测AI-TestOps云平台。
二、实操
2.1、主要功能模块介绍
进入平台:
默认显示的是项目管理下,我的所有项目
应用管理:显示所有的应用。
设备管理:包含公有设备和私有设备,有电脑也有手机。
私有设备:
订单可以查看方案信息和设备时长。
个人版功能介绍:
也支持企业版和私有化部署
新建项目:支持多种项目类型:web应用,windows应用,linux应用,macos应用,android应用,IOS应用等。
也能从项目管理中,选择已创建的项目
进入项目内部
项目内部包含仪表盘,用例,测试计划,任务,数据,元素,配置,AI功能模块。
仪表盘:展示当前项目的相关数据统计情况
用例:包含流程图,积木图
任务包含实时任务,定时任务,兼容测试任务
数据包含全局变量和数据驱动表
元素:包含项目下的所有元素
配置:
配置和进行数据库环境配置
AI:录制了个视频,大家可直观感受到AI的魅力。通过视频自动生成流程图。
2.2、实战演练
2.2.1、创建web项目
项目列表会出现“小虚竹测试”项目
点击进入项目详情
2.2.2、录制流程图
选择用例,录制流程图
开始录制第一条测试用例:选择公有设备,选择其中一台设备点击开始录制
开启录制:
保存流程图
2.2.3、创建测试计划任务
选择任务:
选择流程:
选择用例:
选择设备:
任务配置:
任务执行情况:
2.2.4、查看测试报告
查看任务报告:
每一步操作细节都会体现:
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。