你问的这俩我也不知道。。。。
这也可以? 只要有人攻击我那就是我有错在先的证据?
那么请指出我哪句话在抨击这里面讨论的人了? 我以后改正
我的留言中没有针对留言的任何人, 我从来没有用过你这个人怎么样怎么样的字眼。 我一直在说的是某种观点,也在反对另一种观点。不涉及人身攻击这是讨论的最起码常识。 我们在公司开会的时候有时候也会吵的很凶,但反对的都是某种观点,对事不对人。 我觉得这是在平等讨论一件事的基本条件。 不怕大家情绪激动,意见不同情绪激动很正常,不能什么时候都求一个一派和和气气的。但如果某件事情上一旦上升到人身攻击了, 那这个事就没法谈了。 纵观整个留言讨论, 我一直在抨击某一个观点。 讨论技术和思想。 而我得到的是针对我个人的抨击而不是针对我的观点的抨击。 所以我觉得这个讨论已经没什么意义了
既然在这事已经涉及到了对我的人身攻击,那我就不回复了,我没时间打无意义的口水战。 让时间来证明谁是对的。 大家不是瞎子也都看的清楚,这场讨论中到底是谁在讨论思想和技术,谁在一直喷人。 @seveniruby 你说的对,我是不该趟这趟浑水
可能你理解错我反对的人和点了。 我的发言不是对楼主说的。 而是评论中崇尚培养测试思维,忽视技术重要性的留言。就如我所表达的,没有实践和技术底蕴,光凭臆想只能想出来一些假大空的东西出来,不具备多少价值。 而前辈的经验也是几乎以肉眼可见的速度过时着。就像我举的例子,李小龙在电影中是阐述过他的截拳道的武学思想的,但这建立在他对各种现代武学的大量的精深的实践的基础上。如果我们想引入一种新的技术或者思路来保证产品质量,那就只有自己做过,起码是自己亲身经历过才知道它的思想,有多少优势,有多少坑,什么场景适合什么场景不适合。这就是我说的软件行业是需要开疆拓土的,而开疆拓土的工具就是技术。 一种好的新技术或者新工具的出现往往就代表行业中的一次革命。例数之前出现过的技术,不管是 QTP,LR,Jmeter,tcp copy, mock, selenium, tcp copy 还是偏运维的 Docker,k8s,ELK,jenkins。它们出现以后才有了行业中的各种体系,各种思想。 所以我觉得现在很多人声称的思想其实不是什么思想,都是他们看到的,听到的,意淫的。 就像我当初刚开始搞 docker 和 k8s 的时候,有些自觉很有思想的人站出来反对,认为我走偏了,跑运维那边去了,走上了唯技术论的道路。 但是现在 docker 和 k8s 对于质量体系的意义有目共睹,那么事实是到底谁更没有思想呢?
我没有反对楼主的帖子,只是反对评论中如此看清技术,并且将技术和思想的关系搞乱的留言。 思想也是重要的这个我不反对,但思想是基于技术的, 对于留言中招聘的对只有技术没有思想的人的鄙视和只有思维没有技术的人的太高我十分的不赞同。 尤其是没有技术的话我基本觉得也不会有太好的思想。有些时候我们只是想的太多,做的太少。 空谈误国。
@fudax 表激动,我们心平气和的聊一聊这个问题。
这是一个先有鸡还是先有蛋的问题, 先有技术能力,还是先有测试思维。我想你的路子有点是像天龙八部中的王语嫣一样, 她可谓是通晓天下武学了。虽然她手无缚鸡之力,但是像段誉和慕容复这种大高手也要听从她的指点,慕容复练打狗棒的时候就是她教的。 但我想说在不练一招一式,只靠听和看的情况下通晓天下武学也就是在小说里能出现了,当不得真。 我们再说现实中的事,在功夫圈里,名留史册的一代宗师没有哪一个是耍嘴皮子的。 李小龙在创立截拳道之前,先是把咏春练到了极致,后来借鉴了大量的现代武学路数,不停的实践,试错,总结。在他妻子的回忆录里曾说道: 曾经有个高手来挑战他,他比完武后很失落,因为他觉得他没有在 2 分钟 (还是 20 秒来着,时间太久了不记得了) 内打倒对方,之后他不停的训练 (他有个很危险的过电训练法),不停的研究各种武学的精髓。最后创出了截拳道。在一部他的电影中李小龙曾解释过截拳道的思想。 我觉得这个思想放到我们这里来说就是测试思想了。 这是贯穿截拳道的精髓,是他创出截拳道的根源。 但这一切都是建立在他对各种现代武学的大量实践和研究上。 而不是一上来就向各种大师们请教武学思维。 而我想说的也是这样,专属于一个人的测试体系,也是测试思想一定也自己实践出来的,踩坑出来的,最后形成一套属于自己的测试体系。 而不是靠看的,靠听的,靠臆想的。即便是现在你特别推崇的测试思想,也是前人在当时的大环境下,不断的实践并总结出来的。而软件这个行业的变化之快令人瞠目结舌,前人的经验不断的在过时。我们只有身在一线不停的实践才能跟得上脚步。所以只有一直在一线探索和实践,积累了一定的经验。才能升华到测试思想这个高度。也才能爬到能对测试策略做决定的职位上。
所以,一定是先锻炼技术,后升华测试理念。起码目前的现状是这样的。
可能有些同学会说我一直在一线做测试,那些技术人员搞的东西我都看过,他们开发出来的工具我也都用过。 什么性能,自动化,监控的我都玩过,没玩过的也见过别人玩,不就那么回事么。我不用去实际做技术也能建立起我的测试体系来。如果让我当领导我就会怎样怎样怎样的。 这样的人就是我们常说的打嘴炮的。 我经常能看到嘴里突突突个不停的人讲述自己的测试理念。 但你一旦问怎么实行的时候他就蔫了。我就见过一个 7 年的百度的候选人, 什么监控,tcp copy, docker, mesos。说的天花乱坠,测试流程和策略也说的有板有眼的。 但其实没有一个是他做的,我发现他来了以后除了做手动测试也干不了啥了,真正的技术能力可能写个 UI 自动化也就到头了。 我问他你说了这么多,那倒我们这来你打算怎么搞你说的这些体系。 他竟然说我招人干,我管他们就行了。 所以你看这些人就是打嘴炮的。嘴上说的头头是道的,但是你把他招过来以后,发现他什么也干不了。 他只能在既有的已经存在的完善的体系下搞他说的这些。 也就是俗称的只能坐享其成不能开疆拓土。
上面这些人永远是让自己对标测试总监这个职位的,把自己放在特别高的高度上,觉得自己有了这些所谓的测试思想就可以做高管了,标榜着写代码的人是最低级的。而可惜的是他们自己却没有一个总监该有的人脉和领导力。 如果你有过人的领导能力,有大把的人脉和资源,例如你可以随时拉一票技术高手为你卖命,那么即使你一行代码都没写过,也一样可以做测试总监,甚至你跑去做 CTO 做 CEO 都行。这个 level 的人跟测试思想无关,他们的成功不是因为测试思想,这点要搞明白。 那么如果你不是这样的人,那就做好靠自己的心里准备,因为你没人脉,人才不是你想招就能招的。招不来怎么办?自己搞, 招来的人技术不好,干不了这活怎么办? 你得教。招来的人技术不错但是经验欠缺怎么办? 你得引导他,带他绕过那些坑。 什么? 你不愿意这么搞?你是测试总监写代码多掉分。 确实我见过不少这么想的。 他们的结局是一家一家不停的跳槽, 为什么?他们没有人脉和资源,也就是不能迅速的拉起一个靠谱的班底。 空有想做的事情一大堆,但偏偏就是没人帮他干。天天嘴里讲着各种高大上的架构,但就是实施不出来。 就像第二点说的,做过和看过是有区别的。尤其是测试行业里技术好的太少了,指望着什么事都让小弟帮你干除非你有得天独厚的资源和平台。否则大多数还是要靠自己。
这个问题就跟前段时间吵的特别火的架构师要不要懂代码的问题一样, 总有一些人不肯承认自己写代码就是不行,就拿这种蠢问题说事。也许有些架构师确实不用怎么写代码了, 但你以为他以前不写代码的话是怎么爬上这个位置的。 架构方案全靠抄? 还是靠意淫? 还是靠听别人说? 同理的你觉得你看过这些东西在一家公司里怎么玩的了就以为自己会了么? 那些真正做过的人踩了多少坑你知道么? 为什么选用这种方案你知道么? 说实话我呆过的公司也不少了, 还真没见过一个不会写代码的架构师。 所以我觉得起码现阶段下大家不要做梦了,觉得不用好好钻研技术就可以在测试这条路上走很远。 远了不说,我们看看阿里的测试里,除了老资格的,有几个技术不好的 P7?技术不好的大多数都卡在 p5,p6 上了。7,8 年甚至 10 年经验的人还卡在 p6 上的也大有人在。我呆过的公司里,招聘的时候都是挑技术好的。因为技术不好的来了干不了活,我们公司最近再联系外包公司,把技术含量低的一部分外包出去。 而且我也举个例子吧,思寒说的监控也好,hook 也好我不重复说了。 就说我再公司里,用 docker 和 k8s 搭建容器私有云平台的事情。除了 docker 和 k8s 之外还用了 pytthon 写 api 层, angular2 写前端,测试代码用 java 写。 所有测试环境测试服务全部容器化跑在 k8s 里,不说别的,做 hadoop 集群兼容性测试的时候,一键生成 N 个不同的测试环境对接不同的 hadoop 集群并跑自动化测试。以前手动操作一周才搞定的活现在只要一天。这还是我们集群资源有限,跑自动化慢的原因。 所以我要招人接我的班的话我是招那些一嘴的测试思想的还是招技术好的? 所以这就是现实,现实是技术好的人更能给团队带来质的变化。这一套小的体系下来光编程语言就涉及了 3 种。这些事根本不是毕业 1,2 年的人能 hold 的住的,也不是空有测试思想的人能做的。 所以不要做梦了,这种梦很美好,很轻松,因为不用苦哈哈的搞技术了,随便动动嘴皮子,管管人多轻松。这梦我也做过,可惜那只是梦,梦总有醒的一天。
@seveniruby 这个不是针对楼主的我就发吧。 毕竟@fudax 跟我没啥过节。
就好像武术圈子里,传武大师们整天嘲笑专业运动员。 结果前阵子大师在一位 2,3 线的业余搏击运动员手上只坚持了几秒就倒地不起了。
可能我语文水平实在是不咋地。 我没太看明白。 首先既然已经前后端分离了,为什么不用 vue,react 或者 angular2 呢?这些前端框架里有大把的数据绑定机制辅助你做页面动态展示。 我个人用的是 angular2,非常好用。 还有轮询为什么不用 setInterval,页面销毁的时候直接 clearInterval 就好了, 搞 setTimeout 是为什么呢,我没搞懂。 一般的 task 类任务都是后端异步处理,前端动态轮询。 api 层 sleep 3 秒是为啥。。。 我实在是没太看懂。。。 我自己用 angular2 做前端 flask 做 api 层的时候这种问题都不是问题啊。。。为啥你要搞这么复杂
牛逼,有时间实践一下。之前搞 k8s 的时候就听说 rancher 在做容器平台, 之后有机会我也研究一下能不能跟 k8s 结合起来
我发表一下态度吧,利益相关:我在第四范式工作,公司主营业务就是人工智能,我的工作是测试我司的机器学习平台。
其实开不开我觉得都行,开了大家一起学习讨论挺好的。暂时不开呢也有道理, 因为现在拿人工智能做测试当做噱头的骗子实在不少。 现在知乎上,gitchat 上等各种知识变现平台上凡是跟人工智能测试挂钩的都是骗子。 都是看了几天入门课程就跑出来忽悠人的。目前人工智能在测试领域的应用可以说是凤毛菱角,场景十分的受限。 只能做比较简单的分类场景。 例如照相机的美颜,滤镜功能。 用模型区分是否加了效果。 又或者说十分简单的小游戏,简单到可能像天天酷跑的操作一样只有 1,2 个跳跃的简单操作。 那么也可以让模型自动判断要执行的操作。 即便是这么简单的操作,但是能解放的人力程度依然是有限的。例如说前者如果我们做测试的时候每次拍的图片都是一样的,我们大可以使用一些图片对比库来做校验,犯不着上人工智能。如果要测试更复杂的场景,例如各种角度和背景的自拍,那么依然少不了人来去拍照。而且模型只能判断是不是加了效果。 但是效果加的如何,仍然要用人的审美观点来判断。 对于后者呢,效果好一些,首先这种自动执行游戏按键的场景是无法验证功能的,只能是运行过程中上监控判断异常和性能等, 当然了达到这个目的也是不错的了。 但是为了上人工智能而要做的准备工作很多的。首先数据的收集, 我们都知道数据越多越真实模型效果越好。 但是这个数据从哪来? 现在拥有人工智能服务的大公司哪个不是费尽九牛二虎之力做数据采集。 那么问题来了谁给你测试这边费劲做数据采集系统? 能想象到的就是人工来做, 那么你要收集那么多数据有多少成本? 数据少了 AUC 上不去,正确率上不去,你怎么办。 再一个是数据一定要是稳定的,也就是你应用的场景要是稳定的。 别一次迭代过去了数据来了个大变样,那你觉得你的模型还有用了么? 那就要重新采集数据重新建模。 就现在软件都走敏捷的套路来,维护模型都累死你。 你看那些公司做人工智能服务,他们用来建模的场景肯定是稳定的,数据是不会三天两头就大变样的。用脚趾头想一下,要是围棋规则三天两头变一次,阿尔法狗早就被人类给虐的死死的了。
最后总结一下, 人工智能在测试领域的应用在未来肯定是有的,但是现在还太早了。大家学习一下了解一下就可以了。 不要把它当做救命稻草。觉得学了就能赶上下一个风口走上人生巅峰了。人类的科技进步是有规律的,一个事情一定是所有人才先不计成本的实现之后, 才开始慢慢的降低成本并扩展到其他领域。 现在优秀的人工智能领域的人才都在学术领域或者在各个公司为其创造商业价值。 等他们能腾出手来辐射测试领域那就不知道能等到什么时候了。再说一下人工智能也不是能速成的,不要妄想随便培训一下,看一下教程就完事了。随便用 python 里的机器学习库写点程序训练出个模型这谁都会,我们部门里基本上是个写代码的就能在 1 小时之内学会。 但是这又有什么卵用~~, 训练出的模型跟屎一样。 想训练出好的模型,不仅要懂调参,还要懂数据统计与处理,要懂业务,要懂很多。曾经有好几个来面试的候选人跟我说他熟悉机器学习的各种应用,但基本上都过不了我的第一个问题就跪了。曾经有个大厂的 QA 跟我吹牛说自己用深度学习干了什么什么事,然后我就直接问一句,你每一层用的激活函数是什么,激活函数有什么用,他就蒙了,他都不知道激活函数是啥。 甚至有个哥们更离谱,吹了一通牛,我就问了一句什么是监督学习,他都答不上来。 迄今为止,来我这面试说自己会机器学习的 QA,能撑过一个问题的只有一个,撑过两个问题的一个都没有。 所以各位,不要让满嘴喷粪的骗子们给骗了,那些骗子们也请别打着人工智能的旗号到处忽悠人了。
不要互相伤害了~~ 带节奏是不对滴~~
其实开发任务都是测试这边自己想出来的,这个挺正常的。 要是等着别人告诉你做什么那么你的测开之路就基本到头了。复制其他公司的成功案例也是不智的行为。因为每个公司的情况不一样,需要的东西也就不一样。就算是需要同样的东西,但因为产品的特点,公司制度的特点等最后做出来的东西也很可能相差的很多。 做测开就要自己想需求,根据项目特点开发出提升效率的东西,不停的精益求精。 其实可以做的东西非常, 偏测试本身方向的可以开发各种测试框架和工具,偏开发方向的可以开发各种跨部门协作软件,偏 testops 方向的可以玩 Jenkins,docker 和 k8s,把 CI,CD,整个公司内部的容器生态搭建起来。当然你也可以跟我一样全搞,但就是非常耗经历了。 如果你还是很迷茫的话建议去搞 docker 和 k8s。这个在未来的 5 年内肯定都是主流,未来会有很多的偏运维方向的测开职位需求的。现在的 docker 生态已经很普及了,很多公司都在用。我在公司内搭建了一个 k8s 集群, 我们所有的测试环境,测试服务,测试平台等都是运行在这个集群上的。有了 docker 以后你会发现你做什么都很方便,现在 docker 已经变成了我们这边测试技术栈的根基了。
额,好久不写了。
走的比较急没有问~, 看网络攻防比赛的时候就比较好奇了。 上面的系统会显示每个团队的进度和分数,谁正在攻击谁的。弄的跟拍电影似的
恩,我学这些也是为了能测试
不是~ 讲浅层神经网络。 我没怎么研究过非监督学习。 就先不讲了
额,慢慢等吧。我讲完原理以后就会讲测试了。 在之后的帖子里
如果只是调用调用 API 或者调调参数做做测试什么的。其实不用数学有多好,算法都有框架实现了, 懂原理是为了能测试或者能用。 我数学可垃圾呢,也是照学不误~~
有 jenkins 就掉 jenkins 的 API 集成就行了。 应该不难的
针对这种情况我们是专门做的 migration 测试,我在上上家公司的时候,开发会专门研发出版本升级时的 migration 程序。而我们会有一个专门的拥有数据的环境进行测试 (环境部分我不太清楚,是美国那边的人搞得,据说是他们做的数据快照)。 而我现在的公司的做法比较类似,我们在不同客户那的版本是不同的 (TO B 业务),而客户那时常会有版本升级的需求。 所以如果新版本数据库的变动和 hadoop 的更改不兼容老版本的话,就要在升级工具中引入 migration(刷数据)。所以开发那边专门做了升级框架,每个版本都有对应的升级到下一个版本的机制。 而相应的,测试这边就要对每个版本进行升级测试。 方法很暴力,因为我们是用 docker+k8s 部署的测试环境,所以每个版本的镜像我都存到镜像仓库里了。 我可以随时部署任何版本的全套环境。 部署完旧版本环境后开始跑自动化 (全量的,能造多少数据就造多少)。跑完自动化后开始升级,升级后继续跑自动化 (同样的 case,还是全量的),然后配合手动的方式上去验证老数据是否正常,老任务是否能够重新运行等等,反正就是验证升级并没有影响老的数据。 验证完升级以后接着验证降级,套路都差不多。 这是我们 TO B 业务的玩法
这个问题在我们这还真有段历史了。 过程不表了, 直接说我们的方案吧。 我们测试环境和线上 SAAS 都是用 docker+k8s 部署的,所以直接解决了环境不同的问题,开发,测试,线上用的都是一个镜像。 对于客户方的私有云部署, 我们有专门的部署测试。
三线城市蛮尴尬的。注定了软件行业在这种城市中是疲软状态的。 我老家在哈尔滨,刚毕业的时候我在招聘网站上搜老家的职位的时候。我就找不到专门招软件测试的。老家软件培训业不少。 但是专门做软件的出名一点的也就神州吧。 国企之类的我同学进了移动做开发。总之我毕业那两年的时候再老家基本上就看不到啥希望。不想混日子,就来北京了。
多线程的东西我都忘光了。。。。几年前还专门学习过一阵但一不用没多久就忘了。。。。。
不是顺序执行,就是并行的