幸好,我所在的组没有其他人报名参加这次 2011 淘宝技术嘉年华 的活动,否则,从经济的角度来说,以我女生尴尬的身份,估计是很难被批准的。
这次的技术嘉年华,把之前单独举行已在业界较出名的 D2, idataforum 集合到一块儿,再加上还有后面推出的不需报名的 淘宝技术专场,Node 沙龙,圆桌会议 ......等等可以说在那两天会前会后,莫干山路上见到的来来往往的行人,都是来参加这次会议的。之下就大概记录下参加的两天的会议行程。
7 月 9 日 TCon 分会场
之前,有看到公告说是 8 点开始签到, 因为一些耽搁,等我 8:45 匆匆忙忙到达会场的时候,见里面寥寥几人, 都在低头翻着签到时所发的资料。 这有点让我惊讶,不致这么少吧。后面,陆陆续续的人进来,终至满场后旁边还零零散散的站着好些。原来,是大家到得较晚而已。(会后,从围脖上得知,里面还是有些打酱油的,因为隔壁 淘宝技术专场爆场,好多后面赶过去的同学无法挤入会场,不得不转战我们这边)。
上午是主会场,9:45 时才开始,先淘宝网的 张建锋/行癫 致辞,很简短, 但有提出测试中的一些问题,如:测试行业平台化和自动化的挑战;测试人员安排;测试与开发流程的关系;保证研发效率和产品质量是测试的目的等。
之后,是淘宝的 夏林娜/郭芙 做介绍,主题是《 Testing Business in Taobao》 。她提出测试有 『器』,『术』,『道』 (其实,我很期望她能对这三个做些具体的解析)。之后,用一登录的界面做示例,为了增加与听众的互动,于是提问,『谁能说说这一登录界面需要做哪些方面的测试?』。但效果甚微,因为回答的同学有些紧张,只说需要做 UI 方面,然后 SQL 注入等等的测试。这样一来,加上 她本身好像也有点紧张?,话题一下扩散,等再回来,总感觉不在状态。
slides 很少,但其中 这一张图(图 1),让我印象深刻,因为之前我并不是测试人员,甚至,连边都挨不上。而这张图,让我对所需要做的测试内容,有了一大概的轮廓。
图1
部分提问整理:
Q: 淘宝安全方面是怎样测试的?
A: 基本的安全方面的测试,有一扫描工具 STC (Security Test Center)。
Q: 做白盒?
A: 白盒测试。
Q 在代码更新时,这个工具什么时候开始检测, 是 STC 也管理代码?
A: 是手工将更新的代码的 SVN 地址 提交到 STC, STC 再开始检测。
Q:怎样展开测试,或者是做好测试?(问题记不太清了,看笔记,意思大概是这样)
A:最主要是要对产品有整体的了解。然后,做测试要做到 5W1H。5W是, Why, 为什么要做这个测试; What,要做那些方面的测试; Who,由谁去做测试; When,什么时候做测试,一般由当时场景,开发人员定义;1H 是 How, 即怎样做测试,根据需求准备好测试用例,再执行。(数数,是不是少了个 『W』,拉下的那个是 Which,根据测试用例的重要性,哪个先做,或者 Where ,哪个地方重要些,先测?我自圆其说的解释好像都说得通。也许,在她的答案中,这两个 W 都不是她的 W)。
Q:对于测试的结果要怎样评估?
A:折中,主要是在产品开发前期, PM ,QA 等沟通好,定下一产品上线的标准。
Q: 在采用敏捷开发模式的方式下,测试怎样分工,然后对于研发工具,流程建设方面能否给些建议?
A:测试人员对于业务和技术都要想当程度上的了解, 然后, 敏捷项目的管理理念 scrum,就注重 Team 的建设。(这个回答记录的不是很清楚,但我想,这里是否给出的是:测试人员除了需要对于业务和技术方面的了解,更多还要有团队的精神)。
会后感想:这场好像演讲者准备得并不是很充分,有点敷衍的感觉。
Google 日本 的 Matt Devore 做的 《NativeDriver--Testing tool for multiple platforms》 是上午主会场 的最后一场。
忍不住先八卦下,Matt 上台后,大家都有点兴奋,尤其我自己,见到外国友人,现已是很稀松平常的事,但要见到 Google 的开发人员,可不是件容易的事,更何况,我还是 Google 的 粉丝。『大家好』,这是 Matt 说的第一句话,是中文。所有人听到后都情不自禁的鼓起了掌,还伴随着很 Happy 的笑声。最主要是心里头一块石头落地,不用听英文的演讲啊~~~可惜,这话过后,没高兴几秒钟,Matt 在继续用中文自我介绍完后,接着就说道:『我的中文还不是很好,所以这里还是用英文演讲...』,顿时,会场空中飘过一阵唉声。
八卦完,回到正题。这个议题主要是 Matt 介绍他负责开发的
NativeDriver,该工具是使用原生 UI 而不是浏览器 UI 的自动化测试框架,它主要用于 Android 应用程序的功能测试。目前已有 Andriod, iOS, Windows 版本。
会后感想:这场演讲下来,气氛变得有点沉闷,Matt 也好像是比较严肃之人,除开始那一句中文逗笑大家后, 之后,整个会场就都只有他的讲话声。然后,因为期间也没有同声翻译,或者做下解说,能听懂英文的还好,听不懂的,就我周围,好几个人都已昏昏入睡。好在结束时有一同学提问,在 Matt 反问后,那同学条件反射的回答『是』,会场才回到了了自由闲适的气氛。
而且,这个议题放在这里,个人感觉不是很合适,虽然都提到测试,但『此』测试『非彼』测试。另外,英文,可真是一个令人羞愧的问题,大多数的我们可与英文耳鬓厮磨了十几年啊,可连听个没有很多词汇的演讲都是如此吃力,就更别提『说』了(后面,见到一同学与 Matt 用英文自由的交谈,哇,顿时让我心声膜拜之意。心中也暗暗在想,这次回去后,要努力好好练习听说,别再『两天打渔三天晒网』)。
还有,不得不提一句有关于上午主会场的主持人,每个演讲者下去后发表的所谓的『评语』,听来要多做作就有做作,还有三个字,就不说了。
下午有分三个分论坛,每个分论坛又都有三场。当时报名我报的是分论坛二,而纵观每个分论坛的第一场,我是心仪于分论坛三,但最后『死』脑筋的我还是乖乖的呆在了分论坛二中(后面得知,其实是完全可以串场的,当然这又是后话了)。
第一场是趋势科技的张力做演讲, 主题是《我不是赤裸的羔羊––Web应用的安全性测试方法》。他先是列举了今年前面几起『有名的』在安全事故,如索尼的 SQL 注入, Google store 的 XSS 跨站攻击等。然后介他们所采用的发现应用程序漏洞的模糊测试,从识别威胁路径到识别威胁,到将威胁做笛卡尔乘积按优先级排序筛选后转化为测试用列,最后执行测试,并对测试做评估,中间还穿插了下 SQL 注入的演示实验。
会后感想:这场整个下来,感觉就好象一直围绕于 SQL 注入,并没真正的将『有关 Web 应用安全方面的测试方法』这个主题展开。演示实验时,还注意到提到 Web 提交的方式,他犹豫的说还有 POST(实例中是 GET) 等,这个『等』字实在有点让我惊讶(或许,是太紧张)。另外,演讲人本来应该也是想打造轻松活泼的气氛,所以 slides 里头几张在解说 『羔羊与恶狼』,以及还有 『地球很危险,我们还是回火星吧』 类似的动画图片。但可能真的他本人气场不够强大,以至现场飘过一声声尴尬的笑声。
中场休息过后,第二场开始。这场是腾讯的
@吴凯华/jeremywu 带来的《腾讯互联网测试实践技术分享》,主要介绍了目前腾讯测试管理体系建设成果, 自动化+全方位电子流管理体系;全研发闭环流程;完善的计划、任务、用例、需求、度量统计等管理;其中创建的每个测试用例都需要评审,且 QA 评审时必须给出评审建议;评估项目风险时需要 coding 人员,产品以及测试人员一起来把控;度量需要根据项目团队,而不是根据组织,它是单元测试 + Code Review + 持续集成的工作。然后,还有介绍到一些他们使用到的工具如 testlink(测试管理平台), CI(持续集成平台), JSCoverage(自动检测加载的 JS), 这些都是开源,但他们都已进行过二次开发。
会后感想:这场真是太火爆,整个会场的空地都或站或坐着从论坛一和论坛二过来的同学(也是从这里,我才知道是可以串场的)。演讲完后的提问时间,同学们的兴致也很高,但主要都是围绕着度量和评估。应该是之前都有着这方面的困扰,所以想籍此机会多取点『经』吧。但怎么说,这真是个太大的命题,而且每个公司的组织结构也都不一样,兴许在『此』公司很好的管理方法,在『彼』公司并不一定行得通。
分论坛二的最后一场,是同济大学软件学院的
@朱少民带来的《如何让缺陷无处藏身——谈软件可测试性》,主要介绍是如何让开发的软件具有可测试性,这其中提到需要分层、可定制等;根据需求建模,再由此生成测试用例;以及是在代码修改或是重构时,同样做到使软件具有可测试性。
部分问题整理
Q:对需求建模,是不是要求测试在产品策划前期就需要参与?
A:测试要测试产品的业务和功能,这就说明,产品策划阶段肯定是需要参与的。
Q:进行白盒测试,这说明是不是在开发期间,测试同样也是需要参与?
A:如果进行白盒测试,这代表需要清楚代码的结构,所以,最好是参与。
Q:测试人员对于设计模式,设计规则也要了解?
A:最好是测试,开发能互换角色,这样,测试的清楚开发的规则,而开发的,通过测试,能了解在开发中需要注意的各种问题。
Q:如何保证软件业务或是功能的完整?
A: 建个 checklist 。
Q:目前,管理软件方面基本上都是有以结果为导向的,有没有以过程导向的管理软件,包括国内外?
A:就我所了解,是还没有的,不如,我们合作开发一款吧。(这个回答让大家很 欢乐的笑了)
会后感想:不知道是不是因为整个社会浮躁的气氛,以至于大家都追求最直接的结果,就如最后那个问题中所提到的那样,以结果为导向。对于这场偏理论性方面的演讲,好大部分同学在会场要么堂而皇之的穿梭,要么窃窃私语或是昏睡或是干脆堂而皇之的离开,很少静下心来认认真真的听讲。不得不说,这样的心态,真是我们的一大悲哀。
另外分论坛一和三中老师和其演讲主题:
- 朱磊 《大型互联网产品的性能原理分析与优化技巧》
- 邱鹏/Ricky Qiu 《懒人的幸福生活 –––– 无人值守性能测试》
- @王德山/耿电《大型性能评测模型和线上压测风险控制》
- @倪生华 《分层自动化测试体系与持续集成实践》
- 陈睿/竹权 《低碳淘宝,测试先行——淘宝核心系统软件测试实践》
- 吴光安 《微软是如何测试的——云计算专场 》
这天下来,脑子还是有点疲劳,最主要原因是我测试方面的知识可以说是空白,每场都如同海绵吸水般,根本来不及消化。这里做下整理,希望在以后的工作中能快点上手。还有真的真的,英语急待提高,那场英文的演讲我听得多吃力只有自己清楚。