微软Bing项目中的探索性测试实践

需积分: 0 3 下载量 173 浏览量 更新于2024-07-30 收藏 1.08MB PDF 举报
“exploratory testing in microsoft/bing” 在微软的Bing搜索引擎项目中,探索性测试(Exploratory Testing)被广泛应用以发现潜在的缺陷和改进产品。探索性测试是一种集学习、测试设计和执行于一体的动态测试方法,强调测试人员在实际操作中不断学习和调整测试策略。这种方法由James Bach提出并阐述,他强调了探索性测试的即时性和灵活性,它允许测试者在执行过程中根据新的发现或理解修改测试计划。 自动化测试在探索性测试中的角色不是简单的自动执行预定义的测试用例,而是作为计算机辅助测试(Computer-Assisted Testing)。Cem Kaner指出,自动化测试并不意味着完全由机器接管,而是利用工具来增强和扩展测试能力。例如,在高容量测试自动化中,可以使用自动化工具来处理大量测试,但仍然需要人类的判断力来确定测试结果的有效性。 Doug Hoffman提出的启发式测试 oracle概念,是自动化测试中的一种实用策略。启发式oracle不追求对所有输入都给出精确结果,而是对一部分输入提供确切答案,而对其他输入则采用简单的一致性检查(即启发式规则)。这种方法在处理复杂或不确定性的系统时特别有用,因为它允许测试者在没有全面了解系统行为的情况下也能评估软件表现。 这些想法的重要性在于,如果能够创建、执行并评估数量庞大的测试用例(如“scillion”这个数量级,即极大的数量),那么这将极大地改变我们的测试策略。软件测试可以被看作是一场游戏,目标是找出软件“应该做什么”与“实际上做了什么”之间的差距。通过大量测试,我们可以更深入地理解软件的行为,从而发现那些价值可能高达$50的计算错误或问题。 在Bing项目中,探索性测试结合自动化工具的应用,不仅提升了测试效率,也增强了测试的质量。测试人员可以利用自动化手段快速执行大量测试,同时保持探索性测试的灵活性,以适应搜索引擎这样复杂且快速变化的系统。这种测试方法帮助团队在项目中发现和修复了大量bug,确保了Bing的稳定性和用户体验。