TA的每日心情 | 无聊 3 天前 |
---|
签到天数: 1050 天 连续签到: 1 天 [LV.10]测试总司令
|
6#
楼主 |
发表于 2017-8-23 11:35:45
|
只看该作者
作者:金阳
链接:https://www.zhihu.com/question/19721142/answer/22918933
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
自动化测试和手动测试都是不可缺少的,两者相辅相成,简单说说我对自动化测试和手动测试的体会:首先,我认为自动化测试的主要目的并不是为了发现产品的BUG。 它一个重要的目的是为了确保软件产品在开发和维护过程中,团队对产品有更直观的掌握,消除代码中的错误,即make the system run properly, eliminate bug earlier, which in result raises confidence of the development and the whole team。 而手动测试是为了break the system,即发现BUG。 我始终认为最好的测试是将软件缺陷消灭在摇篮里,测试的根基、金字塔的底座是独立的单元测试,由开发人员负责,可以最小成本的发现潜在的BUG,也就是说DEV是最好的QA。自动化测试和持续集成是重要的手段,确保对产品质量的可控性。 版本控制软件也非常重要。极大提高我们的工作效率。<img src="https://pic2.zhimg.com/068056a416383d7c0d75b875e2c435b9_b.jpg" data-rawwidth="1050" data-rawheight="585" class="origin_image zh-lightbox-thumb" width="1050" data-original="https://pic2.zhimg.com/068056a416383d7c0d75b875e2c435b9_r.jpg">简单所以下我工作的情况:之前在BlackBerry Enterprise Service实习,负责BES产品发布之前的测试,BES是面向企业的产品,产品质量和稳定性是产品赖以生存的根本,因为我们非常重视软件测试。我的主要工作是以手动测试和fix verification为主,不和产品代码打交道。可以说虽然是发布前最后一关,但依然发现很多产品中BUG, 任何一个BUG都直接影响客户体验。由于各种限制,手动测试不可能覆盖产品所有方面,因此对产品的了解、丰富的测试经验、制定详细的测试用例对于手动测试非常重要, 也是考察一个手动测试工程师主要的方面。对产品的了解可以更容易找到产品的薄弱环节;丰富的测试经验可以更快的发现BUG;而详细的测试计划可以帮助我们发现更多的BUG。我认为手动测试发现了产品中的大部分BUG。目前我在一家北美某游戏公司温哥华分舵,team主要是负责为公司大部分游戏提供online service,游戏整合online service SDK 使其与server交互。简单说说QA team的情况,一个senior dev负责开发和维护测试框架,两个senior QA带一群QA,还有一个做build系统的。我们的日常工作基本属于自动化测试,手动测试可能交给有游戏TEAM了吧。由于产品太复杂、公司没钱等一系列因素,还未实现完全的持续集成,基本上还在依靠nightly regression,因此还是以天为单位,而不是以敏捷测试中每次code checkin为单位。更可恶的事情是xbox, ps的自动化测试还没有整合到build系统里,所以本屌丝要经常要手动load测试程序。 吐槽一些对现在工作中的感悟:1、大家都知道,用c++写的产品编译时间都非常长,即使我们有incredibuild这种NB的TOOL, build一次完整的产品和自动化测试的工具也要半小时左右,如果产品或者测试工具出现以下编译错误就会BLOCK所有的工作。产品坏了我们可以revert,但是测试工具坏了有可能是产品code改变,或者是工具本身的问题。 investigate要花时间,fix也花时间。这一点非常影响工作效率。2、不是说自动化测试就不会发现BUG,每次回归测试结果都一堆错误。但重点是!!!!!你要花时间分析到底是测试用例的问题,测试框架的问题,还是真是产品的BUG, 每天看Log简直把眼睛都看瞎了。3、自动化测试用例不是一层不变,产品feature变了,测试用例要改变。很多时候测试用例fail了,很有可能是测试用例没有更新。4、我认为我们目前最重要的问题是DEV没有写单元测试的习惯!所以自动化测试系统并非神器,它非常娇贵的,你要花时间是维护它、呵护它、关爱它,它才是成为你手中的利器。最后,简单说一下招聘过程。 虽然我们的工作是QA,但面试的基本内容是C++的概念、算法、编码能力。仅仅会问一些简单的测试概念。这也从一个侧面反映出QA不要懂产品逻辑,还要懂产品代码!PS:深感国内软件测试发展的不成熟,以后回国可咋找工作啊,好了不吐槽了,第一次回答问题,流水账请见谅,洗洗睡吧,明天继续上班。 |
|