当前位置: 首页 > news >正文

和测试角色相关的问题


有了独立的测试角色之后,是不是就万事大吉了?未必,分工意味着一件事要分给别人去工作。让别人做事,并且依赖别人做出的结果,这会出现一些问题。
问题1 既然有专人负责,那我就不用负责了!
生活中有一个常见的歪理:既然有清洁工,那我乱扔点儿垃圾算什么,这才是他们的工作啊!尽管有专人负责测试工作,但是保证质量仍然是所有成员的职责。软件团队中的一些人往往在有意无意中忘记这一点。最常见的现象是开发人员写好一个功能之后,迫不及待地宣布成功,然后希望测试人员去发现所有问题。如果问题在发布后才被发现,开发人员会说--测试人员怎么搞的,这种Bug都没找出来!?曾经,我主管的某项目有重要的改进,这个改进经过研究员的研究、开发人员的设计、美工的美化、两个开发人员的配合实现、项目管理人员的督促、测试人员的测试,最后所有人都号称做好了,上线了!为此,我约了某个目标用户给他做实地展示,几天后,大家都到齐了,开始演示。开始进行的不错,马上最重要的杀手级功能(KllerFeature)就会出来了......嗳,预想的效果怎么还没出现呢?再试试,还没有?各相关人员面面相觑,大家小声说:
"我不是把那个新模块给你了么?"
"我就是照着那个接口实现的啊......"
"我不是已经交给那啥......"
"所有的Bug不是已经都搞定了么......"演示在尴尬中胜利结束了。

问题2 盲目信任"专业人士"扮演的角色。
每个角色的水平不一样,水平最差的角色往往对软件质量的影响最大。有一年,我们团队要为自己开发的软件写一段英语介绍。团队成员都是通过四六级英语考试的牛人,可他们都很谦虚,非要请一个专业人士来写不可。于是找了一个专业人士,求了好几次(专业人士很忙的),在软件上市之前才拿到专业的文案,于是,几个人把文稿复制/粘贴几次之后,软件就向全世界发布了。这个文案第一句就是热情洋溢的设问句:"Haveyou everthink about ..."随后还有几处非常明显的语法错误。这个软件吸引了不少评论文章,有旁观者说,从介绍文字的几处典型中国式语法错误(Have...think)来看,这个软件是在中国搞出来的......回头来看,我们可以问两个问题:
.这件事真的要专业人士来做么?
.专业人士做完之后,谁来负责测试?即使有专业人士扮演各种角色,还得有专人独立地检查验证质量。

问题3 为了自己的角色而做绩效优化。
分工之后,每个角色为了自己的绩效而优化,会出现局部最优而全局未必最优的情况。我们团队的另一个windows Phone的应用也要发布,这次专业人士又出手了,写了175个英语单词的介绍,极尽溢美之词,而且找不到明显的语法问题!这的确是一种局部最优了。但是专业人士完全没考虑到用户在小小的手机屏幕上有多少耐心读完那么多形容词和状语从句。经过简化,我们把它减少到78个词,勉强能放进手机的两个屏幕。
这些事真的要让与项目无关的专业人士来做?向专业人士描述需求时,是否花了足够的时间让对方理解我们要的是什么?
专业人士做完之后,我们要做什么样的QA?
光保证没有明显的语法错就够了?很多年前,COBOL还是主流商用语言之一,我曾在一个软件团队里负责测试工作,职责之一是编写各种测试用例,以保证系统的代码覆盖率达到80%以上。做过实际项目的工程师都知道,程序里的很多语句是用来处理种种异常情况的,这些情况大多都不会发生。但是这些语句未被覆盖的话,这个模块的覆盖率就会下降,我就达不到80%的目标。所以我花了很多时间构造各种奇怪的测试数据,把程序中的那些犄角旮旯都尽可能覆盖掉。至于这些犄角旮旯在实际中是否会发生,对用户的影响如何,程序是否应该这样设计,我都不太关心。只要覆盖率达到80%,老子的活就干完了!

http://www.jsqmd.com/news/221953/

相关文章:

  • Thinkphp-Laravel基于Thinkphp-Laravel的准妈妈孕期交流互助平台的设计与实现
  • AI面前,销售只剩下两种人:为什么AI只会让强者更强,弱者死得更快?同样用AI,有人封神,有人出局。AI销售定义如何做专家图书推荐
  • 权威榜单2026年EOR名义雇主人力资源解决方案与EOR名义雇主服务品牌排行榜
  • Zigbee 3.0标准在智能家居中的组网应用详解
  • γ-Endorphin (β-Lipotropin (61-77), β-Endorphin (1-17))
  • Thinkphp-Laravel+uniapp微信小程序的博物馆文创产品推荐商城销售系统
  • Thinkphp-Laravel+uniapp微信小程序的大悦城地下停车场车位预约收费系统_
  • 如何用Sambert-HifiGan为教育APP添加语音讲解
  • SOL重大风险预警:SOL Join中使用rand()可能导致数据重复或丢失
  • 西门子PLC与维纶触摸屏程序:包膜机控制系统的20轴、扫码枪与远程IO集成方案
  • 手把手教你Packet Tracer下载安装与基础配置
  • γ2-MSH ;Tyr-Val-Met-Gly-His-Phe-Arg-Trp-Asp-Arg-Phe-Gly
  • 2026年度EOR名义雇主模式人力资源解决方案品牌排行榜,解锁国际发展新机遇
  • gbase8a MPP Cluster V9 953安装
  • Thinkphp-Laravel+uniapp微信小程序+的瑜伽馆课程预约选课管理系统
  • 软件模块的耦合
  • 用Sambert-HifiGan为电子书添加语音:自动化有声书制作
  • 光伏三相并网仿真研究:MPPT控制与高效功率输出的动态分析与优化
  • 3Flag;MDYKDHDGDYKDHDIDYKDDDDKL
  • IntelliJ IDEA 各版本
  • 随笔小计-前端经常接触的http响应头(跨域CORS,性能-缓存-安全,token)
  • 热销榜单:2026年EOR名义雇主服务品牌排行榜,助力企业灵活用工的五大优势
  • 复杂背景下的OCR识别:CRNN模型的解决方案
  • COMSOL二维仿真:电磁超声Lamb波在板材检测中的应用——适合新手入门学习使用
  • Thinkphp-Laravel+uniapp微信小程序的个人健康评估管理系统
  • L298N电机驱动模块去耦电容配置实战案例
  • 成功案例|如何进行定岗定编体系设计?——华恒智信助力某度假村林果部科学配员与弹性用工实例
  • 用Sambert-HifiGan为游戏NPC添加生动语音对话
  • 在 ABAP Cloud 里优雅读取与解析 XML:用 sXML Reader 把接口数据落成结构化 ABAP
  • Java开发者也能玩转AI视频生成?手把手教你部署