文章目录

  • 从开发者的角度,如何看待提高软件质量
    • 1.需求的导入
    • 2.软件的设计
    • 3.软件的测试
    • 4.项目流程管理
    • 5.BUG产生的类型
    • 6.优质自媒体推荐

从开发者的角度,如何看待提高软件质量

软件质量是产品或服务所满足明示或暗示需求能力的固有特性和特征的集合,软件的质量特性有功能性、可靠性、易用性、可维护性、可移植性。缺陷则指系统所需要实现的某种功能的失效或违背。在某种程度上,缺陷的数量可以用来评价软件的质量,高质量软件往往不会存在太多缺陷。那么在敏捷开发团队中,如何提高软件质量,减少测试轮次呢?

1.需求的导入

一份准确、清晰的需求文档是一个优秀项目的基石,而一个优秀的需求工程师团队更能够直接大幅提升整个项目的效率,甚至能引导整个项目组以最优的路径开发。

好的软件需求要符合以下六个条件:

  • 干净利落

    • 结构清晰,便于阅读,可快速进行索引和定位
  • 简单明确
    • 表述清晰,没有歧义
  • 准确性
    • 确保与上级需求的一致性, 准确,详细且合理
  • 便于测试
    • 每条需求都必须能够直接测试。这里“直接”的意思是需求里描述的信号I/O接口是完备的,是测试设备可以直接控制或者读取的。
  • 可溯源性
    • 所有的软件需求向上必须要连接一条系统需求,向下必须链接一条设计需求。平级必须链接一条HIL测试用例。这就不多说了。一个值得注意的点是,一些具有安全等级ASIL的系统需求,会分解降级为若干个低等级软件需求。我经常在项目中看到某个需求后面标着 “B(D)”, 但是既不知道这是哪个ASIL D需求分解来的,也不知道分解出的另外一个 “B(D)” 需求死哪去了,最后不了了之,这是应该极力避免的。

需求在正式发布前需要经过上级评审和组织内评审

规定明确的变更

2.软件的设计

  • 优秀的架构设计

    • 好的架构能提高编码效率,精准快速定位bug
  • 可追溯性
    • 确保每一条软件需求都被正确实现,并可追溯定位
  • 模型或代码的静态检查
    • 静态检查能保证软件在编译前消除大部分基本和隐藏bug, 提高代码质量
  • 标准的建模和编码规范
    • 标准的建模和编码规范能够提高代码和模型的可读性,消除大部分基本和隐藏bug, 提高代码质量
  • 基于安全的设计
    • 基于安全的考虑,可以设计对应的预防机制
  • 单元或功能模块的自测‘
    • 对模块进行自测能有效避免不必要的BUG

3.软件的测试

  • 重视测试在整个软件生命周期中的重要性

    • 测试是保证软件质量中很重要的一环
  • 基于V字流程图,对不同的需求做对应的测试
  • 编写优秀的测试用例
  • 足够的执行时间
  • 独立的测试环境
  • 独立的测试部门

4.项目流程管理

  • 独立的质量监控和管理部门,管理项目整体进度,推进
  • 项目文件的统一管理,版本控制,推荐SVN
    • 权限管理
    • 修改记录
    • 评审记录
  • 内容上传或发布前必要的评审
  • bug 的精细管理
  • 项目周期的管理

5.BUG产生的类型

  1. 由于需求不明确或歧义产生的
  2. 接口配置错误
  3. 模板配置错误
  4. 软件逻辑错误
  5. 模块使用错误

6.优质自媒体推荐

  • 仨人谈起

    • 微信公众号,分析ASPIC 和功能安全认证,质量保证和测试方法的分享
  • 打浦桥程序员
    • 微信公众号,MATLAB GUI 爱好者,分享工具和编程思想
  • chhttty
    • CSDN, Simulink 代码生成和相关知识分享
  • 斧头帮-帮主
    • Bilibili, C/C++ 基础,详细且专业
  • 冰霜艾斯
    • Bilibili, AI, TensorFlow 知识交流

从开发者的角度,如何看待提高软件质量相关推荐

  1. 从异构软件开发者的角度看异构计算

    越来越多的人正在关注异构计算,为了发表一点个人理解和看法,本文将从一个开发者的角度阐述一下自己的观点.期待大家的批评指正. 异构计算平台 越来越多的主流媒体,出版物都在花时间向大家传递一个信息--异构 ...

  2. 一探B站后台架构, 他山之石, 何以攻玉? -- 仅从一个一线Golang开发者的角度谈B站4.22代码

    4月22日, B站部分后台源代码因为某愤怒的员工, 被上传至Github. 本文我们不讨论安全, 法律, 去恶意攻击或者获利是违法的! 我们工作时也要注意代码安全), 我仅从开发者的角度谈谈, 这份代 ...

  3. 从开发者的角度比较Kubernetes和Cloud Foundry

    [编者的话]本文从一个开发者的角度,对Kubernetes和Cloud Foundry进行了多维度的比较,包括:平台是否类PaaS,支持的容器,管理控制台,命令行接口,零宕机部署,外部负载均衡,内部负 ...

  4. 从开发者的角度分析iOS应如何省电

    从开发者的角度分析iOS应如何省电 说明 网上关于iPhone如何省电的文章很多.但是基本没有讲原理. 而在生活中,很多人在使用iPhone中有着明显的错误的省电习惯. 本文从iOS开发者的角度,对i ...

  5. Git学习系列之Git的功能特性(从一般开发者的角度和主开发者的角度来剖析)...

    Git的功能特性,从一般开发者和主开发者的角度来进行剖析. Git的功能特性: 从一般开发者的角度来看,Git有以下功能: 1.从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上. 2.在自 ...

  6. (转)Facebook如何提高软件质量?

    刘彪是微软测试技术团队的一名软件设计工程师,他在自己的博客上分享了Facebook如何提高软件质量的原则.手段和背后的原因. 在文章开头,刘彪指出: 虽然facebook已经早已不是创业公司,但是不难 ...

  7. 华为HDG苏州站:重体验,创新品 一切从开发者的角度出发

    文/杜美洁 "人间天堂,东方水城",踮脚走在雨中的女子撑着油纸伞,咿咿呀呀的哼唱,小桥.流水.人家--这似乎是很多人对江南苏州的印象.2016年8月27日,HDG华为开发者汇的第五 ...

  8. 图灵奖得主提高软件质量的“魔法”

    清华大学从来不缺"大师",而近日竖立在清华综合体育馆前每幅高约3米的八幅巨大的人像照片,再次刺激了人们的神经. 图注:八位世界级的计算机大师和清华大学校领导一起现身在清华大学综合体 ...

  9. 从移动端开发者的角度聊微软的困境和机会

    0x00 前言 28日周三很高兴参加了微软组织的一个和微软副总裁Julia.开发大神Anders面对面交流的机会,通过这次交流可以看得出为了应对移动互联网的发展,微软想要突破自己.转变自己是十分迫切而 ...

最新文章

  1. Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
  2. Linux服务器编程之:link()函数,ln命令,symlink,readlink,案例说明
  3. [LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字
  4. 中设置colorbar_【值得收藏】如何画出学术论文中需要的各种精美插图,看这一篇就够了!...
  5. jw摄像_Java命令行界面(第17部分):jw-options
  6. fb 4.7英文版 显示行数
  7. vuedraggable示例_vuedraggable快速入门
  8. 170905-MyBatis中的关系映射
  9. python介绍---python工作笔记008
  10. fstab损坏无法开机的修复
  11. 微信小程序——事件绑定
  12. Autosar诊断——故障诊断方案设计
  13. Knol of Fabio Maulo
  14. 大数据告诉你:学历真的能改变命运
  15. string密钥转PrivateKey和PublicKey
  16. Office 2007: 数据有效性使用.
  17. sdutacm- 数据结构实验之排序一:一趟快排
  18. 霍金带你逃离时间的黑洞
  19. 为什么分布式一定要有 Redis?(转自微信公众号文章:GitChat精品课)
  20. Matlab论文插图绘制模板第74期—双对数刻度折线图(Loglog)

热门文章

  1. (接上篇)浮动静态路由主备路径故障倒换实验NQA技术
  2. 数据结构 第三节 第八课
  3. 2020年元旦上海计算机类会议,CARC2020年元旦晚会
  4. LANL Earthquake Prediction收获
  5. java开发网易电话面试 一面总结
  6. 【大咖专栏】Ceph高性能存储:Bcache介绍与使用
  7. 航空燃气涡轮发动机分类
  8. mysql 表的结果作为表_SQL--如何将Sql语句查询出来的结果作为一个表名 再次进行查询...
  9. 原型模式prototype-发送邮件实例
  10. 卸下皮肤和排位,亲近自然,别让游戏成瘾