分享到
测试人员在Android项目中的作用
 
作者: yihui823,发布于2011-10-19
 

我们需要测试人员吗?

先说一个故事。

接手一个小项目,是因为之前的项目经理被调走了。当时跟我介绍项目情况的时候,这牛人项目经理说,项目完全没问题,功能就那么一点点,很容易搞定的。我随口问了一句,有测试人员吗?答曰,这么简单的小项目,还需要测试人员吗?我茫然。

这牛人于是就介绍完了,把这个当时运行很流畅的项目组交给我。每个人都把客户需要的功能做出来了,也已经拼接好了,好像我接手就是来拿做好的成果一样。

忘了介绍这牛人了。这牛人为什么叫牛人,是因为特能加班。每每在项目交货的时候,跟客户耗上那么几个通宵。并且,还带着整个项目组去耗。我自认没有他那么牛。

接手项目,并不是马上就插手乱指挥,这是我的原则。但是还有2周就要交付了,我也没有太多时间去慢慢了解项目。于是,在项目的第二天,我就去找部门要测试人员了。问我理由,答曰,没有理由,就是要2个测试人员。

很容易的就要到了两个PLMM。看着MM我就心里舒坦。而且两个MM之前还没测过手机项目。没关系,有测试就行。

熟悉了一天之后,PLMM们第二天就发现了一个很简单的BUG。简单的说,就是ListView的数据,在一些操作之后,就乱套了。本以为很简单的BUG,也就没多问了。

第三天,项目组成员们很紧张的忙着。第四天,还在忙。我有点坐不住了,去看了一圈代码,感觉有点晕乎。再看,猛然发现,这些代码的数据结构就不对,需要重做!

我的乖乖啊。这是神马啊。如果我放任这情况下去,在项目交货的时候,我也要被逼做牛人了啊!

还好测试人员进入的早,这BUG带来的影响,在重构代码后,终于平息下来。我们在交付的时候,没有为业务逻辑而通宵。当然,客户的硬件和框架着实让我们牛了一回。我们只是晚上在等客户解决问题的时候,打打牌而已,没有被客户追着改BUG。

故事说完了。“故”表示已经发生,“事”表示有这么一个经过。

我不禁要问,难道有那么多人,认为手机项目,就真的不要测试了吗?

传统业务领域,测试人员的重要性已经被大家所接受。我在做项目经理的时候,一般是偏袒测试的,因为我对他们的支持,他们才可以放心的发表不同的意见,才能把问题尽早的暴露出来。当然,也因为我的支持,测试人员经常犯错,把一些正确的当作不对的。不过,我宁愿测试人员犯错,也不希望BUG和问题隐藏到最后,到最后客户发现了,那就非要“牛”不可了。

测试人员 ,在传统业务领域,做的几个验证工作,可以用一个V字模型来说明。

1, 单元测试,是对编码的验证,保证编码无误,也就是保证某个单元(可以是页面,可以是某个流程等等)被正确的编码。

2, 结合测试,是对详细设计的验证,保证各个单元串起来之后,能够完成基本的业务流转。

3, 功能测试,是对功能设计的验证,保证系统的各个大功能得以正常流转。

4, 用户体验,是对需求分析的验证,保证系统就是用户想要的东西。

左边的开发流程,在手机项目中,因为项目的短平快,导致了很多缺失。简单的和客户沟通之后,客户可能只是给了一个大致的描述,几张效果图。开发组立即就对这些客户给的资料进行设计,这个设计就把功能设计、框架设计、详细设计、程序设计等等都包括了进去。以至于,只有开发人员才知道客户的需求。

在这种情况下,整个项目组对测试人员是排斥的。而且测试人员对项目组也是排斥的。测试人员拿不到测试的依据和准绳,对测试无从下手。开发人员不愿意再去复述客户的需求,也不愿意再去整理各种设计,因为他们觉得代码就是一切,设计都是为了代码而做的。现在代码已经有了,还要再去整理设计干什么。

因为手机不如PC的屏幕大,所以很多人认为手机操作比PC程序简单,逻辑也相对简单,所以没必要加入测试人员。开发人员自己跑跑就行了。

以上的各种理由,都造成了短平快的Android项目排斥测试人员。甚至大型的Android项目也对测试不重视,认为有就行了,比没有好。

我在项目做完之后,认真的思考了测试人员在Android项目中,可以并且应该起到的作用。

1. 用户需求的理解

现在讲究的是用户体验。对于开发人员来说,天生的自信往往让他们以技术的角度去想问题。技术越牛,往往越会有这种倾向:这个技术多先进啊,用上去之后肯定是好东西。慢着,技术先进就是用户的需求吗?所以,我们需要测试人员去理解用户需求,真正把握用户希望要的东西。因为测试人员的独立性,他们不会被技术细节所蒙蔽。

2. 系统的整理操作流程

手机因为屏幕小,操作少,所以操作流程往往被忽视。其实,手机程序一点不比PC程序简单。大量的关联操作,将极大的考验我们程序的健壮性。可以这么说,相对PC程序,手机程序的大段的逻辑不多,但是逻辑分支却比PC程序更多。也就是说,手机程序有更多的路径需要覆盖。

这些操作流程,在缺少设计的情况下,由测试人员来整理,肯定比开发人员整理要专业。测试人员可以只凭用户的一些简单信息,例如客户给的效果图、客户口述等,就把一份大而全的Case分支给整理出来。当然有些是无法走到的,那个不会有太多影响,最多浪费点验证和思考的时间,但是不会把一些细小的分支给漏了。

手机程序必须比PC程序健壮。手机程序会经受用户的各种操作,正常的和异常的。毕竟手里拿着手机,很可能突然朋友吓一跳,就不小心按到了某个键。所以说,缜密的操作流程,需要测试人员来整理。

3. 细致的回归测试

为什么我跳过测试,直接就说回归测试呢?因为测试工作本身,不值得一提。那是测试人员的基本工作,就像开发人员写if - else 一样。而且,很多人都认为,手机测试,开发人员互相测试也是可以的。但是回归测试不同。开发人员没有大量的时间去做测试。哪怕有这个时间,开发人员也不会有足够的耐心去走回头路。放心,我们的测试人员有,他们耐心细致的工作,会告诉那些不小心犯错的开发人员,你们要当心了……

4. 跟踪BUG的解决

手机项目因为人员少,所以很多人改问题都是自发的。一个开发人员,很可能早上自测的时候发现了3个问题,但是当他改完第二个问题的时候,就不记得第3个问题是什么了。而专门的测试人员,记录、跟踪BUG的解决,是他们的基本素质。我们可不希望项目在交付给客户的时候,客户发现了一个问题,然后我们的牛人说,啊这个问题啊,我以前碰到过的,但是忘记改了。

5. 调节项目组气氛

呵呵。一般测试组的美女多么。这条可是最重要的一条哦,别小看了小伙子们的肾上腺素,那可是天然的兴奋剂啊。

以上说的这几条之外,还有很多测试人员的好处啦。所以,千万不要以为手机项目小,项目简单就忽视了测试人员的重要性。

是不是有人说,哪里有那么多人给你啊,开发人员都不够,哪里来的测试人员。

我的想法是,哪怕你现在手上只有5个开发人员,没有测试人员了,你也要从这5个开发人员里面,挑出一个最合适的人来,做一个专职的测试人员。别怕项目紧张,因为在交付的时候发现致命问题,会比你在前期辛苦的加班晚一点,更好控制。你说是不是呢?


相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践


LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   


性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术


某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...   
 
 
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号