上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.5 测试与调试
软件测试是在未知错误的情况下,为检出错误所做的努力。软件调试是在已知错误或通过推测能够识别错误的情况下,发现、分析、修正错误,剔除失效根源的过程活动。其包括软硬件匹配、功能调整、性能调优、集成优化等工作。直到今天,测试与调试混同,重开发、轻测试,重调试、轻测试现象普遍存在。这是一种轻视质量的行为。开发与测试对立是根本性的。软件测试,成也萧何,败也萧何!
开发人员往往存在自我主观认同感,自我迷信,往往不会基于测试角度,以逆向思维方式分析和思考问题,难以发现自己所开发软件中存在的问题,更有甚者,忽视开发规范,忽视测试性设计,不希望自己开发的软件被别人发现错误,对自己的错误视而不见或拒绝承认。自测试过程中,发现错误的概率尤其是发现自身错误的概率相对较小,为了“程序正确”的自测试,可以休矣!为了达到测试目的,在编码实现阶段,应强化单元测试,倡导双人编程,这也正是结对编程不断受到推崇的根本原因;在集成测试、配置项测试、系统测试阶段,弱化自测试,推行交叉测试,强化三方测试,是测试独立、质量独立的基本观念。
深刻理解和正确认识软件测试和调试的概念、目的、流程和方法,采用问题代码片段引用及扫描结果截图等方式描述问题,提供问题描述的客观证据,减少二义性描述,增加沟通的可视性,有利于问题的分析处理,有利于二者的融合互进。基于全程测试及质量管理要求,推进测试左移与右看实践,实现团队诊断、敏捷度量、流程敏捷、文档敏捷、创新组织治理,是推进基于测试驱动的软件质量工程创新的基础实践。