提高软件开发效率的最有效手段就是一次做对,一次做好,不返工,追求交付零缺陷的目标。“对”就是没有错误,符合需求,“好”就是没有坏味道,易于修改。“做对”保证了产品的外部质量,“做好”保证了产品的内部质量,这样就可以减少软件缺陷、需求变更带来的返工。返工可能发生在生命周期的早期,也可能发生在后期,或者是交付以后,缺陷越早发现,越早解决,返工的工作量越少。有哪些手段可以保证不犯错,少犯错,及时纠错呢?

1需求阶段

需求调研:

要访谈客户、最终用户与间接用户;

要访谈高层、中层与底层的用户;

要准备好问题单;

采用原型法启发客户需求;

需求描述:

用户故事描述用户需求;

采用用例法描述功能需求;

当用户无法提出非功能性需求时,定义定义非功能性需求的缺省值;

需求确认:

采用多种方法确认需求;

采用需求交底、逆向培训、现场客户等方法确保需求沟通的一致性;

建立需求沟通的平台,确保需求的沟通能传递到每个相关人员;

在需求阶段开始编写系统测试用例,验证需求的可测试性;

建立需求与设计、代码、测试用例之间的跟踪关系;

用户、开发、测试人员参与需求的评审;

需求变更:

基于RTM进行需求变更的影响分析;

需求的变更要通知到相关人员;

对于需求的变更采用结对修改的方法;

人员:

对需求人员进行需求工程的专题培训,要求需求人员掌握需求工程的基本知识,具备基本的技能。

2设计阶段

需求理解:

和需求人员对需求的理解达成一致;

对需求的拆分、细化,功能的设计要得到需求人员的认可;

设计:

要建立设计到需求的跟踪矩阵,确保设计的完备性;

采用结对设计的方法确保设计的正确性;

需求、设计、开发人员对设计进行技术评审,识别设计中的缺陷;

对设计人员进行培训、上岗资格认证,要求设计人员掌握架构设计、设计原则、设计模式、数据库设计、界面设计的方法;

建立评价设计优劣的准则,包括类的设计、算法设计、数据库设计、界面设计的准则;

对于非功能性需求给出缺省的解决方案;

在设计中采用设计模式提高设计的合理性;

对于界面的设计尽早进行确认;

接口测试要早设计、早实现、早测试;

3编码阶段

和需求人员对需求的理解达成一致;

和设计人员对设计的理解达成一致;

在写代码之前先做了详细设计,对详细设计做了评审;

结对编程;

测试驱动的开发;

按照编码规范进行编码;

代码的静态检查;

代码评审;

持续集成;

代码重构;

编码人员要掌握常用的设计模式、重构的手法;

4测试阶段

测试人员参与需求评审,需求人员参与测试用例的评审;

建立测试用例与需求之间的映射关系,追求需求场景的覆盖率;

集成测试用例覆盖每一个接口的输入参数的每种等价类;

定义用例编写规范:

?用例应覆盖正常操作、异常操作、边界条件

?用例应该覆盖客户操作场景的各种等价类

?每个用例应该详细描述出输入、操作步骤、期望的输出

?区分不同的专项测试制定用例编写规范

?坚持执行失效模式分析

定义质量目标,并努力达成质量目标:

? 每千行代码的平均测试工作量;

? 每千行代码测试用例的个数;

? 每千行代码发现的缺陷个数;

在客户各种可能的使用环境中进行测试,专人负责测试环境的维护;

针对非功能需求进行测试策略的设计;

先设计测试要点再设计测试用例;

非功能性需求要尽早测试;

先进行冒烟测试,再执行正式的测试;

定义测试结束的量化标准,定义软件交付的最低标准;

针对共性的需求建立复用用例库,每次测试时从中挑选用例,然后再补充完善用例;

尽可能模拟客户的环境进行软件的测试,应进行测试环境的组合设计。

如何减少返工工作量?相关推荐

  1. 软件测试项目,资深测试经验:快速迭代的项目如何减少返工......

    目录:导读 前言 一.概述 二.立项后 三.需求分析阶段 四.设计阶段 五.编码阶段 六.代码走读 七.提测后 八.总结 前言 是人就是要无的,是机器就是会坏的,是程序就是要出bug的. 真的勇士,就 ...

  2. 接口测试要测试什么?怎么测?我来告诉你

    目录 本文主要分为两个部分: 第一部分: 第二部分: 备注: 本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系 第二部分:主要 ...

  3. 干部人事档案综合管理系统软件

    专久智能干部人事档案综合管理系统是一款功能强大的人事档案管理软件,适用于机关企事业单位.学校.医院等的信息科.档案室等档案管理部门,对党员.干部.职工的人事档案信息进行采集.管理.专项审核工作. 干部 ...

  4. 自动化脚本搭建和入门编写需要注意的几个点,大大减少需要返工的时间

    前言 搭建自动化测试框架以及代码的编写,很多时候都是摸着石头过河,但是有几个小点可以一开始就考虑好,这样能减少后续重新修改代码的机率. 确定基础测试框架 基础框架的选择非常重要,值得慎重去选择,需要根 ...

  5. 微信服务商快速进件,商户自己提交资料,减少工作量

    大家好,我是小悟 用好技术,让经营更高效.为了减少服务商工作量,移动端服务商进件来了,分为移动端和管理端. 移动端 包括四大模块,主体资料.经营资料.法人资料和银行账户. 点击顶部步骤条可以切换,进入 ...

  6. 怎样在减少数据中心成本的同时不牺牲性能?

    2019独角兽企业重金招聘Python工程师标准>>> 导读 虽然组织对数据中心提出了更高的要求,但IT管理人员确实有办法在严格的预算内展开工作.如今,组织认为即使性能预期不断提高, ...

  7. db设计专用excel_独家|自卸车如何实现侧板结构快速设计,减少重复工作?

    作者| 张凯 汉阳专用汽车研究所科研技术部工程师 主要从事专用汽车产品结构仿真与轻量化 随着城市发展的步伐不断加快,适用于各种工况的自卸车.城市渣土车市场需求量不断增大. 目前市场自卸车车厢主要有两种 ...

  8. 9类人事管理场景应用,泛微协助HR释放更多工作量

    人事管理数字化是大势所趋: 组织处在不断发展变化的大环境之中,竞争格外激烈,人力资源日益成为组织竞争优势的关键所在.改变传统人事管理模式,推进人事管理数字化变革,把传统的人事管理事务统一到一个平台,从 ...

  9. 微软CEO发话:今年停止加薪并减少奖金,网友:总比失业好!

    整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 5 月 10 日,据 CNBC (美国消费者新闻与商业频道)报道 ,微软 CEO Satya Nadella 的一封电子邮件 ...

最新文章

  1. MAC OSX10.9.2上搭建Apache,php
  2. SAP用户信息查询的几张表
  3. how is Fiori launchpad host name and port number determine
  4. 如何让两个线程交替打印整数1-100?你的答案呢?
  5. NB-IoT/LoRa是新技术?其实30年前就已经出现了
  6. 关于jq easyui 刷新tabs的问题
  7. 福布斯牛人×××先生的两个概念
  8. VC++如何根据进程名获取进程ID
  9. springboot菜鸟入门
  10. Ubuntu 定时锁屏改进
  11. navicat 连接oracle的配置
  12. pick_types()函数及参数 meg eeg stim eog ecg
  13. 小南迎宾机器人使用说明
  14. FastStone Capture——集截屏、滚动截图、录屏、图片编辑为一体轻量级截图软件
  15. 西安市版权申请代理公司怎么选,哪些类型作品受版权保护?
  16. 【算法学习笔记】67.状态压缩 DP SJTU OJ 1383 畅畅的牙签袋
  17. Python办公自动化之Word文档自动化:全网最全,看这一篇就够了!
  18. 用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程
  19. 图的基本概念、握手定理、Havel定理
  20. 食品安全大数据可视化关联分析

热门文章

  1. 华为nova5pro怎样把计算机放到快捷,华为nova5pro快捷键怎么设置
  2. python颜色表_Python:数据可视化,必须注意的30个小技巧
  3. ubuntu下的常见12个命令---欢迎补充
  4. 人脸检测之Haar分类器方法
  5. 测试用例,怎么写 ?
  6. 月薪7500的软件测试,是个什么工作状态
  7. python django博客源码_利用Django实现一个博客(附全部源码)
  8. python xml etree_使用Python etree更新XML元素和属性值
  9. 栈溢出脚本_污点分析挖掘漏洞演示——如何在8小时内从零发现cve20120158(word溢出漏洞)...
  10. 小程序api 分享scene_抛弃微信小程序API的嵌套回调吧!