当前位置:网站首页>【软件工程之美 - 专栏笔记】31 | 软件测试要为产品质量负责吗?
【软件工程之美 - 专栏笔记】31 | 软件测试要为产品质量负责吗?
2022-07-30 04:21:00 【if...else...】
专栏信息
专栏作者:宝玉
专栏发布平台:极客时间

主要内容
因为软件开发是多个环节组成的,从最开始的需求,到后面的设计、开发,每个环节都可能会导致质量问题,而测试只能对已经开发完成的软件产品进行检测,并不能干预整个过程。
那到底谁应该为产品质量负责呢?在回答这个问题之前,你不妨先思考一个更本质的问题:什么是软件产品质量?
一、什么是软件产品质量?
功能质量、代码质量和过程质量这三个方面组合在一起,很好地概括了软件质量。
功能质量
最终用户得到是软件,体验的是软件的功能,功能的质量直接决定了产品的质量。
代码质量
构成软件最重要的部分是代码,代码质量指的是实现软件功能的架构和代码的质量。
过程质量
软件的开发离不开软件工程,离不开项目管理。软件开发过程的质量决定了你的项目是否能如期完成,开发成本是否在预算之内。
二、谁该为产品质量负责?
既然产品质量是由功能质量、代码质量和过程质量共同决定的,那么对产品质量负责,意味着要对这三方面共同负责。
责任和权力是需要对等的,比如说你让开发人员对软件开发过程负责,那么前提是他必须有权力去影响和控制开发过程,否则离开权力谈责任就是耍流氓了。
我觉得如果要排序的话,软件质量的首要负责人是项目负责人,其次是开发人员,然后才是软件测试。
虽然从权责的角度看,项目负责人是最应该对项目质量负责的,但是从效果来说,却是开发人员对项目质量负责最有利。
三、如何做到“人人为产品质量负责”?
只有真正在团队中建立了一种重视产品质量的文化,每个人才会确确实实地对质量负责。
有哪些方法可以帮助团队建立这种“人人都重视产品质量”的文化呢?
- 首先,可以参考敏捷开发中的扁平化管理。
- 其次,可以选择将团队拆小。
- 另外,也可以鼓励工种之间的融合。
- 最后就是制定相应的制度,鼓励大家重视质量。
要做到“人人为产品质量负责”,还是要像上面提到的一样,要落到行动而不是口号上,组织上扁平化、小型化,分工上打破岗位墙,制度上鼓励大家重视质量,才能真正建立重视产品质量的文化,一起把产品的质量提升上去。
四、其他摘抄
- 测试是无法对开发写的代码直接测试的,只能基于软件功能去测试,也就是说对于代码的质量,测试人员其实是没有什么办法的。
- 满足用户需求,是对功能质量最基础的要求。
- 过程质量虽然也是用户不能直接感知的,但是过程质量会直接影响代码质量和功能质量,甚至是产品的成败。
- 开发人员能更容易地找到代码中的 Bug,更容易通过架构设计、自动化测试代码等手段保证好代码质量,提升测试效率。
- 敏捷开发中强调的是:项目的所有人一起为产品质量负责,人人为产品质量负责。
总结
保证软件高质量,并非只是测试人员的责任。软件质量体现在功能质量、代码质量和过程质量这三个方面,对产品质量负责,也意味着要对这三方面共同负责。
边栏推荐
- 高并发框架 Disruptor
- 【驱动】udev设置GPIO加载后所有者、所属组和权限
- 宇宙的尽头是银行?聊聊在银行做软件测试的那些事
- golang中如何比较struct,slice,map是否相等以及几种对比方法的区别
- [Driver] udev aliases each serial port of USB to 4 serial ports
- MySQL 安装报错的解决方法
- RRU、BBU、AAU
- Android Studio 实现登录注册-源代码 (连接MySql数据库)
- 海外多家权威媒体热议波场TRON:为互联网去中心化奠定基础
- Pytorch framework learning record 2 - the use of TensorBoard
猜你喜欢

After 5 years of Ali internship interview~

swagger使用教程——快速使用swagger

2.5快速排序

Shell script basic editing specifications and variables

Redis server启动后会做哪些操作?

MySQL 安装报错的解决方法

sqlmap use tutorial Daquan command Daquan (graphics)

handler+message【消息机制】

Data Lake: Data Integration Tool DataX

The difference between BGP room and ordinary room in Beijing
随机推荐
Android Studio 实现登录注册-源代码 (连接MySql数据库)
Based on all volunteers - H and D1 XR806 rare plant monitoring device
【Redis高手修炼之路】Jedis——Jedis的基本使用
函数的底层机制
MNIST of Dataset: MNIST (handwritten digital image recognition + ubyte.gz file) data set introduction, download, usage (including data enhancement) detailed guide
【Untitled】
QT(39)-vs开发qt程序提示无法打开源文件
JQ source code analysis (environment)
Many overseas authoritative media hotly discuss TRON: laying the foundation for the decentralization of the Internet
BGP的简单实验
Go 学习笔记(84)— Go 项目目录结构
The difference between BGP room and ordinary room in Beijing
Pytorch框架学习记录3——Transform的使用
Pytorch框架学习记录7——卷积层
Unity3D Application模拟进入前后台及暂停
【C语言】程序环境和预处理
WEB 渗透之信息收集
权值线段树+线段树分裂/合并+CF1659D
Shell script basic editing specifications and variables
Detailed transport layer