《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?

本文作者 | Vincent老师

Senior Fullstack Engineer,在FLAG一线大公司拥有多年的面试经验。

来Offer全栈开发项目实践课的主讲老师,帮助上千名同学修改简历、辅导面试。

Vincent老师最喜欢的美剧《西部世界》第二季终于开播了!

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第1张图片

集合了“人工智能主题公园、机器人暴乱革命、美国西部虚拟世界”等元素,这部HBO寄以厚望的未来台柱剧,在第二季开播当天,收视人数就达210万。

《西部世界》中的仿人类智能机器人

《西部世界》中,人类游客对机器人肆意妄为

就我自己的观感体验来说,第二季承袭了第一季的调性,依旧保持着紧张与神秘的荒野气息:血腥的印第安式割头皮、无下限的暴露镜头、行云流水的双主线走法……(好了不能再说了,否则有同学要抱怨我剧透了)

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第2张图片

《西部世界》第二季,智能机器人屠杀人类

那么在观影之余,想必很多同学也会随着剧情展开联想和疑问:

在未来,仿真机器人真的会被IT公司制造出来吗?这些机器人会暴乱吗?

为了避免这些可怕问题的发生,我们就要来谈一下QA(质量保障),也就是Quality Assurance的重要性了。

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第3张图片

《西部世界》中负责机器人维护的程序师

如果曾在学校里做过软件开发项目的同学,都应该有个这样的经历:对于自己开发的一个小程序,可能只要能够跑通一次就提交了事了。

如果西部世界里边的机器人是通过这样的代码跑出来的,当然会发生无人预知的可怕后果。

《西部世界》中一个智能机器人的觉醒

实际上在工业界,开发代码的流程可不像学校里学的那样。

通常,IT公司为了保证自己制造出的的产品正确运作并且稳定持续运行,他们的产品都得通过重重考核通过QA的三道关


第1关

- Unit Test -

Unit Test 又称单元测试。一个PR (Page Review) 要能够进入系统的代码库(repository)的第一关就是Unit Test。

顾名思义,Unit Test就是测试单个对象的某个单一功能是否完善。

举个例子来说,如果你开发了一个除法程序,那么就要测试除0、除单、除双等常见情况。

在西部世界当中,我们有时候也会看到工程师在测试一些简单的行为,比如要求机器人走路、坐下也是属于Unit Test的范畴。

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第4张图片

《西部世界》中测试管理机器人的界面


第2关

- Integration Test -

Integration Test又称集成测试。

与Unit Test的差别在于,Integration Test一般会测试一连串的单元,而也唯有所有功能都完成才算完成。

一般常见的Integration Test是对一整个Service进行测试。

比如说Facebook要Load你的主页是否各项内容都有,而背后可能涉及到的是不止一个功能单元。

在西部世界当中,我们看到有时候机器人会被要求完成一个比较复杂的动作,如酒馆决斗、陪客人聊天等等,这个也是属于Integration Test的范畴。

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第5张图片

《西部世界》中人类在给机器人设置台词


第3关

- QA -

这里的QA我们一般指的就是QA这个测试的人员或者团队。

和《西部世界》中不一样,在IT公司当中实际上QA权利是很大的,如果不能够通过QA的测试,他们是可以否决你的Feature release的。

QA权利那么大,为了保证QA能够“铁面无私”、不受偏见地测试某一组程序员的Feature,QA一般都由来自其它不同组的人担任。

只有这样,才能够达到最大限度的查找Bug。

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第6张图片

《西部世界》中智能机器人讽刺人类的代码

而且QA做测试和Unit Test是不一样的,他们会想尽办法去break你的代码,用各种crack去查找你的程序是否robust。

很多时候QA给你的反馈会让你大为吃惊,比如说在Android某个特定版本下、在某个低速网络环境下你的页面loading会出现紊乱等等非常细枝末节的bug。

《西部世界》会成真吗? 人类如何避免被机器人干掉的未来?_第7张图片

除此之外,IT公司还会有很多机制,比如Monitoring的系统(比如StackDriver)、Alerting的系统(比如Logstash、Kibana)等来实时监督整个产品的运行情况,避免事态失控到了不可挽回的余地。

实际上大部分情况下,IT公司都是能够发现一些比较明显的Bug的。因此,有了QA,也许《西部世界》中机器人反抗人类的的未来,很难变成现实。




更多科技求职资讯,请关注“来Offer”


你可能感兴趣的:(求职面试,人工智能,业界趣闻,编程学习,程序人生)