谁为软件质量负责?

news2024/11/23 23:46:08

如果我们直接问自己以下问题——谁负责软件质量,我们首先想到的就是——当然是测试人员!但这并不像看起来那么容易。

IT领域有几个特点,总是发生在软件测试的最后阶段,就在它发布之前。它们使我们不仅从软件的技术质量保证的角度来考虑测试,而且还将其作为软件开发和实施的特定阶段的一部分。

软件质量

软件质量

开发人员应该测试他们的代码吗?

开发人员知道他/她的代码运行中的所有细节和陷阱。这些知识比开始研究测试环境的测试人员的知识更大、更重要。

如果开发人员知道产品的弱点在哪里,而测试人员没有看到这一点,那么他/她绝对应该提到这一点。因此,QA 工程师会欣赏这一点,开发人员不需要额外修复已经开发和准备好的代码。测试人员将通过测试涵盖所有内容,开发人员将无需担心。

反过来,开发人员应该给出一个列表,如果创建了单元测试,这有助于避免不必要的测试,并有助于构建软件测试的各个部分。

至于开发人员对代码进行手动测试的过程,这里应该使用冒烟测试的做法。执行广泛的测试并不重要,您只需要检查软件代码是否适用于某个数据列表并将其传递给测试部门,他们将在那里彻底使用该软件。

如果代码在此阶段不起作用,则无需将其传递给测试人员。作为回报,您只会收到一个巨大的错误报告,其中包含您熟悉的许多缺陷。这只会延迟软件发布。

如果在生产中遗漏了错误,这是测试人员的错吗?

差不太多。当在生产中发现缺陷时,测试部门总是有事情要谈。

事实上,某些错误在生产中异常出现有几个原因:

  1. 软件的这一部分从未被优先考虑进行测试。有时,人们永远无法考虑在生产中发现的错误。这是开发人员和测试人员之间不正确沟通的结果。对测试软件的这一部分或那部分的方法没有很好的理解。如果您确定软件的一些核心部分尚未被测试覆盖,则应告知开发人员;
  2. 测试人员没有足够的知识来测试特定部件。这也是两个部门的重要问题。开发人员创建了一个函数,但忘记告诉测试人员其测试的特殊性。如果您作为开发人员看到软件的重要特性,您应该首先通知主要的 QA 工程师。你不能错过这个阶段;
  3. 开发人员并不关心这一点。开发人员和我们是一样的人。他们每个人都有自己的办公室外生活。有些开发人员不仅重视他/她的工作,而且还关心测试人员检查高质量的软件:他们帮助查找错误,告知测试特性等,有些人并不关心这一点。他们可能不会每天都使用这个软件,他们不在乎会发生什么。换句话说,他们并不真正关心产品在生产中的工作方式;
  4. 测试人员并不关心这一点。这是硬币的另一面。并非所有测试人员都对他们正在从事的项目感兴趣。他们中的一些人只想快速完成这项工作,创建一个可读的报告并提出一个观点。他们对测试覆盖率的质量并不真正感兴趣,也不想与开发人员沟通。开发人员和 QA 应该始终如一地讨论错误性质,但这种类型的测试人员不会关心此类会议和其他事情;
  5. 低技能测试人员在项目上工作。造成这种问题的另一个原因是不合格的测试人员在项目上工作。例如,必须执行渗透测试,但经理只有一组手动测试人员。在这种情况下,他们根本不明白他们必须做什么。您应该选择更合格的测试人员或将这项工作传递给开发人员。
  6. 完全没有研究用户行为。开发人员知道如何开发软件,测试人员知道如何测试它。但是我们应该如何处理用户?因为他们是真实的人类,会不时干扰软件。他们不会打破它。所有人都是不同的,有不同的目标,他们都希望在开发的软件的帮助下实现这一目标。测试人员可以简单地习惯该错误并了解它偶尔出现,因此并不重要。用户不会忍受这一点。如果软件损坏,用户将删除它或忘记并使用另一个。这是真实的生活。在多功能Web产品的开发和测试过程中,用户测试和让测试组参与项目至关重要;
  7. 通信过程构建不正确。理想情况下,项目应该有一个琐碎的缺陷分类过程,这个过程可以帮助开发人员正确评估测试人员发现的错误(并在修复后简单地确定它们的优先级)。如果存在技术误解,测试人员和开发人员应该开始讨论,以将问题解决在萌芽状态(理想情况下)。如果经理没有建立这样的沟通,双方只会模拟严肃的工作,问题不会得到解决。最后,生产中会出现一个错误;
  8. 缺乏测试人员。该软件可能很复杂,应同时在多个平台和浏览器上进行检查。很少有测试人员可能还不够。您应该吸引更多的人或找到分配人力资源的方法,以确保一切都经过彻底的测试;
  9. 开发人员在工作中“听从他们的耳朵”。一家公司可能只有 4 名开发人员,但他们在技术上非常熟练,甚至可以解决最复杂的任务。但是他们只有 4 个,项目太多,有截止日期,他们没有时间与 QA 部门讨论软件。这是发布产品存在如此多错误的一个非常重要且常见的原因;
  10. 质量不是主要问题。该软件有一些错误。其中一个是可见的,另一个是 - 不是。但是用户不喜欢该软件。评论完全是负面的。为什么会这样?没有人真正有兴趣创造一种非常优质的产品。开发人员编写代码,测试人员进行测试,但他们都没有对质量保证过程给予足够的关注。Web产品开发应该将各部门统一起来,使它们成为一个整体。如果公司不以这种方式工作,那么他们根本不关心软件质量。

结论

在当今的IT领域,软件变得越来越复杂。很容易找到负责任的人。这可能是测试人员、经理或开发人员的错。或者他们都是有罪的。问题是,如果您可能从一开始就对质量负责,则不应搜索负责任的人

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/923449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习JAVA打卡第四十一天

字符串与字符数组、字节数组 ⑴字符串与字符数组 String类的构造方法String(char a[])和String(char a[]),int offset,int length,分别用数组a中的全部字符和部分字符创建string对象。 String类也提供将string对象的字符序列存…

vray for Cinema 4D如何创建照片级真实室内效果?

在V-Ray for Cinema 4D中渲染 3D室内设计一开始可能会很困难,但您投入的努力总会得到回报。无论您的技术水平和创意眼光如何,在 V-Ray 中创建室内设计时都需要考虑很多事项。 在这篇博文中,我们将分享一些最佳实践,帮助您创建令人…

12-总结-从 0 开始搭建框架

项目结构: 一. 安装第三方库 # 下载源: https://pypi.tuna.tsinghua.edu.cn/simple/pip3 install flask2.3.2 pip3 install jinja23.1.2 pip install pymysql # 保持持久化pip install flask-script2.0.3 # 管理应用程序 pip install flask-sqlalchemy3.0.3 # 实现ORM映射…

高等数学之不定积分

由导函数推原函数就是不定积分 只是一个! 记得常数C!!! 不定积分的几何含义

基于TechGrow实现Hexo引流微信公众号

首发博客地址 https://blog.zysicyj.top/ # 前言 Hexo 博客建议安装 hexo-readmore (opens new window) 插件,将 TechGrow (opens new window) 的免费微信公众号引流工具整合到博客中,用户扫码关注微信公众号后可以解锁全站文章,让微信公众号…

基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码

基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.乌燕鸥优化BP神经网络2.1 BP神经网络参数设置2.2 乌燕鸥算法应用 4.测试结果:5.Matlab代…

数字的画笔:数据可视化的魅力与实用性

数据可视化是一种强大的工具,用于将复杂的数据和信息以图形化的方式呈现,以便人们更容易理解、分析和发现其中的模式和趋势。通过图表、图形和其他可视元素,数据可视化可以帮助我们将抽象的数字转化为有意义的视觉呈现,从而提升了…

QT6安装完成后,再安装低版本的MinGW或其他组件方式

首先进入点击安装的uinstall Qt 并不是真的卸载 通过下面几步 1,首先登录自己账户 2,然后进入欢迎中,点击“添加和移除组件” 3,然后检索自己需要的安装内容

MDTA模块(Restormer)

From a layer normalized tensor Y ∈ R H ^ W ^ C ^ \mathbf{Y} \in \mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}} Y∈RH^W^C^, our MDTA first generates query ( Q ) (\mathbf{Q}) (Q), key ( K ) (\mathbf{K}) (K) and value ( V ) (\mathbf{V}) (V) project…

前端基础踩坑记录

前言:在做vue项目时,有时代码没有报错,但运行时却各种问题,没有报错排查起来就很费劲,本人感悟:写前端,需要好的眼神!!!谨以此博客记录下自己的踩坑点。 一、…

vue学习之hello world

依赖引入 <script src"https://unpkg.com/vue2.6.10/dist/vue.js"></script>Hello world 实现 <html><head><style></style></head><body><script src"https://unpkg.com/vue2.6.10/dist/vue.js">…

日志搞不定?手把手教你如何使用Log4j2

系列文章目录 从零开始&#xff0c;手把手教你搭建Spring Boot后台工程并说明 Spring框架与SpringBoot的关联与区别 SpringBean生成流程详解 —— 由浅入深(附超精细流程图) Spring监听器用法与原理详解 Spring事务畅谈 —— 由浅入深彻底弄懂 Transactional注解 面试热点详解…

Keepalived+Lvs(dr)调度器主备配置小实验

目录 前言 一、实验拓扑图 二、配置LVS&#xff08;dr&#xff09;模式 三、配置调配器热备 四、测试 总结 前言 Keepalived和LVS&#xff08;Linux Virtual Server&#xff09;是两个常用的开源软件&#xff0c;通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalive…

Mybatis查询一条数据

上一篇我们介绍了在pom文件中引入mybatis依赖&#xff0c;配置了mybatis配置文件&#xff0c;通过读取配置文件创建了会话工厂&#xff0c;使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解&#xff0c;可以参考Mybatis引入与使用…

【指标】指标公式大全,款款经典(建议珍藏)!-神奇指标网

三、指标源码&#xff1a; 1、连续三天高开高走的选股公式 count(o〉ref(c,1&#xff09;andc>o&#xff0c;3)3&#xff1b; 2、连续3天每天的最低价都比前一天高 count&#xff08;l〉ref(c,1&#xff09;,3)3&#xff1b; 3、周量缩小50%或40&#xff05;或n&#x…

帮助中心实践方式:及时提示反馈,引导自助解决

为了及时高效的帮助用户解决当下实际问题&#xff0c;很多产品都会专门设置一个独立的产品帮助中心&#xff0c;满足客户需要获取解决方案的需要&#xff0c;减轻人工客服端压力。 帮助中心实践方式 常规的帮助中心文档和用户群&#xff0c;解决的是用户遇到问题或者疑问时&am…

Zebec Protocol:模块化 L3 链 Nautilus Chain,深度拓展流支付体系

过去三十年间&#xff0c;全球金融科技领域已经成熟并迅速增长&#xff0c;主要归功于不同的数字支付媒介的出现。然而&#xff0c;由于交易延迟、高额转账费用等问题愈发突出&#xff0c;更高效、更安全、更易访问的支付系统成为新的刚需。 此前&#xff0c;咨询巨头麦肯锡的一…

基于纵横交叉算法优化的BP神经网络(预测应用) - 附代码

基于纵横交叉算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于纵横交叉算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.纵横交叉优化BP神经网络2.1 BP神经网络参数设置2.2 纵横交叉算法应用 4.测试结果&#xff1a;5…

基于grpc从零开始搭建一个准生产分布式应用(5) - MapStruct传输对象转换

分层设计中上下游间接口调用时&#xff0c;如果接口方法参数很多最好的方式是包装一个对象。但每层都有自己专用的对象&#xff0c;比如vo、bo、po等。在对象转换时需要写大量的getter和setter方法或是用deepCopy简化代码&#xff0c;但无论哪种都少不了大量的代码。 这里我们会…

linux+c+qt杂记

虚拟机网络选择&#xff1b; 桥接模式&#xff1a;设置window宿主机的IP/dns,把虚拟机设置为桥接即可。 切换到终端&#xff1a;我的是 ctrlaltFnF1&#xff1f; 问题解决&#xff1a; Ubuntu系统下载&#xff08;清华大学开源软件镜像站&#xff09;&#xff08;ubuntu-20.…