1 平台技术特点,千篇一律。不是 flask django 就是 springboot,前端就是 vue。核心东西无非就是 curd。
2 数据驱动千篇一律,无非就是数据库、yml、excel、json 这种格式。
3 自研的平台都是网上权限管理系统然后加几个页面拼凑而成。
4 平台微服务毫无新意,无非就是用 spring cloud 管理。
5 集成 ui 自动化核心就是找元素,现在都双向数据绑定,虚拟的 dom。再怎么找都不能提高效率,还不稳定。
6 接口自动化毫无技术含量,spring 可以测试组件,dao,服务层。颗粒度比你细,你无非就是没界面的黑盒。
7 综上说述平台已经落伍,拿大数据,人工智能,docker,开发和运维的技术套在测试头上。
恭喜楼主,已经看破了本质。
其实《A Tale of Two Cities》撑死了也就 26 个字母组成的,《红楼梦》都是拿一个一个汉字套出来的,毫无新意啊,用了几百年了还是这些东西
demo 从来都不难。
难得是怎么工程化,实际问题怎么选择合适的技术。
少年们,少吹点牛,多动手吧。
那不然呢?
都是 0101,来先拿 01 造个句
用的技术都是时下流行,得到的结果经常千奇百怪。
说的都是大实话,哈哈。
俗话说的好,提出问题和现象并不难,难的是给出解决方案并得以实现。
期待大佬新的解决方案出现
能解决问题就好,何必在乎是否是重复的轮子,纠结于这个的话,你最好自己搞一套编程语言吧
大佬来做一个不一样的啊
同样的内容,换个说法,点赞过千。
《在社区和 github 看了测试平台,总结下涉及的技术栈,为想做平台的人指个路 》
1 平台技术特点:flask django,springboot,前端 vue 居多。平台实现 curd。
2 数据驱动:数据库、yml、excel、json 几种常见格式。
3 一般使用开源权限管理系统追加各自特色的功能页面。
4 平台微服务多用 spring cloud 管理。
5 集成 ui 自动化核心在找元素,双向数据绑定,虚拟的 dom。效率稳定性方面期待更好的方案提高。
6 接口自动化目前处于简单阶段,建议引入 spring 的组件测试,dao,服务层,包装起来方便黑盒操作。
7 综上说述平台任重道远如何能善加利用人工智能,大数据等技术破局!@#¥%……&()(&……&%¥@#!
编不下去了。
都是吹 BB,重点还是要能落地,真正某个技术,不管平台,框架还是什么?能落地,提高测试效率和保证测试质量最重要,你以为你大数据什么技术就有用,少年,还年轻着啊~一个简单场景,吃饭,还要大数据,AI? AI 数据驱动是没有问题,但在于落地,别拿没落地的技术,来 BB,这样 会遭人烦
楼主很有想法
感觉楼主说的没啥问题啊
吐槽当然谁都可以吐槽,但,你的作品呢?拿出来溜溜
我就不一样,我后端用 struts2,前端用 jsp。
没办法为了更好的业绩产出为了提升逼格,” 拿大数据,人工智能,docker,开发和运维的技术套在测试头上 “~
不是 flask django 就是 springboot,前端就是 vue。核心东西无非就是 curd --- 这些东西楼主都精通了?
回这个贴,是为了稍微顶下楼主,看到大家都在笑楼主。我想的是,大部分人,包括我自己,其实都是不(或者说还没到达)具备创新或者整合能力的测试,心里的想法其实也和楼主一样。
不过还是要学会欣赏别人的作品。也要多练手,熟练可以让你让你成为匠,想要成为大师,估计比较难,那就欣赏大师的作品。
我也支持楼主,不过我有另一层理解:楼主似乎在说,这些技术都不是测试的核心技术
比如你做一个接口测试平台,拿个阿猫阿狗都会的 django/flask+vue+iview 啥的,除了学会构建一个 web 的 demo 根本不构成任何能力
关键的是如何打通关键的相干性技术:如何支持多种协议、如何支持多种格式的请求报文和返回,如何构建与之匹配的多层 mock 服务,等等……
这些东西很单薄,别人写个 httpclient 你就包一层,甚至连二次封装可能都没做过,也没考虑过是否基于 rest-assured 会更合适,流于 CRUD 的确很可悲。
我在别的帖子里也提过,github 上那么多开源的 XX 平台,9 成 9 我看了代码都没有 fork 的欲望……没有经过设计,没有扩展性,看起来比我的代码还烂,既然这样,还不如自己先凑合一下
总结一下:开源 XX 平台烂大街,没有形成合力,没有技术指导,不知道黄老板的学院有没有兴趣组织整合一下,搞两个在国际上能拿得出手的框架、工具、平台~
其实大部分的 app,网站,后台服务等等,也就是这些吧
每个人的需求和环境是不一样的,自己造的都不一定合适,更不要谈别人的轮子一定要合适了。
能结合自己环境,考虑清楚想要什么,用什么技术,什么框架,什么语言也都是次要的。
看楼主也是有思想,动手能较强的了,期待你对社区的回馈。
想到吴冠中大师的一句话:你一定要穿着大师的拖鞋走一走,然后把拖鞋扔了,在穿和脱的过程中,你就会找到自己。我就是这么走过来的。哪吒太子析骨还父、析肉还母,方有自我,信然!
额外回复下楼主
1 平台技术特点,千篇一律。不是 flask django 就是 springboot,前端就是 vue。核心东西无非就是 curd。
2 数据驱动千篇一律,无非就是数据库、yml、excel、json 这种格式。
3 自研的平台都是网上权限管理系统然后加几个页面拼凑而成。
4 平台微服务毫无新意,无非就是用 spring cloud 管理。
对的,一两年开发经验的开发工程师就可以搞定,这块属于通用编程技能。有人做就可以了,不需要每个测试工程师都精通。测试部门也可以招聘研发去做。因为很多测试领导的确看不清测试平台和测试核心价值的区别,导致很多人重表面、轻内功。不过我相信随着时间的发展,各家公司肯定是可以认识到问题的,做一个 sdk+ 开源数据分析平台的价值是超越自己去搞 web 开发的。所以我们学院的测试开发课程并没有把 web 开发吸纳进正式课程。而且做平台的人,如果不及时转型提升测试内功,他们自己也会遇到瓶颈,我之前已经接到好几个专门做测试平台的测试开发工程师的咨询了,我也是建议他们不要把平台开发当成自己的核心价值。
在没有 Jenkins 的时候,很多公司都在搞,Jenkins 一出大多数的自建平台就被淘汰了,同样的道理现在各家公司都在搞,无非就是还没有标准平台,如果有了标准的开源平台,各种自建平台很快就会沉寂。但是目前没有,所以也就造就了一定的商业机会,很多公司、个人在打造测试平台、做测试平台开发培训甚至为这个出书的人都有。当然这些所谓的 “开源平台”,几乎都是千篇一律的,代码烂、维护差。而且随着开源项目的流行,很多商业机构也在打着开源的旗号去赚眼球,所以也有不少项目都是假开源。
虽然列举了上诉缺点和乱象,但我仍然支持这种行为,重复造轮子还是有必要的,他的价值体现在如下几点
所以行业乱象值得吐槽,但是这是发展必经阶段,如果遇到好的开源平台,我还是建议社区收录到 TTF 进行孵化支持。我给个人的建议就是,别人折腾就让他折腾,你要预判到下一个阶段,提前布局提升自己的价值。随着测试开发的业务越来越多,很多有挑战的事情都可以搞的,让别人走走弯路也是可以的,这本身也是给你提供一个超越别人的好窗口机会。
5 集成 ui 自动化核心就是找元素,现在都双向数据绑定,虚拟的 dom。再怎么找都不能提高效率,还不稳定。
6 接口自动化毫无技术含量,spring 可以测试组件,dao,服务层。颗粒度比你细,你无非就是没界面的黑盒。
7 综上说述平台已经落伍,拿大数据,人工智能,docker,开发和运维的技术套在测试头上。
这块就有问题了,你对测试理解的还是太少,比如
虚拟 dom 如何提高可测性,有没有办法脱离已有的体系增加新的定位符,比如根据数据定位,而不是传统的定位符?不要被 webdriver 的那套标准限制你的想象力和执行力。接口自动化本来就是黑盒测试,与 ui 一样只不过是驱动业务执行的一个层面而已,组件级别、方法级别的确有更多的办法,抛开这些表象,既然这些体系都是黑盒测试,是否可以用统一的业务用例形态去描述,你的接口自动化测试用例是否可以不用写,直接利用已有的监控和建模数据生成,根据研发的行为和代码直接生成接口测试用例? 你的接口测试用例断言是否可以用更智能的验证方式,比如基于机器学习与新老版本的 diff。你是否把函数级别的入参、返回值做了存储分析建立 bug 规则档案等等,改进的方向还是很多的。
大数据、人工智能、docker 是通用知识不假,你可以理解这些都不过是类似编程语言的升级,既然有了新版本的技术,自然是想办法把技术用于生产力了,虽然用老版本也可以工作,但是新版本用起来就是生产力提升,新的生产力必然就可以淘汰落后生产力了。测试行业从人工升级到了自动化、智能化,这是一个标准的不可逆的行业演进过程,这就相当于是人类从冷兵器进入到了热兵器,为什么中国最早发明了火药,却被全世界那些后发现的民族用火药按在地上摩擦,就是因为当时的人们觉得这个东西不重要只适合用来做鞭炮。
大数据很重要,最近好多家公司都在招聘大数据测试工程师,随着 AI、大数据的崛起,很多算法会被引入,很多公司的营收,比如电商推荐广告、外卖物流的路径规划和销售数据预测,如果准确度能提高几个百分点,公司的营收就可以提高很多的,这营收随便就是百亿的规模,而大数据处理的正确性,目前为止一直是难题,所以这块是有机遇的。
人工智能也很重要,只是目前的人工智能都被用于图像识别了,导致很多人认为这玩意不就是类似鞭炮一样的小用途嘛,其实这只不过是测试圈把人工智能用错了,等正确的用途被发明后,人工智能就是大炮了。正确的人工智能用法是什么,就需要大家去探索了,至少我就发现有一类人工智能技术是可以很好的解决测试建模问题的。
再说 docker,这玩意直接推动了持续交付、devops 的进度,把原来还可以苟延残喘的瀑布流模式直接秒成渣了,因为持续集成 devops 的发展,又催生了测试开发的发展,为了流水线交付,自动化测试、测试左移、测试右移都变的更迫切,精准化测试、质量监控等体系也应运而生。而这一切加速的推手其实就源自这小小的 docker,这就是一个很典型的蝴蝶响应。2013 年的 docker 诞生,促进了持续交付与 devops 的发展,又促进了测试开发的发展,并导致了如今数十万不懂技术的测试工程师被外包、被淘汰。我最近跟拉勾合作,他们告诉我一个数据,测试行业的职位需求下降、投递不通过率在飙升,企业招聘成本也在增加。
所以很多技术的应用,不是简单的用 “把技术套在测试上” 就可以总结的,这里面的确有很大的价值,也有很大的坑。用对还是用错,还是看人。不要被错误的乱象干扰自己,从自己的公司出发,做好最务实的改进就可以。至于那些乱象,他们碰到头破血流之后,应该也能找到正确的路,磨练对他们来说也是一种好事。
保持正能量,测试大有可为,从乱象中吸收好的经验,提升自己就好。
讨论了这么多 我觉得关键一条 这是测试不是测试工程师这个完全不等同的 现有测试工程师如果不升级 路越来越窄 如果一个团队四个人三个开发 一个测试 那么测试的工作可以悄无声息的可以被三个开发人员平分 说到底那些价值可以不容易呗替代
仔细看了楼上思寒大佬和楼主的对答,没有对错,只有说看测试行业的方向和高度不同而已。
从测试开发工程师一线的角度看,包括几个大厂,因为自己也经历过大厂,其实做的那些开源产品,万变不离其中,UI、接口搞去搞来也就那么一回事,包括支付宝、网易等大厂开源的框架也是这样,至今还没看到一个真正 AI 测试落地很好的开源例子,当然这是一个慢慢来的过程,另一方面,从开源框架可以发现越来越多的测试工程师更专注测试工具开发、测试平台、测试流程统一、质量体系建设,全过程质量把控,我觉得是很好的事情,这是一个非常好的进步,当然越来越多的点点点会被淘汰,被外包,业务测试的地位在越来越低,这也是软件测试行业发展的过程。
综上,楼主说的是事实不假,的确我们在造轮子,但是,测试工作本身就是在基于业务造轮子,让业务跑的更好,这个初衷还是没变的;思寒大佬从行业发展和当下最火的 AI,大数据,智能测试方向谈到了测试未来的发展也存在 “危机”,因为 Devops 的成熟度会大大降低功能 QA 的依赖,我们应该有这种意识了,并且不断提升自己去拥抱变化。
讲真,开源工具还能要求这么苛刻吗
最重要的还是自动化的思想,和高可用性
说的很好 很多都是把开源的东西集成了一块就敢叫平台。很多人做这个的初心并不是为了推广,更多是为了 kpi,为了领导的要求,后期推广的怎么样,多少人在用,提升了多少效率就不管了。测试平台永远是整个研发体系中的一环,有价值的平台肯定是打通了上下游的,从需求管理、交付物管理到用例设计、用例评审、环境部署、测试执行、进度跟踪、结果反馈、上线发布各个环境都是能连贯起来。所谓的 UI 自动化、接口自动化等等 只是整个体系中一小部分
工具是千篇一律,但令工具产生价值却不是容易的事。我觉得我们需要做的就是先足够熟悉各种工具,然后重点是在团队中运用并产生价值。
你接触过很多工具不代表你能熟练运用其中一个,你能熟练运用一个不代表你能很好的运用到目前的团队中,能运用到团队中也有程度的区别。
我们的愿景是选用一个最适合自己团队的工具,并能很好的运用起来。
感觉这就很难呀。。。
需要把工具放到工程化中来看 且被使用才能产生价值 ,只是为了 KPI 的工具 确实没什么用 ,当然做一个工具提升一下编码能力也是 OK 的 ,有些人呢做一个 demo 就当时面试时的谈资了 有点可笑