毫无疑问,bug检查是软件开发流程当中极为重要的一环。在今天的文章中,我们将分享15项关键性提示,旨在帮助软件彻底告别bug困扰。
1. 设计用于创建及维护规范及数据库交叉引用索引的工具。建立此类索引应当作为各个项目内QA功能的必要组成部分。
2. 建立一项术语词汇表标准。为各个项目创建一套词汇表,并交由设计师进行审查。
3. 检查主交叉引用以确保设计师的意图与该规范相符。确定规范、设计与数据库彼此之间及内部不存在歧义与矛盾。
4. 建立基于主交叉引用的非正式审查程序。与管理人员就此项审查中的公开及保密目标达成一致。
5. 选择并培训拥有设计经验且自身关于处理审查工作的员工,并为其提供免审查权。
6. 确保管理层理解、批准、赞赏并奖励使用各类间接方法所取得的成效。
7. 预先在各个项目中确定由谁负责设计及执行系统层面功能测试,并正式批准该项测试。如果认为某两项测试设计可以合并或者应当拆分,则应在进行调整前获得批准。
8. 为正式系统测试设计并实施一项标准或者验收规划文档。在其中定义全部永久性要求及其内容,定义测试设计标准与约定、数据库测试标准与约定、汇总表、测试表、输入准备与定义以及状态报告等等。
9. 确定将要使用的全部测试工具(硬件与软件)皆得到对应修改,或者根据项目要求进行购买。投入充足时间以规划具体时间以及预算成本,用于获取这些必要工具。
10. 建议在保证质量的前提下对测试工具进行集中采购、修改与开发,从而减少为不同项目重新设计测试工具的情况,同时随时间推移建立起一套愈发精巧且高效的工具资源库。
11. 建立明确的测试结构,例如组、子组、测试与子测试。定义一套广泛的结构组以涵盖全部项目中的各类组与子组。面向全部组开发出一级与二级轮廓(子组,测试),从而建立起符合验收测试或者系统测试需求的主干骨架。根据不同项目重新定义这一结构轮廓,并最终建立起一套足以支持任何测试计划的测试规划库。正如设计师们倾向于在不同项目间使用同样的功能代码,大家也应重视测试机制的可复用性。
12. 对于每个项目,根据需要实施的子测试数量进行系统测试与验收测试人力及资金成本核算。得到管理层同意以为测试工作筹备充足的时间与资金,同时与客户沟通以确保拟定的测试范围已经能够充分涵盖当前项目需求。随着开发进行,逐步建立选择性淘汰机制。
13. 尽早确定正式测试工作的参与人员,在工作中引入来自QA与客户方面的成员。获取全部必要性消耗品及其它资源与设施,并将其部署至测试体系之内。在终端申请时准备好充足的余量,这能够让实际测试工作推进得更为顺畅。
14. 在特定百分比的子测试成功通过之后,立足子测试层级与当前系统条件进行增量性验收确认,并将此作为整体测试获得全面成功的基础性前提。
15. 提前准备全部测试文档、脚本、评分与相关文件,一式三份。确保全部文件与程序皆进行充足备份。
原文标题:15 Tips for Making Software 100% Bug Free 原文作者:Rohit Sharma
译文:51CTO