开发工程师应该自己做测试吗?  

      首先要说明的是,大多数开发人员并不完全测试他们自己的代码,通常是因为他们有QA测试人员的支持。让QA测试人员利用他们的时间来发现缺陷,而不是自己花时间去测试,这样更容易。也许他们太忙了,或者公司更喜欢这种方法,喜欢让他们的开发团队来完成任务。还有一个潜在的傲慢的方面,因为一些开发人员认为他们的工作是没有缺陷的,但这可能(而且已经)导致影响业务的严重问题。

      随着许多开发团队测试他们自己的工作,不使用QA测试人员,这个话题激发了双方的激烈辩论。我们将介绍双方的情况,并希望能帮助你了解这两种方法的优点和缺点。

让我们从基于开发者的测试开始:


       大多数团队(我相信)确实要求其开发人员进行单元测试(至少),许多人还要求进行自动化、集成的、基于代码的测试。问题是,这确实占用了开发新功能和代码的时间,而我们作为开发者会被下一个闪亮的东西所吸引而工作。如果测试覆盖了整个代码库,那么它可以是内置的,但这又会占用新任务的时间。在某些方面,这些开发者说测试会浪费时间是正确的,即使测试过程是自动化的。测试可以被视为减缓了开发和生产力。

       另一个不做测试的原因,纯粹是因为一些开发人员对整个应用程序的工作原理没有了解。或者他们不相信他们的代码中存在错误,我知道很傲慢,但我们都遇到过这样的人,在某些情况下,他们是真正的同事。

       另一方面,也有许多开发人员使用编码测试严格地测试他们的代码。对自己工作的自豪感意味着他们想充分测试自己的工作,以确保其没有缺陷,或至少确保任何QA测试人员不会在他们的代码中发现故障或缺陷。应该指出的是,骄傲被视为开发人员的罪过之一.

基于QA的测试


       在QA方面,我们非常尊重QA测试,因为质疑开发人员的工作和处理任何可能回来的防御性需要勇气。有一些非常好的QA测试人员做得很好,但最好的测试人员在向开发团队报告错误时需要自信。他们也倾向于对应用程序的整体及其所有细微差别有更多的了解,包括回归历史。我认为他们也有助于确保开发人员是诚实和努力工作的,因为在某些方面,他们是在为开发经理的测试工作做掩护,并对整个开发过程进行监督。由于他们的工作是基于寻找故障,QA测试人员比开发人员更努力地推动一个应用程序。一个简单的测试和成功是不够的,因为他们寻求创造性的方法来执行开发人员可能不会想到的测试。证据就是一切,除非被证明,否则bug是不会被修复的,许多开发人员在测试他们自己的代码时没有走得足够远。当然,开发人员和QA测试人员应该相互配合。代码测试效果很好,但QA测试人员可以进行更多的人为测试,这些测试是出乎意料的,并确保应用程序更加健壮。QA的另一个方面是创造性,我们大多数人认为测试是枯燥的重复性工作,但从与QA测试人员打交道的过程中,我意识到创造性是QA过程的一个重要组成部分。基于他们的知识,他们可以想出许多不同的方法来测试一个应用程序,并与以前的测试进行比较。从测试中产生的文件对培训,甚至在某些情况下对客户的使用都是非常有用的。

基于项目管理过程

       提出全员参与质量工作,开发工程师的自测是为了后面QA测试争取更多时间,现实情况是项目上没有那么多的QA工程加入,一方面是公司人员成本考虑,另一方面是缺失没有足够多QA测试工程师。

image

研发自测落地思路与三个阶段

image

以上是基于中小公司研发管理流程,成熟大型软件团队,已经自动化测试过程。

那么,哪个更好呢?


      答案是都不是,两种方法的组合效果最好。随着许多开发团队不断快速发布代码,QA也需要发挥其作用。我明白,进入市场的速度是一个关键因素,但稳定性也是成功的关键。我看到的另一个方面是公司将他们的QA外包,而不是让它在内部与开发团队一起运行。一些新的企业,如Global和Digivante,是一些外包QA或人群测试正在增长的公司。QA外包可能不是最佳的选择,不利于质量内建。



今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管管,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

posted on 2023-05-21 10:58  PetterLiu  阅读(175)  评论(0编辑  收藏  举报