测试和质量——接口测试方法论(02)

发表于:2022-8-05 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  1.2  测试和质量
  测试和质量的关系与日常生活中到菜市场挑选水果的道理是一样的。当我们挑选苹果时,衡量苹果好坏的标准就是苹果的大小、形状、颜色以及是否带有明显的损伤,但这些仅仅是挑选的标准,而且这些标准都是从以往哪种苹果“好吃”的挑选经验中总结出来的。如果我们想要真正判断出苹果是否口感好,就只能切开苹果,看一下里面是不是坏了、有没有虫子等,并且还需要咬一口尝尝。就算商家同意这种挑选方式,我们也不可能对挑选的每个苹果都尝一口。有这样一个笑话。父亲叫儿子去买火柴,嘱咐儿子火柴要能擦得着,儿子回来说:“我买的火柴都擦得着,因为每一根我都试过了。”就像这个买火柴的小男孩一样,如果我们对每一个将要交付的软件制品都进行测试,那么交付给客户的可能就不再是他们想要的软件制品了,而是燃烧过的“火柴”,从而导致和客户的预期结果不一致。最好的办法就是抽样,先买一个苹果,切开后尝一尝,如果抽样结果达到要求,就认为这些苹果都满足预期,对于火柴也一样。
  这种质量验证方法(抽样)几乎适用于所有的产品,无论是工业生产还是软件工程,交付的既可以是物理形式的产品,也可以是软件系统。买到一个坏苹果或一盒擦不着的火柴并非什么大事,但如果自动驾驶的测试方法不合理、不科学,那么后果就有可能让驾驶人付出生命代价。因此,到底应该进行什么样的抽样和检查,才能让抽样样本的质量代表所有产品的质量?这促使软件质量保障变成一个不断深入发展的工程实践方向。
  在实际工作中,我们很多时候会将质量和测试混为一谈。QA(Quality Assurance,质量保障)、QC(Quality Control,质量控制)和测试在很多不同的场合发挥着相同的作用并交替出现。Google Testing Blog对QA的定义是,“为QC工作提供持续改进和一致性保障流程”,所以QA主要侧重于质量管理的组织以及监控生产过程的一致性等方面的工作;Google Testing Blog对QC的定义是,“验证是否满足预期的质量保障活动”,所以QC主要侧重于验证,是“团队寻求方法来确保产品质量得到维持或改进并减少或消除制造错误的过程”;而测试旨在检测和解决软件源代码中的技术问题并评估整个产品的可用性、性能、安全性和兼容性。
  从上面的定义中我们发现,其实QA、QC和测试是很容易区分的。QA以引入质量标准、建立适当的流程,进而避免交付的产品中存在一些缺陷为目的,重点关注流程,建立能够预防出错的流程是QA工作的根本出发点,QA约束全部干系人及其工作产出。QC主要关注产品在发布之前质量是否得到应有的控制,QC约束产品的全部制品过程,QC能通过管控每一个环节,约束全部制品团队都对所交付产品的质量负责。测试是为了发现问题,然后在团队内部促使缺陷得到修复,测试约束的是制品过程,重心在于检测研发工程师交付的源代码和产品经理交付的需求之间的一致性,以及检测其他一些质量特性的满足程度。
  由此可以看出,QA、QC和测试之间是不能相互代替的。软件测试人员在项目交付过程中主要承担的就是测试工作,测试是软件制品过程中的重要环节之一,但并不等于说有了软件测试人员,就一定能保证所交付系统的质量非常好。测试虽然与开发过程紧密相关,但测试人员关心的不是软件制品过程中的活动,而是要对软件制品过程的产物以及开发出来的软件进行剖析。测试人员需要“执行”软件,对软件制品过程中的产物(如开发文档和源代码)进行走查,找出问题并报告软件质量。测试人员还必须假设软件存在潜在的问题,他们在测试中要做的就是找出更多的问题,而不仅仅是为了验证每一件事都是正确的。对测试中发现的问题进行分析、追踪与回归测试也是软件测试中要做的重要工作,因此软件测试是保障软件质量的重要手段。在软件工程中,QA、QC和测试之间的关系如图1-1所示。
图1-1  QA、QC和测试之间的关系
查看接口测试方法论》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
51Testing“十佳作者”计划,投稿不只有稿费!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号