第1章引论 为需求模糊且不具有可测试性,推行敏捷、重视研发效能的研发团队也是难以接受的。模糊的 需求往往意味着返工和浪费,没有可测试性也就意味着无法开展测试。所以,团队按照验收标 准来实现用户故事,以终为始,则是理所当然的。 小结 本章主要讨论下面几个问题: (1)为什么要开展软件测试活动? (2)什么是软件测试? (3)如何理解软件测试? (4)软件测试和质量保证之间有什么关系? (5)软件测试和开发之间有什么关系? 从讨论的结果中得知,没有测试,软件就没有质量;测试没做好,软件问题可能会引起灾 难或给软件企业带来巨大的损失。软件测试是软件质量保证的重要手段之一,是软件开发过 程中不可缺少的部分。软件测试不仅要检验软件是否已正确地实现了产品规格书说明所定义 的系统功能和特性,而且要确认所开发的软件是否满足用户真正需求的活动。软件测试无法 证明软件是正确的,软件总是存在风险的,这就规定了软件测试人员要尽可能地发现软件问 题。从这个意义上看,软件测试是为了发现缺陷,而且要尽早地发现缺陷。 通过对软件测试的风险观点和经济观点的分析,可以更好地理解软件测试。通过V模型 可以更客观地、更准确地描述软件测试和软件开发的关系。软件测试贯穿整个软件生命周期, 和软件开发构成相辅相成的关系。软件测试驱动开发方法再次昭示了测试的重要性,对提高 软件质量、降低软件开发成本有很大帮助。 思考题 1.在你的印象中,是否还有其他实例说明软件问题会造成巨大经济损失或带来社会 灾害? 2.在日常使用软件的过程中,遇到过哪些软件质量问题? 3.谈谈关于软件测试的正反两方面观点所带来的利弊。 4.谈谈软件测试和质量保证之间的联系和区别。 5.软件测试和软件开发的关系是什么?如何更好地利用这种关系? 6.如何看待敏捷方法的TDD思想?在实施Scrum敏捷方法时,测试工作又会面临哪些 新的挑战?