`
Dustin
  • 浏览: 314538 次
  • 性别: Icon_minigender_1
  • 来自: 广州/成都
社区版块
存档分类
最新评论

测试策略

阅读更多
问题: 
  有一个100层高的大厦,你手中有两个相同的玻璃围棋子。从这个大厦的某一层扔下围棋子就会碎,用你手中的这两个玻璃围棋子,找出一个最优的策略,来得知那个临界层面.

参考答案:

  One drop allows us to test 1 floor.
 
  Two drops can test 3 floors: Test the second floor first. If it breaks, test the first floor with the other ball. If not, test the top floor with either ball.

  Three drops can test 6 floors: Test the third floor first. If it breaks, test the bottom 2 floors in order with the other ball. If not, test the top 3 floors as described above.

  Four drops can test 10 floors: Test the fourth floor first. If it breaks, test the bottom 3 floors in order with the other ball. If not, test the top 6 floors as described above.

  N drops allows you to test the number of floors equal to the sum of 1 to n. Fourteen drops can test 105 floors: Test the fourteenth floor first. If it breaks, test the bottom 13 floors in order with the other ball. If not, test the twenty-seventh floor next (14 3), and so on.

  For any given drop, the number of drops you’ll need after that should be the same if that ball breaks or not (or sometimes they are off by 1 if your total is not an even sum-of-1-to-n).

  The optimum test protocol for 100 floors, then, requires a maximum of 14 drops. The next step is to derive a testing strategy that divides the 100 floors using the series 14+13+12+11+10+9+8+7+6+5+4+3+2+1.

  The best testing strategy starts with a drop from floor 14; then a drop from floor 27 (14+13); then 39 (14+13+12);etc. The full pattern is 14, 27, 39, 50, 60, 69, 77, 84, 90, 95, 99, 100.

  In practice, this series sacrifices the first ball to point to an everdecreasing series of possible target floors. A small number of drops using the second ball then identifies the target floor. Simply go back to the previously tested floor and start working up a floor at a time.
Eventually,you will determine the floor at which the bowling ball shatters.

This is the most efficient testing algorithm.
分享到:
评论

相关推荐

    软件测试策略模板.docx

    软件测试策略是软件开发过程中的重要组成部分,它定义了如何有效地进行测试,以确保产品的质量、性能和稳定性。以下是对“软件测试策略模板.docx”文档的详细解读: 1. **概述** 软件测试策略的概述部分通常会简要...

    系统测试策略模板

    系统测试策略模板 系统测试策略模板是指导测试人员对系统的测试范围、重点和策略进行分析和描述的重要工具。该模板提供了详细的测试策略和设计指南,帮助测试人员更好地理解系统的需求和测试目标。 测试策略的重要...

    软件测试策略,软件测试策略培训文档

    《软件测试策略与培训文档详解》 软件测试是软件开发过程中的重要环节,旨在发现并修复软件中的缺陷,确保软件产品的质量和可靠性。然而,软件测试并非易事,其复杂性体现在多个方面。首先,由于软件可能接受的输入...

    测试流程和测试策略方法说明

    ### 测试流程和测试策略方法说明 #### 一、软件测试生命周期 软件测试生命周期由五个主要阶段组成:测试计划、测试设计、测试开发、测试执行和测试评估。 1. **测试计划** - **分析软件需求**:首先,需要获取或...

    测试策略编写方法

    ### 测试策略编写方法 测试策略是软件测试过程中的关键组成部分,它定义了测试活动的方向、范围、资源分配以及风险管理等内容。一个清晰、全面的测试策略不仅有助于提高测试效率,还能确保测试活动与项目的整体目标...

    性能测试策略的模板

    性能测试策略是确保系统在高负载和压力下稳定运行的关键步骤。以下是对模板中的各个部分的详细解释: 一、引言部分明确了文档的目的和项目背景,旨在为所有参与者提供一个清晰的理解,为什么需要进行性能测试,以及...

    软件性能测试评估模型、测试策略

    ### 软件性能测试评估模型与测试策略详解 #### 一、软件性能测试评估模型 **1. 吞吐率指标(TPS)** 吞吐率(Throughput Rate),通常用TPS(Transactions Per Second)来表示,指的是系统每秒钟能够处理的事务或...

    敏捷开发模式下测试策略

    敏捷开发模式下的测试策略是现代软件开发中的一种关键实践,旨在快速响应市场变化,提高产品质量和团队效率。这种模式强调灵活、迭代的工作方式,测试在其中扮演着至关重要的角色。 一、过程管理角色 在敏捷环境中...

    启发式测试策略模型

    ### 启发式测试策略模型详解 #### 一、引言 启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是一种重要的测试方法论,旨在帮助测试工程师提高测试覆盖度并有效避免遗漏,从而确保产品质量。HTSM由...

    测试策略分类

    测试策略分类 测试策略分类是软件测试中的一种方法,它将测试策略分为静态测试、动态测试、黑盒测试、白盒测试、手工测试、自动测试、冒烟测试等多种类型。这些测试策略的选择取决于软件测试的目标、资源和时间限制...

    CMMI3认证培训 软件集成测试策略和方法.doc

    《CMMI3认证培训:软件集成测试策略和方法》 在软件开发过程中,集成测试是一个至关重要的阶段,它确保各个独立开发的组件能够协同工作,形成一个完整的系统。CMMI(Capability Maturity Model Integration)是软件...

    网络摄像头硬件测试策略.pdf

    在网络摄像头硬件测试策略中,涉及的关键测试知识点包括: 1. 环境测试:这一部分主要涉及摄像头在不同环境下的稳定性和耐久性。具体包括: - 低温工作和存储测试:在-10℃条件下持续工作8小时,在-20℃条件下持续...

    软件测试之测试策略

    软件测试之多模块测试策略,压力测试、阿尔法测试,贝塔测试

    总体测试策略分析表

    测试策略的分享表

    测试策略、方法文档培训资料

    测试策略、方法文档培训资料,非常有用!培训资料!

Global site tag (gtag.js) - Google Analytics